Class RSAMultiPrimePrivateCrtKeySpec
- 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.2 standard using the Chinese Remainder Theorem (CRT) information values for efficiency.
- Since:
- 1.4
- See Also:
-
Key
,KeyFactory
,KeySpec
,PKCS8EncodedKeySpec
,RSAPrivateKeySpec
,RSAPublicKeySpec
,RSAOtherPrimeInfo
Constructor Summary
Constructor | Description |
---|---|
RSAMultiPrimePrivateCrtKeySpec(BigInteger modulus,
BigInteger publicExponent,
BigInteger privateExponent,
BigInteger primeP,
BigInteger primeQ,
BigInteger primeExponentP,
BigInteger primeExponentQ,
BigInteger crtCoefficient,
RSAOtherPrimeInfo[] otherPrimeInfo) | Creates a new |
RSAMultiPrimePrivateCrtKeySpec(BigInteger modulus,
BigInteger publicExponent,
BigInteger privateExponent,
BigInteger primeP,
BigInteger primeQ,
BigInteger primeExponentP,
BigInteger primeExponentQ,
BigInteger crtCoefficient,
RSAOtherPrimeInfo[] otherPrimeInfo,
AlgorithmParameterSpec keyParams) | Creates a new |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
BigInteger | getCrtCoefficient() | Returns the crtCoefficient. |
RSAOtherPrimeInfo[] | getOtherPrimeInfo() | Returns a copy of the otherPrimeInfo or null if there are only two prime factors (p and q). |
BigInteger | getPrimeExponentP() | Returns the primeExponentP. |
BigInteger | getPrimeExponentQ() | Returns the primeExponentQ. |
BigInteger | getPrimeP() | Returns the primeP. |
BigInteger | getPrimeQ() | Returns the primeQ. |
BigInteger | getPublicExponent() | Returns the public exponent. |
Methods declared in class java.security.spec.RSAPrivateKeySpec
getModulus, getParams, getPrivateExponent
Methods declared in 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)
Creates a new RSAMultiPrimePrivateCrtKeySpec
.
Note that the contents of otherPrimeInfo
are 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 q -
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 specified parameters with the exception ofotherPrimeInfo
is null -
IllegalArgumentException
- if an empty, i.e. 0-length,otherPrimeInfo
is specified
RSAMultiPrimePrivateCrtKeySpec
public RSAMultiPrimePrivateCrtKeySpec(BigInteger modulus, BigInteger publicExponent, BigInteger privateExponent, BigInteger primeP, BigInteger primeQ, BigInteger primeExponentP, BigInteger primeExponentQ, BigInteger crtCoefficient, RSAOtherPrimeInfo[] otherPrimeInfo, AlgorithmParameterSpec keyParams)
Creates a new RSAMultiPrimePrivateCrtKeySpec
with additional key parameters.
Note that the contents of otherPrimeInfo
are 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) -
keyParams
- the parameters associated with key - Throws:
-
NullPointerException
- if any of the specified parameters with the exception ofotherPrimeInfo
andkeyParams
is null -
IllegalArgumentException
- if an empty, i.e. 0-length,otherPrimeInfo
is specified - Since:
- 11
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.