com.netscape.cms.profile.def
Class EnrollDefault

java.lang.Object
  extended by com.netscape.cms.profile.def.EnrollDefault
All Implemented Interfaces:
ICertInfoPolicyDefault, IPolicyDefault, IConfigTemplate
Direct Known Subclasses:
AuthTokenSubjectNameDefault, AutoAssignDefault, CAEnrollDefault, CAValidityDefault, EnrollExtDefault, ImageDefault, nsHKeySubjectNameDefault, nsNKeySubjectNameDefault, nsTokenDeviceKeySubjectNameDefault, nsTokenUserKeySubjectNameDefault, SigningAlgDefault, SubjectNameDefault, UserKeyDefault, UserSigningAlgDefault, UserSubjectNameDefault, UserValidityDefault, ValidityDefault

public abstract class EnrollDefault
extends java.lang.Object
implements IPolicyDefault, ICertInfoPolicyDefault

This class implements an enrollment default policy.

Version:
$Revision: 1520 $, $Date: 2010-11-17 11:52:43 -0800 (Wed, 17 Nov 2010) $

Field Summary
static java.lang.String GN_ANY_NAME
           
static java.lang.String GN_DIRECTORY_NAME
           
static java.lang.String GN_DNS_NAME
           
static java.lang.String GN_EDI_NAME
           
static java.lang.String GN_IP_NAME
           
static java.lang.String GN_OID_NAME
           
static java.lang.String GN_RFC822_NAME
           
static java.lang.String GN_URI_NAME
           
protected  IConfigStore mConfig
           
protected  java.util.Vector mConfigNames
           
protected  java.util.Vector mValueNames
           
static java.lang.String PROP_NAME
           
 
Constructor Summary
EnrollDefault()
           
 
Method Summary
 void addConfigName(java.lang.String name)
           
protected  void addExtension(java.lang.String name, netscape.security.x509.Extension ext, netscape.security.x509.X509CertInfo info)
           
 void addValueName(java.lang.String name)
           
protected  java.lang.String buildRecords(java.util.Vector recs)
           
protected  void deleteExtension(java.lang.String name, netscape.security.x509.X509CertInfo info)
           
protected  java.lang.StringBuffer escapeValueRfc1779(java.lang.String v, boolean doubleEscape)
           
protected  boolean getBoolean(java.lang.String value)
           
 byte[] getBytes(java.lang.String string)
          Converts string containing pairs of characters in the range of '0' to '9', 'a' to 'f' to an array of bytes such that each pair of characters in the string represents an individual byte
 java.lang.String getConfig(java.lang.String name)
          Retrieves configuration parameter by name.
protected  boolean getConfigBoolean(java.lang.String value)
           
 IDescriptor getConfigDescriptor(java.util.Locale locale, java.lang.String name)
          Returns the descriptors of configuration parameter.
protected  int getConfigInt(java.lang.String value)
           
 java.util.Enumeration getConfigNames()
          Returns a list of configuration parameter names.
 IConfigStore getConfigStore()
          Retrieves the configuration store of this default.
protected  netscape.security.x509.Extension getExtension(java.lang.String name, netscape.security.x509.CertificateExtensions exts)
           
protected  netscape.security.x509.Extension getExtension(java.lang.String name, netscape.security.x509.X509CertInfo info)
           
protected  java.lang.String getGeneralNameType(netscape.security.x509.GeneralName gn)
           
protected  java.lang.String getGeneralNameValue(netscape.security.x509.GeneralName gn)
           
protected  int getInt(java.lang.String value)
           
 java.util.Locale getLocale(IRequest request)
           
 java.lang.String getName(java.util.Locale locale)
          Retrieves the localizable name of this policy.
abstract  java.lang.String getText(java.util.Locale locale)
          Retrieves the localizable description of this policy.
 java.lang.String getValue(java.lang.String name, java.util.Locale locale, IRequest request)
          Retrieves the value of the given value property by name.
