Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.bouncycastle.asn1.pkcs
Class PrivateKeyInfo

    java.lang.Object
      org.bouncycastle.asn1.ASN1Object
          org.bouncycastle.asn1.pkcs.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 Summary
`PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm, ASN1Encodable privateKey)` Construct a PrivateKeyInfo around an ASN.1 structure/primitive.
`PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm, ASN1Encodable privateKey, ASN1Set attributes)` Construct a PrivateKeyInfo around an ASN.1 structure/primitive with attributes.
`PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm, ASN1Encodable privateKey, ASN1Set attributes, byte[] publicKey)` Construct a PrivateKeyInfo around an ASN.1 structure/primitive with attributes and the public key.
`PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm, byte[] privateKey)` Construct a PrivateKeyInfo around a raw encoding.
`PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm, byte[] privateKey, ASN1Set attributes)` Construct a PrivateKeyInfo around an ASN.1 structure/primitive with attributes.
`PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm, byte[] privateKey, ASN1Set attributes, byte[] publicKey)` Construct a PrivateKeyInfo around a raw encoding with attributes and the public key.

Method Summary
`ASN1Set` | `getAttributes()`
`static PrivateKeyInfo` | `getInstance(ASN1TaggedObject obj, boolean explicit)`
`static PrivateKeyInfo` | `getInstance(java.lang.Object obj)`
`ASN1OctetString` | `getPrivateKey()`
`AlgorithmIdentifier` | `getPrivateKeyAlgorithm()`
`int` | `getPrivateKeyLength()`
`ASN1BitString` | `getPublicKeyData()` for when the public key is raw bits.
`ASN1Integer` | `getVersion()`
`boolean` | `hasPublicKey()` Return true if a public key is present, false otherwise.
`ASN1Encodable` | `parsePrivateKey()`
`ASN1Encodable` | `parsePublicKey()` for when the public key is an encoded object - if the bitstring can't be decoded this routine throws an IOException.
`ASN1Primitive` | `toASN1Primitive()` Method providing a primitive representation of this object suitable for encoding.

Methods inherited from class org.bouncycastle.asn1.ASN1Object
`encodeTo, encodeTo, equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PrivateKeyInfo

    public PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm,
                          byte[] privateKey)
                   throws java.io.IOException

  Construct a PrivateKeyInfo around a raw encoding.

Parameters:
  `privateKeyAlgorithm` - algorithm identifier for the private key.
  `privateKey` - byte encoding of the private key, used as a raw encoding.

### PrivateKeyInfo

    public PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm,
                          ASN1Encodable privateKey)
                   throws java.io.IOException

  Construct a PrivateKeyInfo around an ASN.1 structure/primitive.

Parameters:
  `privateKeyAlgorithm` - algorithm identifier for the private key.
  `privateKey` - the ASN.1 structure/primitive representing the private key.
Throws:
  `java.io.IOException` - if encoding the privateKey object into an OCTET STRING fails.

### PrivateKeyInfo

    public PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm,
                          ASN1Encodable privateKey,
                          ASN1Set attributes)
                   throws java.io.IOException

  Construct a PrivateKeyInfo around an ASN.1 structure/primitive with attributes.

Parameters:
  `privateKeyAlgorithm` - algorithm identifier for the private key.
  `privateKey` - the ASN.1 structure/primitive representing the private key.
  `attributes` - attributes associated with private key.
Throws:
  `java.io.IOException` - if encoding the privateKey object into an OCTET STRING fails.

### PrivateKeyInfo

    public PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm,
                          byte[] privateKey,
                          ASN1Set attributes)
                   throws java.io.IOException

  Construct a PrivateKeyInfo around an ASN.1 structure/primitive with attributes.

Parameters:
  `privateKeyAlgorithm` - algorithm identifier for the private key.
  `privateKey` - byte encoding of the private key, used as a raw encoding.
  `attributes` - attributes associated with private key.
Throws:
  `java.io.IOException` - if encoding the privateKey object into an OCTET STRING fails.

### PrivateKeyInfo

    public PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm,
                          ASN1Encodable privateKey,
                          ASN1Set attributes,
                          byte[] publicKey)
                   throws java.io.IOException

  Construct a PrivateKeyInfo around an ASN.1 structure/primitive with attributes and the public key.

Parameters:
  `privateKeyAlgorithm` - algorithm identifier for the private key.
  `privateKey` - the ASN.1 structure/primitive representing the private key.
  `attributes` - attributes associated with private key.
  `publicKey` - public key encoding.
Throws:
  `java.io.IOException` - if encoding the privateKey object into an OCTET STRING fails.

### PrivateKeyInfo

    public PrivateKeyInfo(AlgorithmIdentifier privateKeyAlgorithm,
                          byte[] privateKey,
                          ASN1Set attributes,
                          byte[] publicKey)

  Construct a PrivateKeyInfo around a raw encoding with attributes and the public key.

Parameters:
  `privateKeyAlgorithm` - algorithm identifier for the private key.
  `privateKey` - byte encoding of the private key, used as a raw encoding.
  `attributes` - attributes associated with private key.
  `publicKey` - public key encoding.

Method Detail

### getInstance

    public static PrivateKeyInfo getInstance(ASN1TaggedObject obj,
                                             boolean explicit)

### getInstance

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

### getVersion

    public ASN1Integer getVersion()

### getAttributes

    public ASN1Set getAttributes()

### getPrivateKeyAlgorithm

    public AlgorithmIdentifier getPrivateKeyAlgorithm()

### getPrivateKey

    public ASN1OctetString getPrivateKey()

### 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[]

### toASN1Primitive

    public ASN1Primitive toASN1Primitive()

  Description copied from class: `ASN1Object`
  Method providing a primitive representation of this object suitable for encoding.

  Specified by:
    `toASN1Primitive` in interface `ASN1Encodable`
  Specified by:
    `toASN1Primitive` in class `ASN1Object`
  Returns:
    a primitive representation of this object.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD