java.security.spec

Class RSAMultiPrimePrivateCrtKeySpec

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
BigIntegergetCrtCoefficient()
Returns the CRT Coefficient q-1 mod p.
RSAOtherPrimeInfo[]getOtherPrimeInfo()
Returns a clone of otherPrimeInfo or null if it was null at construction time.
BigIntegergetPrimeExponentP()
Returns d mod (p-1).
BigIntegergetPrimeExponentQ()
Returns d mod (q-1).
BigIntegergetPrimeP()
Returns the prime p.
BigIntegergetPrimeQ()
Returns the prime q.
BigIntegergetPublicExponent()
Returns the public exponent.

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

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.

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).

getPrimeP

public BigInteger getPrimeP()
Returns the prime p.

Returns: the prime p.

getPrimeQ

public BigInteger getPrimeQ()
Returns the prime q.

Returns: the prime q.

getPublicExponent

public BigInteger getPublicExponent()
Returns the public exponent.

Returns: the public exponent.