org.bouncycastle.asn1.x509

## Class AuthorityKeyIdentifier

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Encodable
  - - org.bouncycastle.asn1.x509.AuthorityKeyIdentifier

All Implemented Interfaces:
  DEREncodable

Direct Known Subclasses:
  AuthorityKeyIdentifierStructure

    public class AuthorityKeyIdentifier
    extends ASN1Encodable

The AuthorityKeyIdentifier object.

     id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 35 }

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

       KeyIdentifier ::= OCTET STRING

### Field Summary

### Fields inherited from class org.bouncycastle.asn1.ASN1Encodable

`BER, DER`

### Constructor Summary

Constructors
Constructor and Description
`AuthorityKeyIdentifier(ASN1Sequence seq)`
`AuthorityKeyIdentifier(byte[] keyIdentifier)` create an AuthorityKeyIdentifier with a precomupted key identifier
`AuthorityKeyIdentifier(byte[] keyIdentifier, GeneralNames name, java.math.BigInteger serialNumber)` create an AuthorityKeyIdentifier with a precomupted key identifier and the GeneralNames tag and the serial number provided as well.
`AuthorityKeyIdentifier(GeneralNames name, java.math.BigInteger serialNumber)` create an AuthorityKeyIdentifier with the GeneralNames tag and the serial number provided.
`AuthorityKeyIdentifier(SubjectPublicKeyInfo spki)` Calulates the keyidentifier using a SHA1 hash over the BIT STRING from SubjectPublicKeyInfo as defined in RFC2459.
`AuthorityKeyIdentifier(SubjectPublicKeyInfo spki, GeneralNames name, java.math.BigInteger serialNumber)` create an AuthorityKeyIdentifier with the GeneralNames tag and the serial number provided as well.

### Method Summary

Methods
`GeneralNames` `getAuthorityCertIssuer()`
`java.math.BigInteger` `getAuthorityCertSerialNumber()`
`static AuthorityKeyIdentifier` `getInstance(ASN1TaggedObject obj, boolean explicit)`
`static AuthorityKeyIdentifier` `getInstance(java.lang.Object obj)`
`byte[]` `getKeyIdentifier()`
`DERObject` `toASN1Object()` Produce an object suitable for an ASN1OutputStream.
`java.lang.String` `toString()`

### Methods inherited from class org.bouncycastle.asn1.ASN1Encodable

`equals, getDEREncoded, getDERObject, getEncoded, getEncoded, hashCode`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### AuthorityKeyIdentifier

    public AuthorityKeyIdentifier(ASN1Sequence seq)

#### AuthorityKeyIdentifier

    public AuthorityKeyIdentifier(SubjectPublicKeyInfo spki)

Calulates the keyidentifier using a SHA1 hash over the BIT STRING from SubjectPublicKeyInfo as defined in RFC2459. Example of making a AuthorityKeyIdentifier:

       SubjectPublicKeyInfo apki = new SubjectPublicKeyInfo((ASN1Sequence)new ASN1InputStream(
           publicKey.getEncoded()).readObject());
       AuthorityKeyIdentifier aki = new AuthorityKeyIdentifier(apki);

#### AuthorityKeyIdentifier

    public AuthorityKeyIdentifier(SubjectPublicKeyInfo spki,
                          GeneralNames name,
                          java.math.BigInteger serialNumber)

create an AuthorityKeyIdentifier with the GeneralNames tag and the serial number provided as well.

#### AuthorityKeyIdentifier

    public AuthorityKeyIdentifier(GeneralNames name,
                          java.math.BigInteger serialNumber)

create an AuthorityKeyIdentifier with the GeneralNames tag and the serial number provided.

#### AuthorityKeyIdentifier

    public AuthorityKeyIdentifier(byte[] keyIdentifier)

create an AuthorityKeyIdentifier with a precomupted key identifier

#### AuthorityKeyIdentifier

    public AuthorityKeyIdentifier(byte[] keyIdentifier,
                          GeneralNames name,
                          java.math.BigInteger serialNumber)

create an AuthorityKeyIdentifier with a precomupted key identifier and the GeneralNames tag and the serial number provided as well.

### Method Detail

#### getInstance

    public static AuthorityKeyIdentifier getInstance(ASN1TaggedObject obj,
                                     boolean explicit)

#### getInstance

    public static AuthorityKeyIdentifier getInstance(java.lang.Object obj)

#### getKeyIdentifier

    public byte[] getKeyIdentifier()

#### getAuthorityCertIssuer

    public GeneralNames getAuthorityCertIssuer()

#### getAuthorityCertSerialNumber

    public java.math.BigInteger getAuthorityCertSerialNumber()

#### toASN1Object

    public DERObject toASN1Object()

Produce an object suitable for an ASN1OutputStream.

Specified by:
  `toASN1Object` in class `ASN1Encodable`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`