com.netscape.cms.policy.extensions
Class GenericASN1Ext

java.lang.Object
  extended by com.netscape.cms.policy.APolicyRule
      extended by com.netscape.cms.policy.extensions.GenericASN1Ext
All Implemented Interfaces:
IExtendedPluginInfo, IEnrollmentPolicy, IPolicyRule, IPolicy

public class GenericASN1Ext
extends APolicyRule
implements IEnrollmentPolicy, IExtendedPluginInfo

Private Integer extension policy. If this policy is enabled, it adds an Private Integer extension to the certificate. The following listed sample configuration parameters: ca.Policy.impl.privateInteger.class=com.netscape.certsrv.policy.genericASNExt ca.Policy.rule.genericASNExt.enable=true ca.Policy.rule.genericASNExt.name=myIntegerExtension ca.Policy.rule.genericASNExt.pattern={{{12}34}5} ca.Policy.rule.genericASNExt.oid=280.230.123.1234.1 ca.Policy.rule.genericASNExt.critical=false ca.Policy.rule.genericASNExt.attribute1.type=integer ca.Policy.rule.genericASNExt.attribute1.source=value ca.Policy.rule.genericASNExt.attribute1.value=9999 ca.Policy.rule.genericASNExt.attribute2.type=ia5string ca.Policy.rule.genericASNExt.attribute2.source=value ca.Policy.rule.genericASNExt.attribute2.value=hello ca.Policy.rule.genericASNExt.attribute3.type=octetstring ca.Policy.rule.genericASNExt.attribute3.source=value ca.Policy.rule.genericASNExt.attribute3.value=hellohello ca.Policy.rule.genericASNExt.attribute4.type=octetstring ca.Policy.rule.genericASNExt.attribute4.source=file ca.Policy.rule.genericASNExt.attribute4.value=c:/tmp/test.txt ca.Policy.rule.genericASNExt.attribute5.type= ca.Policy.rule.genericASNExt.attribute5.source= ca.Policy.rule.genericASNExt.attribute5.value= ca.Policy.rule.genericASNExt.implName=genericASNExt ca.Policy.rule.genericASNExt.predicate=

Version:
$Revision: 14561 $, $Date: 2007-05-01 10:28:56 -0700 (Tue, 01 May 2007) $

Field Summary
protected static int MAX_ATTR
           
 IConfigStore mConfig
           
protected static java.lang.String PROP_ATTRIBUTE
           
protected static java.lang.String PROP_CRITICAL
           
protected static java.lang.String PROP_ENABLE
           
protected static java.lang.String PROP_NAME
           
protected static java.lang.String PROP_OID
           
protected static java.lang.String PROP_PATTERN
           
protected static java.lang.String PROP_PREDICATE
           
protected static java.lang.String PROP_SOURCE
           
protected static java.lang.String PROP_TYPE
           
protected static java.lang.String PROP_VALUE
           
 
Fields inherited from class com.netscape.cms.policy.APolicyRule
DESC, mFilterExp, mInstanceName, mLogger, NAME
 
Fields inherited from interface com.netscape.certsrv.policy.IPolicyRule
PROP_IMPLNAME
 
Fields inherited from interface com.netscape.certsrv.base.IExtendedPluginInfo
HELP_TEXT, HELP_TOKEN
 
Constructor Summary
GenericASN1Ext()
           
 
Method Summary
 PolicyResult apply(IRequest req)
          If this policy is enabled, add the private Integer information extension to the certificate.
 java.util.Vector getDefaultParams()
          Return default parameters for a policy implementation.
 java.lang.String[] getExtendedPluginInfo(java.util.Locale locale)
          This method returns an array of strings.
 java.util.Vector getInstanceParams()
          Return configured parameters for a policy rule instance.
 void init(ISubsystem owner, IConfigStore config)
          Initializes this policy rule.
protected  netscape.security.extensions.GenericASN1Extension mkExtension()
          Construct GenericASN1Extension with value from CMS.cfg
 
Methods inherited from class com.netscape.cms.policy.APolicyRule
agentApproved, createKeyIdentifier, deferred, formSHA1KeyId, formSpkiSHA1KeyId, getDescription, getInstanceName, getName, getPredicate, log, setError, setError, setError, setInstanceName, setPolicyException, setPolicyException, setPredicate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.netscape.certsrv.policy.IPolicyRule
getDescription, getInstanceName, getName, getPredicate, setError, setInstanceName, setPolicyException, setPredicate
 

Field Detail

