BCDHPrivateKey (Bouncy Castle Library 1.52 API Specification)
Date: 2015-03-01

org.bouncycastle.jcajce.provider.asymmetric.dh

## Class BCDHPrivateKey

- java.lang.Object
- - org.bouncycastle.jcajce.provider.asymmetric.dh.BCDHPrivateKey

- All Implemented Interfaces:
    java.io.Serializable, java.security.Key, java.security.PrivateKey, javax.crypto.interfaces.DHKey, javax.crypto.interfaces.DHPrivateKey, PKCS12BagAttributeCarrier

      public class BCDHPrivateKey
      extends java.lang.Object
      implements javax.crypto.interfaces.DHPrivateKey, PKCS12BagAttributeCarrier

  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `BCDHPrivateKey()`
    `` | `BCDHPrivateKey(PrivateKeyInfo info)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object o)`
    `java.lang.String` | `getAlgorithm()`
    `ASN1Encodable` | `getBagAttribute(ASN1ObjectIdentifier oid)`
    `java.util.Enumeration` | `getBagAttributeKeys()`
    `byte[]` | `getEncoded()` Return a PKCS8 representation of the key.
    `java.lang.String` | `getFormat()` return the encoding format we produce in getEncoded().
    `javax.crypto.spec.DHParameterSpec` | `getParams()`
    `java.math.BigInteger` | `getX()`
    `int` | `hashCode()`
    `void` | `setBagAttribute(ASN1ObjectIdentifier oid, ASN1Encodable attribute)`

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

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

- - ### Constructor Detail

    - #### BCDHPrivateKey

          protected BCDHPrivateKey()

    - #### BCDHPrivateKey

          public BCDHPrivateKey(PrivateKeyInfo info)
                         throws java.io.IOException

      Throws:
        `java.io.IOException`

  - ### Method Detail

    - #### getAlgorithm

          public java.lang.String getAlgorithm()

      Specified by:
        `getAlgorithm` in interface `java.security.Key`

    - #### getFormat

          public java.lang.String getFormat()

      return the encoding format we produce in getEncoded().
      Specified by:
        `getFormat` in interface `java.security.Key`
      Returns:
        the string "PKCS#8"

    - #### getEncoded

          public byte[] getEncoded()

      Return a PKCS8 representation of the key. The sequence returned represents a full PrivateKeyInfo object.
      Specified by:
        `getEncoded` in interface `java.security.Key`
      Returns:
        a PKCS8 representation of the key.

    - #### getParams

          public javax.crypto.spec.DHParameterSpec getParams()

      Specified by:
        `getParams` in interface `javax.crypto.interfaces.DHKey`

    - #### getX

          public java.math.BigInteger getX()

      Specified by:
        `getX` in interface `javax.crypto.interfaces.DHPrivateKey`

    - #### equals

          public boolean equals(java.lang.Object o)

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

    - #### hashCode

          public int hashCode()

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

    - #### setBagAttribute

          public void setBagAttribute(ASN1ObjectIdentifier oid,
                             ASN1Encodable attribute)

      Specified by:
        `setBagAttribute` in interface `PKCS12BagAttributeCarrier`

    - #### getBagAttribute

          public ASN1Encodable getBagAttribute(ASN1ObjectIdentifier oid)

      Specified by:
        `getBagAttribute` in interface `PKCS12BagAttributeCarrier`

    - #### getBagAttributeKeys

          public java.util.Enumeration getBagAttributeKeys()

      Specified by:
        `getBagAttributeKeys` in interface `PKCS12BagAttributeCarrier`