Bouncy Castle Cryptography Library 1.45

## org.bouncycastle.asn1.x509
Class SubjectPublicKeyInfo

    java.lang.Object
      org.bouncycastle.asn1.ASN1Encodable
          org.bouncycastle.asn1.x509.SubjectPublicKeyInfo

All Implemented Interfaces:
  DEREncodable

    public class SubjectPublicKeyInfo

extends ASN1Encodable

The object that contains the public key stored in a certficate.

The getEncoded() method in the public keys in the JCE produces a DER encoded one of these.

Field Summary

Fields inherited from class org.bouncycastle.asn1.ASN1Encodable
`BER, DER`

Constructor Summary
`SubjectPublicKeyInfo(AlgorithmIdentifier algId, byte[] publicKey)`
`SubjectPublicKeyInfo(AlgorithmIdentifier algId, DEREncodable publicKey)`
`SubjectPublicKeyInfo(ASN1Sequence seq)`

Method Summary
`AlgorithmIdentifier` `getAlgorithmId()`
`static SubjectPublicKeyInfo` `getInstance(ASN1TaggedObject obj, boolean explicit)`
`static SubjectPublicKeyInfo` `getInstance(java.lang.Object obj)`
`DERObject` `getPublicKey()` for when the public key is an encoded object - if the bitstring can't be decoded this routine throws an IOException.
`DERBitString` `getPublicKeyData()` for when the public key is raw bits...
`DERObject` `toASN1Object()` Produce an object suitable for an ASN1OutputStream.

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, toString, wait, wait, wait`

Constructor Detail

### SubjectPublicKeyInfo

    public SubjectPublicKeyInfo(AlgorithmIdentifier algId,
                                DEREncodable publicKey)

### SubjectPublicKeyInfo

    public SubjectPublicKeyInfo(AlgorithmIdentifier algId,
                                byte[] publicKey)

### SubjectPublicKeyInfo

    public SubjectPublicKeyInfo(ASN1Sequence seq)

Method Detail

### getInstance

    public static SubjectPublicKeyInfo getInstance(ASN1TaggedObject obj,
                                                   boolean explicit)

### getInstance

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

### getAlgorithmId

    public AlgorithmIdentifier getAlgorithmId()

### getPublicKey

    public DERObject getPublicKey()
                           throws java.io.IOException

  for when the public key is an encoded object - if the bitstring can't be decoded this routine throws an IOException.

  Throws:
    `java.io.IOException` - - if the bit string doesn't represent a DER encoded object.

### getPublicKeyData

    public DERBitString getPublicKeyData()

  for when the public key is raw bits...

### toASN1Object

    public DERObject toASN1Object()

  Produce an object suitable for an ASN1OutputStream.

       SubjectPublicKeyInfo ::= SEQUENCE {
                                algorithm AlgorithmIdentifier,
                                publicKey BIT STRING }

  Specified by:
    `toASN1Object` in class `ASN1Encodable`

Bouncy Castle Cryptography Library 1.45