abstract  java.lang.String getValue(java.lang.String name, java.util.Locale locale, netscape.security.x509.X509CertInfo info)
          Retrieves certificate template values and returns them to the approval page.
 IDescriptor getValueDescriptor(java.lang.String name)
           
 java.util.Enumeration getValueNames()
          Retrieves a list of names of the property.
 void init(IProfile profile, IConfigStore config)
          Initializes this default policy.
protected  boolean isGeneralNameType(java.lang.String nameType)
           
protected  boolean isGeneralNameValid(java.lang.String name)
           
protected  boolean isOptional(java.lang.String value)
           
 boolean isValidOID(java.lang.String oid)
          Check if a object identifier in string form is valid, that is a string in the form n.n.n.n and der encode and decode-able.
protected  java.lang.String mapPattern(IRequest request, java.lang.String pattern)
           
protected  netscape.security.x509.GeneralNameInterface parseGeneralName(java.lang.String name)
           
protected  netscape.security.x509.GeneralNameInterface parseGeneralName(java.lang.String nameType, java.lang.String nameValue)
           
protected  java.util.Vector parseRecords(java.lang.String value)
           
 void populate(IRequest request)
          Populates the request with this policy default.
abstract  void populate(IRequest request, netscape.security.x509.X509CertInfo info)
          Populates attributes into the certificate template.
protected  void refreshConfigAndValueNames()
           
protected  void replaceExtension(java.lang.String name, netscape.security.x509.Extension ext, netscape.security.x509.X509CertInfo info)
           
 void setConfig(java.lang.String name, java.lang.String value)
          Sets configuration parameter.
 void setValue(java.lang.String name, java.util.Locale locale, IRequest request, java.lang.String value)
          Sets the value of the given value property by name.
abstract  void setValue(java.lang.String name, java.util.Locale locale, netscape.security.x509.X509CertInfo info, java.lang.String value)
          Sets values from the approval page into certificate template.
 java.lang.String toGeneralNameString(netscape.security.x509.GeneralName gn)
           
 java.lang.String toHexString(byte[] data)
           
 
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.profile.IPolicyDefault
getValueDescriptor
 

Field Detail

PROP_NAME

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

GN_RFC822_NAME

public static final java.lang.String GN_RFC822_NAME
See Also:
Constant Field Values

GN_DNS_NAME

public static final java.lang.String GN_DNS_NAME
See Also:
Constant Field Values

GN_URI_NAME

public static final java.lang.String GN_URI_NAME
See Also:
Constant Field Values

GN_IP_NAME

public static final java.lang.String GN_IP_NAME
See Also:
Constant Field Values

GN_DIRECTORY_NAME

public static final java.lang.String GN_DIRECTORY_NAME
See Also:
Constant Field Values

GN_EDI_NAME

public static final java.lang.String GN_EDI_NAME
See Also:
Constant Field Values

GN_ANY_NAME

public static final java.lang.String GN_ANY_NAME
See Also:
Constant Field Values

GN_OID_NAME

public static final java.lang.String GN_OID_NAME
See Also:
Constant Field Values

mConfig

protected IConfigStore mConfig

mConfigNames

protected java.util.Vector mConfigNames

mValueNames

protected java.util.Vector mValueNames
Constructor Detail

EnrollDefault

public EnrollDefault()
Method Detail

getConfigNames

public java.util.Enumeration getConfigNames()
Description copied from interface: IConfigTemplate
Returns a list of configuration parameter names.

Specified by:
getConfigNames in interface IConfigTemplate
Returns:
parameter names

getConfigDescriptor

public IDescriptor getConfigDescriptor(java.util.Locale locale,
                                       java.lang.String name)
Description copied from interface: IConfigTemplate
Returns the descriptors of configuration parameter.

Specified by:
getConfigDescriptor in interface IConfigTemplate
Parameters:
locale - user locale
name - configuration parameter name
Returns:
descriptor

