Class PrivateKeyInfo

  • All Implemented Interfaces:
    ASN1Encodable, Encodable

    public class PrivateKeyInfo
    extends ASN1Object
    RFC 5958 [IMPLICIT TAGS] OneAsymmetricKey ::= SEQUENCE { version Version, privateKeyAlgorithm PrivateKeyAlgorithmIdentifier, privateKey PrivateKey, attributes [0] Attributes OPTIONAL, [], [[2: publicKey [1] PublicKey OPTIONAL ]], [] } PrivateKeyInfo ::= OneAsymmetricKey Version ::= INTEGER { v1(0), v2(1) } (v1, [], v2) PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier { PUBLIC-KEY, { PrivateKeyAlgorithms } } PrivateKey ::= OCTET STRING -- Content varies based on type of key. The -- algorithm identifier dictates the format of -- the key. PublicKey ::= BIT STRING -- Content varies based on type of key. The -- algorithm identifier dictates the format of -- the key. Attributes ::= SET OF Attribute { { OneAsymmetricKeyAttributes } }
    • Constructor Detail

      • PrivateKeyInfo

        public PrivateKeyInfo​(AlgorithmIdentifier privateKeyAlgorithm,
                              ASN1Encodable privateKey)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • PrivateKeyInfo

        public PrivateKeyInfo​(AlgorithmIdentifier privateKeyAlgorithm,
                              ASN1Encodable privateKey,
                              ASN1Set attributes,
                              byte[] publicKey)
                       throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • getInstance

        public static PrivateKeyInfo getInstance​(java.lang.Object obj)
      • getAttributes

        public ASN1Set getAttributes()
      • getPrivateKeyLength

        public int getPrivateKeyLength()
      • parsePrivateKey

        public ASN1Encodable parsePrivateKey()
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • hasPublicKey

        public boolean hasPublicKey()
        Return true if a public key is present, false otherwise.
        Returns:
        true if public included, otherwise false.
      • parsePublicKey

        public ASN1Encodable parsePublicKey()
                                     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.
        Returns:
        the public key as an ASN.1 primitive.
        Throws:
        java.io.IOException - - if the bit string doesn't represent a DER encoded object.
      • getPublicKeyData

        public ASN1BitString getPublicKeyData()
        for when the public key is raw bits.
        Returns:
        the public key as the raw bit string[]