Class AuthorityKeyIdentifierExtension

  • All Implemented Interfaces:
    java.io.Serializable, CertAttrSet

    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.9
    Author:
    Amit Kapoor, Hemma Prafullchandra
    See Also:
    Extension, CertAttrSet, Serialized Form
    • Field Detail

      • IDENT

        public static final java.lang.String IDENT
        Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.
        See Also:
        Constant Field Values
    • Constructor Detail

      • AuthorityKeyIdentifierExtension

        public AuthorityKeyIdentifierExtension​(boolean critical,
                                               KeyIdentifier kid,
                                               GeneralNames name,
                                               SerialNumber sn)
                                        throws java.io.IOException
        Exposed critical parameter. 99/11/03
        Throws:
        java.io.IOException
      • AuthorityKeyIdentifierExtension

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

        public AuthorityKeyIdentifierExtension​(java.lang.Boolean critical,
                                               java.lang.Object value)
                                        throws java.io.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:
        java.io.IOException - on error.
    • Method Detail

      • toString

        public java.lang.String toString()
        Return the object as a string.
        Specified by:
        toString in interface CertAttrSet
        Overrides:
        toString in class Extension
        Returns:
        value of this certificate attribute in printable form.
      • decode

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

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

        public void set​(java.lang.String name,
                        java.lang.Object obj)
                 throws java.io.IOException
        Set the attribute value.
        Specified by:
        set in interface CertAttrSet
        Parameters:
        name - the name of the attribute (e.g. "x509.info.key")
        obj - the attribute object.
        Throws:
        java.io.IOException - on other errors.
      • get

        public java.lang.Object get​(java.lang.String name)
                             throws java.io.IOException
        Get the attribute value.
        Specified by:
        get in interface CertAttrSet
        Parameters:
        name - the name of the attribute to return.
        Throws:
        java.io.IOException - on other errors.
      • delete

        public void delete​(java.lang.String name)
                    throws java.io.IOException
        Delete the attribute value.
        Specified by:
        delete in interface CertAttrSet
        Parameters:
        name - the name of the attribute to delete.
        Throws:
        java.io.IOException - on other errors.
      • getAttributeNames

        public java.util.Enumeration<java.lang.String> getAttributeNames()
        Return an enumeration of names of attributes existing within this attribute.
        Specified by:
        getAttributeNames in interface CertAttrSet
        Returns:
        an enumeration of the attribute names.
      • getName

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