addConfigName

public void addConfigName(java.lang.String name)

setConfig

public void setConfig(java.lang.String name,
                      java.lang.String value)
               throws EPropertyException
Description copied from interface: IConfigTemplate
Sets configuration parameter.

Specified by:
setConfig in interface IConfigTemplate
Parameters:
name - parameter name
value - parameter value
Throws:
EPropertyException - failed to set parameter

getConfig

public java.lang.String getConfig(java.lang.String name)
Description copied from interface: IConfigTemplate
Retrieves configuration parameter by name.

Specified by:
getConfig in interface IConfigTemplate
Returns:
parameter

init

public void init(IProfile profile,
                 IConfigStore config)
          throws EProfileException
Description copied from interface: IPolicyDefault
Initializes this default policy.

Specified by:
init in interface IPolicyDefault
Parameters:
profile - owner of this default policy
config - configuration store for this default
Throws:
EProfileException - failed to initialize

getText

public abstract java.lang.String getText(java.util.Locale locale)
Retrieves the localizable description of this policy.

Specified by:
getText in interface IPolicyDefault
Parameters:
locale - locale of the end user
Returns:
localized description of this default policy

getConfigStore

public IConfigStore getConfigStore()
Description copied from interface: IPolicyDefault
Retrieves the configuration store of this default.

Specified by:
getConfigStore in interface IPolicyDefault
Returns:
configuration store of this default policy

getName

public java.lang.String getName(java.util.Locale locale)
Description copied from interface: IPolicyDefault
Retrieves the localizable name of this policy.

Specified by:
getName in interface IPolicyDefault
Parameters:
locale - locale of the end user
Returns:
localized name of this default policy

populate

public abstract void populate(IRequest request,
                              netscape.security.x509.X509CertInfo info)
                       throws EProfileException
Populates attributes into the certificate template.

Specified by:
populate in interface ICertInfoPolicyDefault
Parameters:
request - enrollment request
info - certificate template
Throws:
EProfileException - failed to populate attributes into request

setValue

public abstract void setValue(java.lang.String name,
                              java.util.Locale locale,
                              netscape.security.x509.X509CertInfo info,
                              java.lang.String value)
                       throws EPropertyException
Sets values from the approval page into certificate template.

Parameters:
name - name of the attribute
locale - user locale
info - certificate template
value - attribute value
Throws:
EProfileException - failed to set attributes into request
EPropertyException

getValue

public abstract java.lang.String getValue(java.lang.String name,
                                          java.util.Locale locale,
                                          netscape.security.x509.X509CertInfo info)
                                   throws EPropertyException
Retrieves certificate template values and returns them to the approval page.

Parameters:
name - name of the attribute
locale - user locale
info - certificate template
Throws:
EProfileException - failed to get attributes from request
EPropertyException

populate

public void populate(IRequest request)
              throws EProfileException
Populates the request with this policy default. The current implementation extracts enrollment specific attributes and calls the populate() method of the subclass.

Specified by:
populate in interface IPolicyDefault
Parameters:
request - request to be populated
Throws:
EProfileException - failed to populate

addValueName

public void addValueName(java.lang.String name)

getValueNames

public java.util.Enumeration getValueNames()
Description copied from interface: IPolicyDefault
Retrieves a list of names of the property.

Specified by:
getValueNames in interface IPolicyDefault
Returns:
a list of property names. The values are of type java.lang.String

getValueDescriptor

public IDescriptor getValueDescriptor(java.lang.String name)

setValue

public void setValue(java.lang.String name,
                     java.util.Locale locale,
                     IRequest request,
                     java.lang.String value)
              throws EPropertyException
Sets the value of the given value property by name. The current implementation extracts enrollment specific attributes and calls the setValue() method of the subclass.

Specified by:
setValue in interface IPolicyDefault
Parameters:
name - name of property
locale - locale of the end user
request - request
value - value to be set in the given request
Throws:
EPropertyException - failed to set property

