org.glite.slcs.pki
Class CertificateExtensionFactory

java.lang.Object
  extended by org.glite.slcs.pki.CertificateExtensionFactory

public class CertificateExtensionFactory
extends java.lang.Object

X.509 certificate extensions factory

Version:
$Revision: 1.3 $
Author:
Valery Tschopp

Method Summary
static CertificateExtension createCertificateExtension(java.lang.String id, java.lang.String values)
          Creates a CertificateExtension.
protected static CertificateExtension createCertificatePoliciesExtension(java.lang.String policyOID)
          Creates a Cerificate Policies: policyOID extension with the given policy OID.
protected static CertificateExtension createCertificatePoliciesExtension(java.util.Vector policyOIDs, java.lang.String values)
           
protected static CertificateExtension createExtendedKeyUsageExtension(org.bouncycastle.asn1.x509.KeyPurposeId keyPurposeId, java.lang.String keyPurposeName)
           
protected static CertificateExtension createExtendedKeyUsageExtension(java.util.Vector keyPurposeIds, java.lang.String keyPurposeNames)
           
protected static CertificateExtension createKeyUsageExtension(int usage, java.lang.String value)
          Creates a Key Usage extension for the given usage.
protected static CertificateExtension createSubjectAltNameExtension(java.lang.String emailAddress)
          Creates a RFC882 Subject Alternative Name: email:johndoe@example.com extension.
protected static CertificateExtension createSubjectAltNameExtension(java.util.Vector prefixedAltNames, java.lang.String values)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

createCertificateExtension

public static CertificateExtension createCertificateExtension(java.lang.String id,
                                                              java.lang.String values)
Creates a CertificateExtension. The id can be the OID or the name as defined below. The values is a comma separated list of value(s)

Valid names and values:

Example:

 CertificateExtension keyUsageExtension = 
       CertificateExtensionFactory.createCertificateExtension("KeyUsage", "DigitalSignature,KeyEncipherment");
 CertificateExtension subjectAltNameExtension = 
       CertificateExtensionFactory.createCertificateExtension("SubjectAltName", "email:john.doe@example.com,dns:www.exmaple.com");
 

Parameters:
id - The name or the OID of the extension.
values - A comma separated list of extension value(s).
Returns:
The corresponding CertificateExtension or null if the id (name or oid) is not supported.

createExtendedKeyUsageExtension

protected static CertificateExtension createExtendedKeyUsageExtension(java.util.Vector keyPurposeIds,
                                                                      java.lang.String keyPurposeNames)
Parameters:
keyPurposeIds -
keyPurposeNames -
Returns:

createExtendedKeyUsageExtension

protected static CertificateExtension createExtendedKeyUsageExtension(org.bouncycastle.asn1.x509.KeyPurposeId keyPurposeId,
                                                                      java.lang.String keyPurposeName)
Parameters:
keyPurposeId -
keyPurposeName -
Returns:

createSubjectAltNameExtension

protected static CertificateExtension createSubjectAltNameExtension(java.lang.String emailAddress)
Creates a RFC882 Subject Alternative Name: email:johndoe@example.com extension.

Parameters:
emailAddress - The email address to be included as alternative name.
Returns:
The subject alternative name CertificateExtension.

createSubjectAltNameExtension

protected static CertificateExtension createSubjectAltNameExtension(java.util.Vector prefixedAltNames,
                                                                    java.lang.String values)
Parameters:
prefixedAltNames -
values -
Returns:

createCertificatePoliciesExtension

protected static CertificateExtension createCertificatePoliciesExtension(java.lang.String policyOID)
Creates a Cerificate Policies: policyOID extension with the given policy OID.

Parameters:
policyOID - The policy OID (2.16.756.1.2.*)
Returns:
The certificate policies CertificateExtension.

createCertificatePoliciesExtension

protected static CertificateExtension createCertificatePoliciesExtension(java.util.Vector policyOIDs,
                                                                         java.lang.String values)
Parameters:
policyOIDs -
values -
Returns:

createKeyUsageExtension

protected static CertificateExtension createKeyUsageExtension(int usage,
                                                              java.lang.String value)
Creates a Key Usage extension for the given usage. This extension is critical.

Parameters:
usage - The usage is the sum of all KeyUsage values.
value - The formal value of the usage. Example: KeyEncipherment,DigitalSignature
Returns:
The KeyUsage certificate extension.
See Also:
KeyUsage