- java.lang.Object
-
- java.security.spec.RSAPrivateKeySpec
-
- java.security.spec.RSAMultiPrimePrivateCrtKeySpec
-
- All Implemented Interfaces:
KeySpec
public class RSAMultiPrimePrivateCrtKeySpec extends RSAPrivateKeySpec
This class specifies an RSA multi-prime private key, as defined in the PKCS#1 v2.1, using the Chinese Remainder Theorem (CRT) information values for efficiency.- Since:
- 1.4
- See Also:
Key,KeyFactory,KeySpec,PKCS8EncodedKeySpec,RSAPrivateKeySpec,RSAPublicKeySpec,RSAOtherPrimeInfo
-
-
Constructor Summary
Constructors Constructor Description RSAMultiPrimePrivateCrtKeySpec(BigInteger modulus, BigInteger publicExponent, BigInteger privateExponent, BigInteger primeP, BigInteger primeQ, BigInteger primeExponentP, BigInteger primeExponentQ, BigInteger crtCoefficient, RSAOtherPrimeInfo[] otherPrimeInfo)Creates a newRSAMultiPrimePrivateCrtKeySpecgiven the modulus, publicExponent, privateExponent, primeP, primeQ, primeExponentP, primeExponentQ, crtCoefficient, and otherPrimeInfo as defined in PKCS#1 v2.1.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BigIntegergetCrtCoefficient()Returns the crtCoefficient.RSAOtherPrimeInfo[]getOtherPrimeInfo()Returns a copy of the otherPrimeInfo or null if there are only two prime factors (p and q).BigIntegergetPrimeExponentP()Returns the primeExponentP.BigIntegergetPrimeExponentQ()Returns the primeExponentQ.BigIntegergetPrimeP()Returns the primeP.BigIntegergetPrimeQ()Returns the primeQ.BigIntegergetPublicExponent()Returns the public exponent.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class java.security.spec.RSAPrivateKeySpec
getModulus, getPrivateExponent
-
-
-
-
Constructor Detail
-
RSAMultiPrimePrivateCrtKeySpec
public RSAMultiPrimePrivateCrtKeySpec(BigInteger modulus, BigInteger publicExponent, BigInteger privateExponent, BigInteger primeP, BigInteger primeQ, BigInteger primeExponentP, BigInteger primeExponentQ, BigInteger crtCoefficient, RSAOtherPrimeInfo[] otherPrimeInfo)
Creates a newRSAMultiPrimePrivateCrtKeySpecgiven the modulus, publicExponent, privateExponent, primeP, primeQ, primeExponentP, primeExponentQ, crtCoefficient, and otherPrimeInfo as defined in PKCS#1 v2.1.Note that the contents of
otherPrimeInfoare copied to protect against subsequent modification 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, i.e.modulus,publicExponent,privateExponent,primeP,primeQ,primeExponentP,primeExponentQ,crtCoefficient, is null.IllegalArgumentException- if an empty, i.e. 0-length,otherPrimeInfois specified.
-
-
Method Detail
-
getPublicExponent
public BigInteger getPublicExponent()
Returns the public exponent.- Returns:
- the public exponent.
-
getPrimeP
public BigInteger getPrimeP()
Returns the primeP.- Returns:
- the primeP.
-
getPrimeQ
public BigInteger getPrimeQ()
Returns the primeQ.- Returns:
- the primeQ.
-
getPrimeExponentP
public BigInteger getPrimeExponentP()
Returns the primeExponentP.- Returns:
- the primeExponentP.
-
getPrimeExponentQ
public BigInteger getPrimeExponentQ()
Returns the primeExponentQ.- Returns:
- the primeExponentQ.
-
getCrtCoefficient
public BigInteger getCrtCoefficient()
Returns the crtCoefficient.- Returns:
- the crtCoefficient.
-
getOtherPrimeInfo
public RSAOtherPrimeInfo[] getOtherPrimeInfo()
Returns a copy of the otherPrimeInfo or null if there are only two prime factors (p and q).- Returns:
- the otherPrimeInfo. Returns a new array each time this method is called.
-
-