- 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 and Description RSAMultiPrimePrivateCrtKeySpec(BigInteger modulus, BigInteger publicExponent, BigInteger privateExponent, BigInteger primeP, BigInteger primeQ, BigInteger primeExponentP, BigInteger primeExponentQ, BigInteger crtCoefficient, RSAOtherPrimeInfo[] otherPrimeInfo)
Creates a newRSAMultiPrimePrivateCrtKeySpec
given the modulus, publicExponent, privateExponent, primeP, primeQ, primeExponentP, primeExponentQ, crtCoefficient, and otherPrimeInfo as defined in PKCS#1 v2.1.
-
Method Summary
Methods Modifier and Type Method and 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 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 newRSAMultiPrimePrivateCrtKeySpec
given the modulus, publicExponent, privateExponent, primeP, primeQ, primeExponentP, primeExponentQ, crtCoefficient, and otherPrimeInfo as defined in PKCS#1 v2.1.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).- 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,otherPrimeInfo
is 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.
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-java/security/spec/rsamultiprimeprivatecrtkeyspec.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.