getValue

public java.lang.String getValue(java.lang.String name,
                                 java.util.Locale locale,
                                 IRequest request)
                          throws EPropertyException
Retrieves the value of the given value property by name. The current implementation extracts enrollment specific attributes and calls the getValue() method of the subclass.

Specified by:
getValue in interface IPolicyDefault
Parameters:
name - name of property
locale - locale of the end user
request - request
Throws:
EPropertyException - failed to get property

toHexString

public java.lang.String toHexString(byte[] data)

refreshConfigAndValueNames

protected void refreshConfigAndValueNames()

deleteExtension

protected void deleteExtension(java.lang.String name,
                               netscape.security.x509.X509CertInfo info)

getExtension

protected netscape.security.x509.Extension getExtension(java.lang.String name,
                                                        netscape.security.x509.X509CertInfo info)

getExtension

protected netscape.security.x509.Extension getExtension(java.lang.String name,
                                                        netscape.security.x509.CertificateExtensions exts)

addExtension

protected void addExtension(java.lang.String name,
                            netscape.security.x509.Extension ext,
                            netscape.security.x509.X509CertInfo info)
                     throws EProfileException
Throws:
EProfileException

replaceExtension

protected void replaceExtension(java.lang.String name,
                                netscape.security.x509.Extension ext,
                                netscape.security.x509.X509CertInfo info)
                         throws EProfileException
Throws:
EProfileException

isOptional

protected boolean isOptional(java.lang.String value)

getBoolean

protected boolean getBoolean(java.lang.String value)

getInt

protected int getInt(java.lang.String value)

getConfigBoolean

protected boolean getConfigBoolean(java.lang.String value)

getConfigInt

protected int getConfigInt(java.lang.String value)

isGeneralNameValid

protected boolean isGeneralNameValid(java.lang.String name)

parseGeneralName

protected netscape.security.x509.GeneralNameInterface parseGeneralName(java.lang.String name)
                                                                throws java.io.IOException
Throws:
java.io.IOException

isGeneralNameType

protected boolean isGeneralNameType(java.lang.String nameType)

parseGeneralName

protected netscape.security.x509.GeneralNameInterface parseGeneralName(java.lang.String nameType,
                                                                       java.lang.String nameValue)
                                                                throws java.io.IOException
Throws:
java.io.IOException

getBytes

public byte[] getBytes(java.lang.String string)
Converts string containing pairs of characters in the range of '0' to '9', 'a' to 'f' to an array of bytes such that each pair of characters in the string represents an individual byte


isValidOID

public boolean isValidOID(java.lang.String oid)
Check if a object identifier in string form is valid, that is a string in the form n.n.n.n and der encode and decode-able.

Parameters:
oid - object identifier string.
Returns:
true if the oid is valid

buildRecords

protected java.lang.String buildRecords(java.util.Vector recs)
                                 throws EPropertyException
Throws:
EPropertyException

parseRecords

protected java.util.Vector parseRecords(java.lang.String value)
                                 throws EPropertyException
Throws:
EPropertyException

getGeneralNameType

protected java.lang.String getGeneralNameType(netscape.security.x509.GeneralName gn)
                                       throws EPropertyException
Throws:
EPropertyException

getGeneralNameValue

protected java.lang.String getGeneralNameValue(netscape.security.x509.GeneralName gn)
                                        throws EPropertyException
Throws:
EPropertyException

getLocale

public java.util.Locale getLocale(IRequest request)

toGeneralNameString

public java.lang.String toGeneralNameString(netscape.security.x509.GeneralName gn)

mapPattern

protected java.lang.String mapPattern(IRequest request,
                                      java.lang.String pattern)
                               throws java.io.IOException
Throws:
java.io.IOException

escapeValueRfc1779

protected java.lang.StringBuffer escapeValueRfc1779(java.lang.String v,
                                                    boolean doubleEscape)