com.netscape.cms.policy.extensions
Class KeyUsageExt
java.lang.Object
com.netscape.cms.policy.APolicyRule
com.netscape.cms.policy.extensions.KeyUsageExt
- All Implemented Interfaces:
- IExtendedPluginInfo, IEnrollmentPolicy, IPolicyRule, IPolicy
public class KeyUsageExt
- extends APolicyRule
- implements IEnrollmentPolicy, IExtendedPluginInfo
Policy to add Key Usage Extension.
Adds the key usage extension based on what's requested.
- Version:
- $Revision: 14561 $, $Date: 2007-05-01 10:28:56 -0700 (Tue, 01 May 2007) $
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 |
DEF_BITS
protected static final boolean[] DEF_BITS
mCAPathLen
protected int mCAPathLen
mConfig
protected IConfigStore mConfig
PROP_CRITICAL
protected static final java.lang.String PROP_CRITICAL
- See Also:
- Constant Field Values
PROP_DIGITAL_SIGNATURE
protected static final java.lang.String PROP_DIGITAL_SIGNATURE
- See Also:
- Constant Field Values
PROP_NON_REPUDIATION
protected static final java.lang.String PROP_NON_REPUDIATION
- See Also:
- Constant Field Values
PROP_KEY_ENCIPHERMENT
protected static final java.lang.String PROP_KEY_ENCIPHERMENT
- See Also:
- Constant Field Values
PROP_DATA_ENCIPHERMENT
protected static final java.lang.String PROP_DATA_ENCIPHERMENT
- See Also:
- Constant Field Values
PROP_KEY_AGREEMENT
protected static final java.lang.String PROP_KEY_AGREEMENT
- See Also:
- Constant Field Values
PROP_KEY_CERTSIGN
protected static final java.lang.String PROP_KEY_CERTSIGN
- See Also:
- Constant Field Values
PROP_CRL_SIGN
protected static final java.lang.String PROP_CRL_SIGN
- See Also:
- Constant Field Values
PROP_ENCIPHER_ONLY
protected static final java.lang.String PROP_ENCIPHER_ONLY
- See Also:
- Constant Field Values
PROP_DECIPHER_ONLY
protected static final java.lang.String PROP_DECIPHER_ONLY
- See Also:
- Constant Field Values
mCritical
protected boolean mCritical
mDigitalSignature
protected java.lang.String mDigitalSignature
mNonRepudiation
protected java.lang.String mNonRepudiation
mKeyEncipherment
protected java.lang.String mKeyEncipherment
mDataEncipherment
protected java.lang.String mDataEncipherment
mKeyAgreement
protected java.lang.String mKeyAgreement
mKeyCertsign
protected java.lang.String mKeyCertsign
mCrlSign
protected java.lang.String mCrlSign
mEncipherOnly
protected java.lang.String mEncipherOnly
mDecipherOnly
protected java.lang.String mDecipherOnly
mKeyUsage
protected netscape.security.x509.KeyUsageExtension mKeyUsage
KeyUsageExt
public KeyUsageExt()
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=KeyUsageExt
ca.Policy.rule..enable=true
ca.Policy.rule..
- 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)
- Adds the key usage extension if not set already.
(CRMF, agent, authentication (currently) or PKCS#10 (future)
or RA could have set the extension.)
If not set, set from http input parameters or use default if
no http input parameters are set.
Note: this allows any bits requested - does not check if user
authenticated is allowed to have a Key Usage Extension with
those bits. Unless the CA's certificate path length is 0, then
we do not allow CA sign or CRL sign bits in any request.
- 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.
applyCert
public PolicyResult applyCert(IRequest req,
netscape.security.x509.X509CertInfo certInfo)
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.
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
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.