MAX_ATTR

protected static final int MAX_ATTR
See Also:
Constant Field Values

PROP_CRITICAL

protected static final java.lang.String PROP_CRITICAL
See Also:
Constant Field Values

PROP_NAME

protected static final java.lang.String PROP_NAME
See Also:
Constant Field Values

PROP_OID

protected static final java.lang.String PROP_OID
See Also:
Constant Field Values

PROP_PATTERN

protected static final java.lang.String PROP_PATTERN
See Also:
Constant Field Values

PROP_ATTRIBUTE

protected static final java.lang.String PROP_ATTRIBUTE
See Also:
Constant Field Values

PROP_TYPE

protected static final java.lang.String PROP_TYPE
See Also:
Constant Field Values

PROP_SOURCE

protected static final java.lang.String PROP_SOURCE
See Also:
Constant Field Values

PROP_VALUE

protected static final java.lang.String PROP_VALUE
See Also:
Constant Field Values

PROP_PREDICATE

protected static final java.lang.String PROP_PREDICATE
See Also:
Constant Field Values

PROP_ENABLE

protected static final java.lang.String PROP_ENABLE
See Also:
Constant Field Values

mConfig

public IConfigStore mConfig
Constructor Detail

GenericASN1Ext

public GenericASN1Ext()
Method Detail

getExtendedPluginInfo

public java.lang.String[] getExtendedPluginInfo(java.util.Locale locale)
Description copied from interface: IExtendedPluginInfo
This method returns an array of strings. Each element of the array represents a configurable parameter, or some other meta-info (such as help-token) there is an entry indexed on that parameter name ;[,required];;... Where: type_info is either 'string', 'number', 'boolean', 'password' or 'choice(ch1,ch2,ch3,...)' If the marker 'required' is included after the type_info, the parameter will has some visually distinctive marking in the UI. 'description' is a short sentence describing the parameter 'choice' is rendered as a drop-down list. The first parameter in the list will be activated by default 'boolean' is rendered as a checkbox. The resulting parameter will be either 'true' or 'false' 'string' allows any characters 'number' allows only numbers 'password' is rendered as a password field (the characters are replaced with *'s when being types. This parameter is not passed through to the plugin. It is instead inserted directly into the password cache keyed on the instance name. The value of the parameter 'bindPWPrompt' (see example below) is set to the key. In addition to the configurable parameters, the following magic parameters may be defined: HELP_TOKEN;helptoken - a pointer to the online manual section for this plugin HELP_TEXT;helptext - a general help string describing the plugin For example: "username;string;The username you wish to login as" "bindPWPrompt;password;Enter password to bind as above user with" "algorithm;choice(RSA,DSA);Which algorithm do you want to use" "enable;boolean;Do you want to run this plugin" "port;number;Which port number do you want to use"

Specified by:
getExtendedPluginInfo in interface IExtendedPluginInfo

init

public void init(ISubsystem owner,
                 IConfigStore config)
          throws EBaseException
Initializes this policy rule.

The entries may be of the form: ca.Policy.rule..implName=genericASNExt ca.Policy.rule..enable=true ca.Policy.rule..predicate=

Specified by:
init in interface IPolicyRule
Specified by:
init in class APolicyRule
Parameters:
config - The config store reference
Throws:
EBaseException

apply

public PolicyResult apply(IRequest req)
If this policy is enabled, add the private Integer information extension to the certificate.

Specified by:
apply in interface IPolicyRule
Specified by:
apply in interface IPolicy
Specified by:
apply in class APolicyRule
Parameters:
req - The request on which to apply policy.
Returns:
The policy result object.

mkExtension

protected netscape.security.extensions.GenericASN1Extension mkExtension()
                                                                 throws java.io.IOException,
                                                                        EBaseException,
                                                                        java.text.ParseException
Construct GenericASN1Extension with value from CMS.cfg

Throws:
java.io.IOException
EBaseException
java.text.ParseException

getInstanceParams

public java.util.Vector getInstanceParams()
Return configured parameters for a policy rule instance.

Specified by:
getInstanceParams in interface IPolicyRule
Specified by:
getInstanceParams in class APolicyRule
Returns:
nvPairs A Vector of name/value pairs.

getDefaultParams

public java.util.Vector getDefaultParams()
Return default parameters for a policy implementation.

Specified by:
getDefaultParams in interface IPolicyRule
Specified by:
getDefaultParams in class APolicyRule
Returns:
nvPairs A Vector of name/value pairs.