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.SerializableA 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 valuex, a prime modulusp, and a base generatorg.DHPrivateKey(java.math.BigInteger x, java.math.BigInteger p, java.math.BigInteger g, int l)Make a DH private key out of a private valuex, a prime modulusp, a base generatorg, and a private-value lengthl.DHPrivateKey(byte[] encodedKey)Make a DH private key from its DER encoding (PKCS #8).
-
Method Summary
Methods Modifier and Type Method and Description booleanequals(java.lang.Object obj)protected voidfinalize()This function zeroizes the key so that it isn't in memory when GC is done.java.lang.StringgetAlgorithm()Returns the name of the algorithm associated with this key: "DH"byte[]getEncoded()Get the encoding of the key.java.lang.StringgetFormat()Returns the encoding format of this key: "PKCS#8"javax.crypto.spec.DHParameterSpecgetParams()Returns the key parameters.java.math.BigIntegergetX()Returns the private value,x.inthashCode()Calculates a hash code value for the object.voidzeroize()This function zeroizes the key so that it isn't in memory
-
-
-
Constructor Detail
-
DHPrivateKey
public DHPrivateKey(java.math.BigInteger x, java.math.BigInteger p, java.math.BigInteger g) throws java.security.InvalidKeyExceptionMake a DH private key out of a private valuex, a prime modulusp, and a base generatorg.- Parameters:
x- the private valuep- the prime modulusg- 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.InvalidKeyExceptionMake a DH private key out of a private valuex, a prime modulusp, a base generatorg, and a private-value lengthl.- Parameters:
x- the private valuep- the prime modulusg- the base generatorl- the private-value length- Throws:
java.security.InvalidKeyException- if the key cannot be encoded
-
DHPrivateKey
public DHPrivateKey(byte[] encodedKey) throws java.security.InvalidKeyExceptionMake 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:
getFormatin interfacejava.security.Key
-
getAlgorithm
public java.lang.String getAlgorithm()
Returns the name of the algorithm associated with this key: "DH"- Specified by:
getAlgorithmin interfacejava.security.Key
-
getEncoded
public byte[] getEncoded()
Get the encoding of the key.- Specified by:
getEncodedin interfacejava.security.Key
-
getX
public java.math.BigInteger getX()
Returns the private value,x.- Specified by:
getXin interfacejavax.crypto.interfaces.DHPrivateKey- Returns:
- the private value,
x
-
getParams
public javax.crypto.spec.DHParameterSpec getParams()
Returns the key parameters.- Specified by:
getParamsin interfacejavax.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:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.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:
finalizein classjava.lang.Object
-
-