|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.crypto.RSAPrivateKey
public final class RSAPrivateKey
Represents a private key in an RSA system.
A description of the RSA algorithm can be found in PKCS #1 version 2.1. We support this definition of RSA.
RSACryptoSystem
Constructor Summary | ||
---|---|---|
|
RSAPrivateKey(RSACryptoSystem cryptoSystem,
byte[] e,
byte[] d,
byte[] n)
Constructs an RSAPrivateKey object. |
|
|
RSAPrivateKey(RSACryptoSystem cryptoSystem,
byte[] e,
byte[] d,
byte[] p,
byte[] q)
Constructs an RSAPrivateKey object. |
|
|
RSAPrivateKey(RSACryptoSystem cryptoSystem,
byte[] e,
byte[] p,
byte[] q,
byte[] dModPm1,
byte[] dModQm1,
byte[] qInvModP)
Constructs an RSAPrivateKey object. |
|
|
RSAPrivateKey(RSACryptoSystem cryptoSystem,
byte[] e,
byte[] d,
byte[] n,
byte[] p,
byte[] q,
byte[] dModPm1,
byte[] dModQm1,
byte[] qInvModP)
Constructs an RSAPrivateKey object. |
|
|
RSAPrivateKey(RSACryptoSystem cryptoSystem,
CryptoTokenPrivateKeyData cryptoTokenData)
Constructs an RSAPrivateKey object. |
Method Summary | ||
---|---|---|
|
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one. |
|
String |
getAlgorithm()
Returns the name of the algorithm associated with this key ("RSA"). |
|
CryptoSystem |
getCryptoSystem()
Returns the CryptoSystem used by this private key. |
|
CryptoTokenPrivateKeyData |
getCryptoTokenData()
Returns the private key data associated with the private key. |
|
byte[] |
getD()
Returns a copy of the private key exponent, or null if not available. |
|
byte[] |
getDModPm1()
Returns a copy of d mod p-1, or null if not available. |
|
byte[] |
getDModQm1()
Returns a copy of d mod q-1, or null if not available. |
|
byte[] |
getE()
Returns a copy of the public key exponent, or null if not available. |
|
byte[] |
getN()
Returns a copy of the public key modulus, or null if not available. |
|
byte[] |
getP()
Returns a copy of the first prime p, or null if not available. |
|
byte[] |
getQ()
Returns a copy of the second prime q, or null if not available. |
|
byte[] |
getQInvModP()
Returns a copy of the q^-1 mod p (coefficient, Chinese Remainder Theorem), or null if not available. |
|
RSACryptoSystem |
getRSACryptoSystem()
Returns the RSA crypto system associated with the key. |
|
RSACryptoToken |
getRSACryptoToken()
Returns the RSACryptoToken that protects the key. |
|
int |
hashCode()
Returns a hash code value for the object. |
|
void |
verify()
Checks the integrity of the associated CryptoSystem , and then
performs integrity checks on the private key parameters. |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RSAPrivateKey(RSACryptoSystem cryptoSystem, byte[] e, byte[] d, byte[] n) throws InvalidKeyException, CryptoTokenException, CryptoUnsupportedOperationException, UnsupportedCryptoSystemException
RSAPrivateKey
object.
Consider using the other constructors as it is a good practice to provide p and q when constructing a RSAPrivateKey object so that the RSA private key operation (e.g. decryption and signing) can be substantially optimized with the Chinese Remainder Theorem.
cryptoSystem
- An RSACryptoSystem
that contains parameters for the RSA computations.e
- A byte array containing the public exponent e. If null, it will be assumed to be 65537d
- A byte array containing the private exponent.n
- A byte array containing the public modulus n.
InvalidKeyException
- Thrown if the key data is invalid.
CryptoTokenException
- Thrown if an error occurs with a crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.
UnsupportedCryptoSystemException
- Thrown if the specified crypto
system is invalid.public RSAPrivateKey(RSACryptoSystem cryptoSystem, byte[] e, byte[] d, byte[] p, byte[] q) throws InvalidKeyException, CryptoTokenException, CryptoUnsupportedOperationException, UnsupportedCryptoSystemException
RSAPrivateKey
object.
cryptoSystem
- An RSACryptoSystem
that contains parameters for the RSA computations.e
- A byte array containing the public exponent e. If null, it will be assumed to be 65537d
- A byte array containing the private exponent.p
- A byte array containing the first prime in the modulus n.q
- A byte array the second prime in the modulus n. Note: n = p*q.
InvalidKeyException
- Thrown if the key data is invalid.
CryptoTokenException
- Thrown if an error occurs with a crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.
UnsupportedCryptoSystemException
- Thrown if the specified crypto
system is invalid.public RSAPrivateKey(RSACryptoSystem cryptoSystem, byte[] e, byte[] p, byte[] q, byte[] dModPm1, byte[] dModQm1, byte[] qInvModP) throws InvalidKeyException, CryptoTokenException, CryptoUnsupportedOperationException, UnsupportedCryptoSystemException
RSAPrivateKey
object.
cryptoSystem
- An RSACryptoSystem
that contains parameters for the RSA computations.p
- A byte array containing the first prime that makes up the public modulus n.q
- A byte array containing the second prime that makes up the public modulus n.dModPm1
- A byte array containing the d mod p-1.dModQm1
- A byte array containing the d mod q-1.qInvModP
- A byte array containing the q^-1 mod p.
InvalidKeyException
- Thrown if the key data is invalid.
CryptoTokenException
- Thrown if an error occurs with a crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.
UnsupportedCryptoSystemException
- Thrown if the specified crypto
system is invalid.public RSAPrivateKey(RSACryptoSystem cryptoSystem, byte[] e, byte[] d, byte[] n, byte[] p, byte[] q, byte[] dModPm1, byte[] dModQm1, byte[] qInvModP) throws InvalidKeyException, CryptoTokenException, CryptoUnsupportedOperationException, UnsupportedCryptoSystemException
RSAPrivateKey
object.
cryptoSystem
- a RSACryptoSystem
that contains parameters for the RSA computations.e
- A byte array containing the public exponent e.d
- A byte array containing the private exponent d.n
- A byte array containing the public modulus n.p
- A byte array containing the first prime that makes up the public modulus n.q
- A byte array containing the second prime that makes up the public modulus n.dModPm1
- A byte array containing the d mod p-1.dModQm1
- A byte array containing the d mod q-1.qInvModP
- A byte array containing the q^-1 mod p.
InvalidKeyException
- Thrown if the key data is invalid.
CryptoTokenException
- Thrown if an error occurs with a crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.
UnsupportedCryptoSystemException
- Thrown if the specified crypto
system is invalid.public RSAPrivateKey(RSACryptoSystem cryptoSystem, CryptoTokenPrivateKeyData cryptoTokenData)
RSAPrivateKey
object.
cryptoSystem
- An RSACryptoSystem
that contains parameters for the RSA computations.cryptoTokenData
- The data associated with the crypto token.Method Detail |
---|
public String getAlgorithm()
This method will always return the String "RSA".
getAlgorithm
in interface Key
public RSACryptoSystem getRSACryptoSystem()
RSAKey
getRSACryptoSystem
in interface RSAKey
RSACryptoSystem
.public CryptoSystem getCryptoSystem()
PrivateKey
CryptoSystem
used by this private key.
getCryptoSystem
in interface PrivateKey
public void verify() throws InvalidKeyException, InvalidCryptoSystemException, CryptoTokenException
CryptoSystem
, and then
performs integrity checks on the private key parameters. The CryptoSystem
is checked via its verify()
method, and then the following
is verified:
verify
in interface PrivateKey
InvalidKeyException
- If the private key parameters are invalid
InvalidCryptoSystemException
- If the crypto system parameters are invalid
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.public byte[] getE() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to an
unsupported operation.public byte[] getD() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to an
unsupported operation.public byte[] getN() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to an
unsupported operation.public byte[] getP() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to an
unsupported operation.public byte[] getQ() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to an
unsupported operation.public byte[] getDModPm1() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to an
unsupported operation.public byte[] getDModQm1() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to an
unsupported operation.public byte[] getQInvModP() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to an
unsupported operation.public RSACryptoToken getRSACryptoToken()
RSACryptoToken
that protects the key.
public CryptoTokenPrivateKeyData getCryptoTokenData()
CryptoTokenPrivateKeydata
object.public int hashCode()
Object
java.util.Hashtable
.
The general contract of hashCode
is:
hashCode
method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hashtables.
As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
hashCode
in class Object
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
The equals
method implements an equivalence relation:
x
,
x.equals(x)
should return true
.
x
and
y
, x.equals(y)
should return
true
if and only if y.equals(x)
returns
true
.
x
,
y
, and z
, if x.equals(y)
returns true
and y.equals(z)
returns
true
, then x.equals(z)
should return
true
.
x
and y
, multiple invocations of x.equals(y)
consistently return true
or consistently return
false
, provided no information used in
equals
comparisons on the object is modified.
x
,
x.equals(null)
should return false
.
The equals method for class Object
implements
the most discriminating possible equivalence relation on objects;
that is, for any reference values x
and y
,
this method returns true
if and only if x
and
y
refer to the same object (x==y
has the
value true
).
equals
in class Object
obj
- the reference object with which to compare.
true
if this object is the same as the obj
argument; false
otherwise.Boolean.hashCode()
,
Hashtable
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal