com.ibm.crypto.fips.provider

Class DHPublicKey

  • java.lang.Object
    • com.ibm.crypto.fips.provider.DHPublicKey
  • All Implemented Interfaces:
    java.io.Serializable, java.security.Key, java.security.PublicKey, javax.crypto.interfaces.DHKey, javax.crypto.interfaces.DHPublicKey


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

      Constructors 
      Constructor and Description
      DHPublicKey(java.math.BigInteger y, java.math.BigInteger p, java.math.BigInteger g)
      Make a DH public key out of a public value y, a prime modulus p, and a base generator g.
      DHPublicKey(java.math.BigInteger y, java.math.BigInteger p, java.math.BigInteger g, int l)
      Make a DH public key out of a public value y, a prime modulus p, a base generator g, and a private-value length l.
      DHPublicKey(byte[] encodedKey)
      Make a DH public key from its DER encoding (X.509).
    • 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: "X.509"
      javax.crypto.spec.DHParameterSpec getParams()
      Returns the key parameters.
      java.math.BigInteger getY()
      Returns the public value, y.
      int hashCode()
      Calculates a hash code value for the object.
      java.lang.String toString() 
      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, wait, wait, wait
    • Constructor Detail

      • DHPublicKey

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

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

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

      • getFormat

        public java.lang.String getFormat()
        Returns the encoding format of this key: "X.509"
        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
      • getY

        public java.math.BigInteger getY()
        Returns the public value, y.
        Specified by:
        getY in interface javax.crypto.interfaces.DHPublicKey
        Returns:
        the public value, y
      • getParams

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • 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.