com.ibm.security12.sun.security.x509
Class AuthorityKeyIdentifierExtension

java.lang.Object
  |
  +--com.ibm.security12.sun.security.x509.Extension
        |
        +--com.ibm.security12.sun.security.x509.AuthorityKeyIdentifierExtension

public class AuthorityKeyIdentifierExtension
extends Extension
implements CertAttrSet

This class represents the Authority Key Identifier Extension.

The authority key identifier extension provides a means of identifying the particular public key used to sign a certificate. This extension would be used where an issuer has multiple signing keys (either due to multiple concurrent key pairs or due to changeover).

The ASN.1 syntax for this is:

 AuthorityKeyIdentifier ::= SEQUENCE {
    keyIdentifier             [0] KeyIdentifier           OPTIONAL,
    authorityCertIssuer       [1] GeneralNames            OPTIONAL,
    authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL
 }
 KeyIdentifier ::= OCTET STRING
 

Version:
1.12
Author:
Amit Kapoor, Hemma Prafullchandra
See Also:
Extension, CertAttrSet

Field Summary
static String AUTH_NAME
           
static String IDENT
          Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.
static String KEY_ID
           
static String NAME
          Attribute names.
static String SERIAL_NUMBER
           
 
Fields inherited from class com.ibm.security12.sun.security.x509.Extension
critical, extensionId, extensionValue
 
Constructor Summary
AuthorityKeyIdentifierExtension(Boolean critical, Object value)
          Create the extension from the passed DER encoded value of the same.
AuthorityKeyIdentifierExtension(KeyIdentifier kid, GeneralNames name, SerialNumber sn)
          The default constructor for this extension.
 
Method Summary
 void decode(InputStream in)
          Decode the extension from the InputStream.
 void delete(String name)
          Delete the attribute value.
 void encode(OutputStream out)
          Write the extension to the OutputStream.
 Object get(String name)
          Get the attribute value.
 Enumeration getElements()
          Return an enumeration of names of attributes existing within this attribute.
 String getName()
          Return the name of this attribute.
 void set(String name, Object obj)
          Set the attribute value.
 String toString()
          Return the object as a string.
 
Methods inherited from class com.ibm.security12.sun.security.x509.Extension
encode, equals, getExtensionId, getExtensionValue, hashCode, isCritical
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

IDENT

public static final String IDENT
Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.

NAME

public static final String NAME
Attribute names.

KEY_ID

public static final String KEY_ID

AUTH_NAME

public static final String AUTH_NAME

SERIAL_NUMBER

public static final String SERIAL_NUMBER
Constructor Detail

AuthorityKeyIdentifierExtension

public AuthorityKeyIdentifierExtension(KeyIdentifier kid,
                                       GeneralNames name,
                                       SerialNumber sn)
                                throws IOException
The default constructor for this extension. Null parameters make the element optional (not present).
Parameters:
id - the KeyIdentifier associated with this extension.
names - the GeneralNames associated with this extension
serialNum - the CertificateSerialNumber associated with this extension.
Throws:
IOException - on error.

AuthorityKeyIdentifierExtension

public AuthorityKeyIdentifierExtension(Boolean critical,
                                       Object value)
                                throws IOException
Create the extension from the passed DER encoded value of the same.
Parameters:
critical - true if the extension is to be treated as critical.
value - Array of DER encoded bytes of the actual value.
Throws:
IOException - on error.
Method Detail

toString

public String toString()
Return the object as a string.
Specified by:
toString in interface CertAttrSet
Overrides:
toString in class Extension

decode

public void decode(InputStream in)
            throws IOException
Decode the extension from the InputStream.
Specified by:
decode in interface CertAttrSet
Parameters:
in - the InputStream to unmarshal the contents from.
Throws:
IOException - on decoding or validity errors.

encode

public void encode(OutputStream out)
            throws IOException
Write the extension to the OutputStream.
Specified by:
encode in interface CertAttrSet
Parameters:
out - the OutputStream to write the extension to.
Throws:
IOException - on error.

set

public void set(String name,
                Object obj)
         throws IOException
Set the attribute value.
Specified by:
set in interface CertAttrSet

get

public Object get(String name)
           throws IOException
Get the attribute value.
Specified by:
get in interface CertAttrSet

delete

public void delete(String name)
            throws IOException
Delete the attribute value.
Specified by:
delete in interface CertAttrSet

getElements

public Enumeration getElements()
Return an enumeration of names of attributes existing within this attribute.
Specified by:
getElements in interface CertAttrSet

getName

public String getName()
Return the name of this attribute.
Specified by:
getName in interface CertAttrSet