java.security.spec
Class RSAMultiPrimePrivateCrtKeySpec

java.lang.Object
  extended by java.security.spec.RSAPrivateKeySpec
      extended by java.security.spec.RSAMultiPrimePrivateCrtKeySpec
All Implemented Interfaces:
KeySpec

public class RSAMultiPrimePrivateCrtKeySpec
extends RSAPrivateKeySpec

This class represents an RSA multi-prime private key, as defined in the PKCS#1 v2.1, using the Chinese Remainder Theorem (CRT) information values.

Since:
1.4
See Also:
Key, KeyFactory, KeySpec, PKCS8EncodedKeySpec, RSAPrivateKeySpec, RSAPublicKeySpec, RSAOtherPrimeInfo

Constructor Summary
RSAMultiPrimePrivateCrtKeySpec(BigInteger modulus, BigInteger publicExponent, BigInteger privateExponent, BigInteger primeP, BigInteger primeQ, BigInteger primeExponentP, BigInteger primeExponentQ, BigInteger crtCoefficient, RSAOtherPrimeInfo[] otherPrimeInfo)
          Constructs a new instance of RSAMultiPrimePrivateCrtKeySpec given the various PKCS#1 v2.1 parameters.
 
Method Summary
 BigInteger getCrtCoefficient()
          Returns the CRT Coefficient q-1 mod p.
 RSAOtherPrimeInfo[] getOtherPrimeInfo()
          Returns a clone of otherPrimeInfo or null if it was null at construction time.
 BigInteger getPrimeExponentP()
          Returns d mod (p-1).
 BigInteger getPrimeExponentQ()
          Returns d mod (q-1).
 BigInteger getPrimeP()
          Returns the prime p.
 BigInteger getPrimeQ()
          Returns the prime q.
 BigInteger getPublicExponent()
          Returns the public exponent.
 
Methods inherited from class java.security.spec.RSAPrivateKeySpec
getModulus, getPrivateExponent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RSAMultiPrimePrivateCrtKeySpec

public RSAMultiPrimePrivateCrtKeySpec(BigInteger modulus,
                                      BigInteger publicExponent,
                                      BigInteger privateExponent,
                                      BigInteger primeP,
                                      BigInteger primeQ,
                                      BigInteger primeExponentP,
                                      BigInteger primeExponentQ,
                                      BigInteger crtCoefficient,
                                      RSAOtherPrimeInfo[] otherPrimeInfo)
Constructs a new instance of RSAMultiPrimePrivateCrtKeySpec given the various PKCS#1 v2.1 parameters.

Note that otherPrimeInfo is cloned when constructing this object.

Parameters:
modulus - the modulus n.
publicExponent - the public exponent e.
privateExponent - the private exponent d.
primeP - the prime factor p of n.
primeQ - the prime factor q of n.
primeExponentP - this is d mod (p-1).
primeExponentQ - this is d mod (q-1).
crtCoefficient - the Chinese Remainder Theorem coefficient q-1 mod p.
otherPrimeInfo - triplets of the rest of primes, null can be specified if there are only two prime factors (p and q).
Throws:
NullPointerException - if any of the parameters is null.
IllegalArgumentException - if an empty otherPrimeInfo is specified.
Method Detail

getPublicExponent

public BigInteger getPublicExponent()
Returns the public exponent.

Returns:
the public exponent.

getPrimeP

public BigInteger getPrimeP()
Returns the prime p.

Returns:
the prime p.

getPrimeQ

public BigInteger getPrimeQ()
Returns the prime q.

Returns:
the prime q.

getPrimeExponentP

public BigInteger getPrimeExponentP()
Returns d mod (p-1).

Returns:
d mod (p-1).

getPrimeExponentQ

public BigInteger getPrimeExponentQ()
Returns d mod (q-1).

Returns:
d mod (q-1).

getCrtCoefficient

public BigInteger getCrtCoefficient()
Returns the CRT Coefficient q-1 mod p.

Returns:
the CRT Coefficient q-1 mod p.

getOtherPrimeInfo

public RSAOtherPrimeInfo[] getOtherPrimeInfo()
Returns a clone of otherPrimeInfo or null if it was null at construction time.

Returns:
a cloned copy of otherPrimeInfo.