Top Description Fields Constructors Methods
org.bouncycastle.crypto.asymmetric

public final Class AsymmetricRSAPrivateKey

extends AsymmetricRSAKey
implements Destroyable, AsymmetricPrivateKey
Class Inheritance
All Implemented Interfaces
org.bouncycastle.crypto.AsymmetricPrivateKey, org.bouncycastle.crypto.AsymmetricKey, org.bouncycastle.crypto.Key, javax.security.auth.Destroyable
Imports
java.io.IOException, java.math.BigInteger, java.util.concurrent.atomic.AtomicBoolean, javax.security.auth.Destroyable, org.bouncycastle.asn1.ASN1Sequence, org.bouncycastle.asn1.pkcs.PrivateKeyInfo, .RSAPrivateKey, org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.crypto.Algorithm, .AsymmetricPrivateKey, org.bouncycastle.crypto.internal.Permissions

Class for RSA private keys.

Field Summary

Modifier and TypeField and Description
private BigInteger
private BigInteger
private final AtomicBoolean
private int
private BigInteger
p

private BigInteger
private BigInteger
private BigInteger
q

private BigInteger
Inherited from org.bouncycastle.crypto.asymmetric.AsymmetricRSAKey:
DEF_ALG_IDmodulusrsaAlgIdentifier

Constructor Summary

AccessConstructor and Description
public
AsymmetricRSAPrivateKey(Algorithm algorithm, BigInteger modulus, BigInteger publicExponent, BigInteger privateExponent, BigInteger p, BigInteger q, BigInteger dp, BigInteger dq, BigInteger qInv)

public
AsymmetricRSAPrivateKey(Algorithm algorithm, BigInteger modulus, BigInteger privateExponent)

public
AsymmetricRSAPrivateKey(Algorithm algorithm, byte[] privateKeyInfoEncoding)

public
private

Method Summary

Modifier and TypeMethod and Description
private int
private void
public void
destroy()

Overrides default javax.security.auth.Destroyable.destroy.

Destroy this Object.
public boolean
equals(Object
object to compare to.
o
)

Overrides java.lang.Object.equals.

Implements org.bouncycastle.crypto.Key.equals.

Return true if o is an equivalent key to this.
private BigInteger
protected void
finalize()

Overrides java.lang.Object.finalize.

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
public Algorithm

Returns:

the key's algorithm.
getAlgorithm
()

Overrides org.bouncycastle.crypto.asymmetric.AsymmetricRSAKey.getAlgorithm.

Implements org.bouncycastle.crypto.Key.getAlgorithm.

Return the algorithm this RSA key is for.
public BigInteger
public BigInteger
public final byte[]
getEncoded()

Implements org.bouncycastle.crypto.AsymmetricKey.getEncoded.

Return an ASN.1 encoding of the key wrapped in a PrivateKeyInfo or a SubjectPublicKeyInfo structure.
public BigInteger

Returns:

the key's modulus.
getModulus
()

Overrides org.bouncycastle.crypto.asymmetric.AsymmetricRSAKey.getModulus.

Return the modulus for this RSA key.
public BigInteger
getP()

public BigInteger
private static PrivateKeyInfo
getPrivateKeyInfo(byte[] encoding)

public BigInteger
public BigInteger
getQ()

public BigInteger
public int
hashCode()

Overrides java.lang.Object.hashCode.

Implements org.bouncycastle.crypto.Key.hashCode.

Return the hashCode for the key.
public boolean
isDestroyed()

Overrides default javax.security.auth.Destroyable.isDestroyed.

Determine if this Object has been destroyed.
private static RSAPrivateKey
Inherited from org.bouncycastle.crypto.asymmetric.AsymmetricRSAKey:
canBeUsedcheckApprovedOnlyModeStatusgetKeyMarkerisAlreadySeenzeroize

Field Detail

dpback to summary
private BigInteger dp
dqback to summary
private BigInteger dq
hasBeenDestroyedback to summary
private final AtomicBoolean hasBeenDestroyed
hashCodeback to summary
private int hashCode
pback to summary
private BigInteger p
privateExponentback to summary
private BigInteger privateExponent
publicExponentback to summary
private BigInteger publicExponent
qback to summary
private BigInteger q
qInvback to summary
private BigInteger qInv

Constructor Detail

AsymmetricRSAPrivateKeyback to summary
public AsymmetricRSAPrivateKey(Algorithm algorithm, BigInteger modulus, BigInteger publicExponent, BigInteger privateExponent, BigInteger p, BigInteger q, BigInteger dp, BigInteger dq, BigInteger qInv)
AsymmetricRSAPrivateKeyback to summary
public AsymmetricRSAPrivateKey(Algorithm algorithm, BigInteger modulus, BigInteger privateExponent)
AsymmetricRSAPrivateKeyback to summary
public AsymmetricRSAPrivateKey(Algorithm algorithm, byte[] privateKeyInfoEncoding)
AsymmetricRSAPrivateKeyback to summary
public AsymmetricRSAPrivateKey(Algorithm algorithm, PrivateKeyInfo privateKeyInfo)
AsymmetricRSAPrivateKeyback to summary
private AsymmetricRSAPrivateKey(Algorithm algorithm, AlgorithmIdentifier algId, RSAPrivateKey privKey)

