Module java.base

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:
  • Constructor Details

    • 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 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 specified parameters with the exception of otherPrimeInfo 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 of otherPrimeInfo and keyParams is null
      IllegalArgumentException - if an empty, i.e. 0-length, otherPrimeInfo is specified
      Since:
      11
  • Method Details

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