com.ibm.crypto.fips.provider

Class DHPrivateKey

  • java.lang.Object
    • com.ibm.crypto.fips.provider.DHPrivateKey
  • All Implemented Interfaces:
    java.io.Serializable, java.security.Key, java.security.PrivateKey, javax.crypto.interfaces.DHKey, javax.crypto.interfaces.DHPrivateKey, javax.security.auth.Destroyable


    public final class DHPrivateKey
    extends java.lang.Object
    implements java.security.PrivateKey, javax.crypto.interfaces.DHPrivateKey, java.io.Serializable
    A private key in PKCS#8 format for the Diffie-Hellman key agreement algorithm.
    See Also:
    DHPublicKey, java.security.KeyAgreement, Serialized Form
    • Constructor Summary

      Constructors 
      Constructor and Description
      DHPrivateKey(java.math.BigInteger x, java.math.BigInteger p, java.math.BigInteger g)
      Make a DH private key out of a private value x, a prime modulus p, and a base generator g.
      DHPrivateKey(java.math.BigInteger x, java.math.BigInteger p, java.math.BigInteger g, int l)
      Make a DH private key out of a private value x, a prime modulus p, a base generator g, and a private-value length l.
      DHPrivateKey(byte[] encodedKey)
      Make a DH private key from its DER encoding (PKCS #8).
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      boolean equals(java.lang.Object obj) 
      protected void finalize()
      This function zeroizes the key so that it isn't in memory when GC is done.
      java.lang.String getAlgorithm()
      Returns the name of the algorithm associated with this key: "DH"
      byte[] getEncoded()
      Get the encoding of the key.
      java.lang.String getFormat()
      Returns the encoding format of this key: "PKCS#8"
      javax.crypto.spec.DHParameterSpec getParams()
      Returns the key parameters.
      java.math.BigInteger getX()
      Returns the private value, x.
      int hashCode()
      Calculates a hash code value for the object.
      void zeroize()
      This function zeroizes the key so that it isn't in memory
      • Methods inherited from class java.lang.Object

        clone, getClass, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface javax.security.auth.Destroyable

        destroy, isDestroyed
    • Constructor Detail

      • DHPrivateKey

        public DHPrivateKey(java.math.BigInteger x,
                    java.math.BigInteger p,
                    java.math.BigInteger g)
                     throws java.security.InvalidKeyException
        Make a DH private key out of a private value x, a prime modulus p, and a base generator g.
        Parameters:
        x - the private value
        p - the prime modulus
        g - the base generator
        Throws:
        java.security.InvalidKeyException - if the key cannot be encoded
      • DHPrivateKey

        public DHPrivateKey(java.math.BigInteger x,
                    java.math.BigInteger p,
                    java.math.BigInteger g,
                    int l)
                     throws java.security.InvalidKeyException
        Make a DH private key out of a private value x, a prime modulus p, a base generator g, and a private-value length l.
        Parameters:
        x - the private value
        p - the prime modulus
        g - the base generator
        l - the private-value length
        Throws:
        java.security.InvalidKeyException - if the key cannot be encoded
      • DHPrivateKey

        public DHPrivateKey(byte[] encodedKey)
                     throws java.security.InvalidKeyException
        Make a DH private key from its DER encoding (PKCS #8).
        Parameters:
        encodedKey - the encoded key
        Throws:
        java.security.InvalidKeyException - if the encoded key does not represent a Diffie-Hellman private key
    • Method Detail

      • getFormat

        public java.lang.String getFormat()
        Returns the encoding format of this key: "PKCS#8"
        Specified by:
        getFormat in interface java.security.Key
      • getAlgorithm

        public java.lang.String getAlgorithm()
        Returns the name of the algorithm associated with this key: "DH"
        Specified by:
        getAlgorithm in interface java.security.Key
      • getEncoded

        public byte[] getEncoded()
        Get the encoding of the key.
        Specified by:
        getEncoded in interface java.security.Key
      • getX

        public java.math.BigInteger getX()
        Returns the private value, x.
        Specified by:
        getX in interface javax.crypto.interfaces.DHPrivateKey
        Returns:
        the private value, x
      • getParams

        public javax.crypto.spec.DHParameterSpec getParams()
        Returns the key parameters.
        Specified by:
        getParams in interface javax.crypto.interfaces.DHKey
        Returns:
        the key parameters
      • hashCode

        public int hashCode()
        Calculates a hash code value for the object. Objects that are equal will also have the same hashcode.
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • zeroize

        public void zeroize()
        This function zeroizes the key so that it isn't in memory
      • finalize

        protected void finalize()
        This function zeroizes the key so that it isn't in memory when GC is done.
        Overrides:
        finalize in class java.lang.Object
© Portions Copyright 2003, 2014, 2015, 2016 IBM Corporation. All rights reserved.
© Portions Copyright 2003, 2014 Oracle and/or its affiliates. All rights reserved.