Method Detail

calculateHashCodeback to summary
private int calculateHashCode()
checkCanReadback to summary
private void checkCanRead()
destroyback to summary
public void destroy()

Overrides default javax.security.auth.Destroyable.destroy.

Doc from javax.security.auth.Destroyable.destroy.

Destroy this Object.

Sensitive information associated with this Object is destroyed or cleared. Subsequent calls to certain methods on this Object will result in an IllegalStateException being thrown.

equalsback to summary
public boolean equals(Object o)

Overrides java.lang.Object.equals.

Implements org.bouncycastle.crypto.Key.equals.

Doc from org.bouncycastle.crypto.Key.equals.

Return true if o is an equivalent key to this.

Parameters
o:Object

object to compare to.

Returns:boolean

true if o is the same or equivalent key, false otherwise.

Annotations
@Override
fieldValueback to summary
private BigInteger fieldValue(BigInteger value)
finalizeback to summary
protected void finalize() throws Throwable

Overrides java.lang.Object.finalize.

Doc from java.lang.Object.finalize.

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the finalize method to dispose of system resources or to perform other cleanup.

When running in a Java virtual machine in which finalization has been disabled or removed, the garbage collector will never call finalize(). In a Java virtual machine in which finalization is enabled, the garbage collector might call finalize only after an indefinite delay.

The general contract of finalize is that it is invoked if and when the Java virtual machine has determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, except as a result of an action taken by the finalization of some other object or class which is ready to be finalized. The finalize method may take any action, including making this object available again to other threads; the usual purpose of finalize, however, is to perform cleanup actions before the object is irrevocably discarded. For example, the finalize method for an object that represents an input/output connection might perform explicit I/O transactions to break the connection before the object is permanently discarded.

The finalize method of class Object performs no special action; it simply returns normally. Subclasses of Object may override this definition.

The Java programming language does not guarantee which thread will invoke the finalize method for any given object. It is guaranteed, however, that the thread that invokes finalize will not be holding any user-visible synchronization locks when finalize is invoked. If an uncaught exception is thrown by the finalize method, the exception is ignored and finalization of that object terminates.

After the finalize method has been invoked for an object, no further action is taken until the Java virtual machine has again determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, including possible actions by other objects or classes which are ready to be finalized, at which point the object may be discarded.

The finalize method is never invoked more than once by a Java virtual machine for any given object.

Any exception thrown by the finalize method causes the finalization of this object to be halted, but is otherwise ignored.

Annotations
@Override
Exceptions
Throwable:
the Exception raised by this method
getAlgorithmback to summary
public Algorithm getAlgorithm()

Overrides org.bouncycastle.crypto.asymmetric.AsymmetricRSAKey.getAlgorithm.

Implements org.bouncycastle.crypto.Key.getAlgorithm.

Return the algorithm this RSA key is for.

Returns:Algorithm

the key's algorithm.

getDPback to summary
public BigInteger getDP()
getDQback to summary
public BigInteger getDQ()
getEncodedback to summary
public final byte[] getEncoded()

Implements org.bouncycastle.crypto.AsymmetricKey.getEncoded.

Doc from org.bouncycastle.crypto.AsymmetricKey.getEncoded.

Return an ASN.1 encoding of the key wrapped in a PrivateKeyInfo or a SubjectPublicKeyInfo structure.

Returns:byte[]

an encoding of a PrivateKeyInfo or a SubjectPublicKeyInfo structure.

getModulusback to summary
public BigInteger getModulus()

Overrides org.bouncycastle.crypto.asymmetric.AsymmetricRSAKey.getModulus.

Return the modulus for this RSA key.

Returns:BigInteger

the key's modulus.

getPback to summary
public BigInteger getP()
getPrivateExponentback to summary
public BigInteger getPrivateExponent()
getPrivateKeyInfoback to summary
private static PrivateKeyInfo getPrivateKeyInfo(byte[] encoding)
getPublicExponentback to summary
public BigInteger getPublicExponent()
getQback to summary
public BigInteger getQ()
getQInvback to summary
public BigInteger getQInv()
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Implements org.bouncycastle.crypto.Key.hashCode.

Doc from org.bouncycastle.crypto.Key.hashCode.

Return the hashCode for the key.

Returns:int

the key's hashCode.

Annotations
@Override
isDestroyedback to summary
public boolean isDestroyed()

Overrides default javax.security.auth.Destroyable.isDestroyed.

Doc from javax.security.auth.Destroyable.isDestroyed.

Determine if this Object has been destroyed.

Returns:boolean

true if this Object has been destroyed, false otherwise.

parsePrivateKeyback to summary
private static RSAPrivateKey parsePrivateKey(PrivateKeyInfo privateKeyInfo)