Class BCElGamalPrivateKey
- java.lang.Object
-
- org.bouncycastle.jcajce.provider.asymmetric.elgamal.BCElGamalPrivateKey
-
- All Implemented Interfaces:
java.io.Serializable,java.security.Key,java.security.PrivateKey,javax.crypto.interfaces.DHKey,javax.crypto.interfaces.DHPrivateKey,javax.security.auth.Destroyable,ElGamalKey,ElGamalPrivateKey,PKCS12BagAttributeCarrier
public class BCElGamalPrivateKey extends java.lang.Object implements ElGamalPrivateKey, javax.crypto.interfaces.DHPrivateKey, javax.security.auth.Destroyable, PKCS12BagAttributeCarrier
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedBCElGamalPrivateKey()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddestroy()Destroy this key, clearing the key material it holds.booleanequals(java.lang.Object o)java.lang.StringgetAlgorithm()ASN1EncodablegetBagAttribute(ASN1ObjectIdentifier oid)java.util.EnumerationgetBagAttributeKeys()byte[]getEncoded()Return a PKCS8 representation of the key.java.lang.StringgetFormat()return the encoding format we produce in getEncoded().ElGamalParameterSpecgetParameters()javax.crypto.spec.DHParameterSpecgetParams()java.math.BigIntegergetX()booleanhasFriendlyName()inthashCode()booleanisDestroyed()voidsetBagAttribute(ASN1ObjectIdentifier oid, ASN1Encodable attribute)voidsetFriendlyName(java.lang.String friendlyName)
-
-
-
Method Detail
-
getAlgorithm
public java.lang.String getAlgorithm()
- Specified by:
getAlgorithmin interfacejava.security.Key
-
getFormat
public java.lang.String getFormat()
return the encoding format we produce in getEncoded().- Specified by:
getFormatin interfacejava.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:
getEncodedin interfacejava.security.Key- Returns:
- a PKCS8 representation of the key.
-
getParameters
public ElGamalParameterSpec getParameters()
- Specified by:
getParametersin interfaceElGamalKey
-
getParams
public javax.crypto.spec.DHParameterSpec getParams()
- Specified by:
getParamsin interfacejavax.crypto.interfaces.DHKey
-
getX
public java.math.BigInteger getX()
- Specified by:
getXin interfacejavax.crypto.interfaces.DHPrivateKey- Specified by:
getXin interfaceElGamalPrivateKey
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
destroy
public void destroy()
Destroy this key, clearing the key material it holds.The private value is held as a
BigInteger, which is immutable and so cannot be zeroized in place - destruction drops the internal reference so the value becomes unreachable (cleared on garbage collection). The (public) domain parameters are retained. After destructionisDestroyed()returns true, the secret-bearing accessors (getEncoded()andgetX()) throwIllegalStateException, the key can no longer be serialized, and it is equal only to itself;hashCode()retains its pre-destruction value.- Specified by:
destroyin interfacejavax.security.auth.Destroyable
-
isDestroyed
public boolean isDestroyed()
- Specified by:
isDestroyedin interfacejavax.security.auth.Destroyable
-
setBagAttribute
public void setBagAttribute(ASN1ObjectIdentifier oid, ASN1Encodable attribute)
- Specified by:
setBagAttributein interfacePKCS12BagAttributeCarrier
-
getBagAttribute
public ASN1Encodable getBagAttribute(ASN1ObjectIdentifier oid)
- Specified by:
getBagAttributein interfacePKCS12BagAttributeCarrier
-
getBagAttributeKeys
public java.util.Enumeration getBagAttributeKeys()
- Specified by:
getBagAttributeKeysin interfacePKCS12BagAttributeCarrier
-
hasFriendlyName
public boolean hasFriendlyName()
- Specified by:
hasFriendlyNamein interfacePKCS12BagAttributeCarrier
-
setFriendlyName
public void setFriendlyName(java.lang.String friendlyName)
- Specified by:
setFriendlyNamein interfacePKCS12BagAttributeCarrier
-
-