- /*
- * @(#)RSAPrivateCrtKeySpec.java 1.8 00/02/02
- *
- * Copyright 1998-2000 Sun Microsystems, Inc. All Rights Reserved.
- *
- * This software is the proprietary information of Sun Microsystems, Inc.
- * Use is subject to license terms.
- *
- */
-
- package java.security.spec;
-
- import java.math.BigInteger;
-
- /**
- * This class specifies an RSA private key, as defined in the PKCS#1
- * standard, using the Chinese Remainder Theorem (CRT) information values for
- * efficiency.
- *
- * @author Jan Luehe
- *
- * @version 1.8 00/02/02
- *
- * @see java.security.Key
- * @see java.security.KeyFactory
- * @see KeySpec
- * @see PKCS8EncodedKeySpec
- * @see RSAPrivateKeySpec
- * @see RSAPublicKeySpec
- */
-
- public class RSAPrivateCrtKeySpec extends RSAPrivateKeySpec {
-
- private BigInteger modulus;
- private BigInteger publicExponent;
- private BigInteger privateExponent;
- private BigInteger primeP;
- private BigInteger primeQ;
- private BigInteger primeExponentP;
- private BigInteger primeExponentQ;
- private BigInteger crtCoefficient;
-
-
-
- /**
- * Creates a new <code>RSAPrivateCrtKeySpec</code>
- * given the modulus, publicExponent, privateExponent,
- * primeP, primeQ, primeExponentP, primeExponentQ, and
- * crtCoefficient as defined in PKCS#1.
- *
- * @param modulus the modulus n
- * @param publicExponent the public exponent e
- * @param privateExponent the private exponent d
- * @param primeP the prime factor p of n
- * @param primeQ the prime factor q of n
- * @param primeExponentP this is d mod (p-1)
- * @param primeExponentQ this is d mod (q-1)
- * @param crtCoefficient the Chinese Remainder Theorem
- * coefficient q-1 mod p
- */
- public RSAPrivateCrtKeySpec(BigInteger modulus,
- BigInteger publicExponent,
- BigInteger privateExponent,
- BigInteger primeP,
- BigInteger primeQ,
- BigInteger primeExponentP,
- BigInteger primeExponentQ,
- BigInteger crtCoefficient) {
- super(modulus, privateExponent);
- this.publicExponent = publicExponent;
- this.primeP = primeP;
- this.primeQ = primeQ;
- this.primeExponentP = primeExponentP;
- this.primeExponentQ = primeExponentQ;
- this.crtCoefficient = crtCoefficient;
- }
-
- /**
- * Returns the public exponent.
- *
- * @return the public exponent
- */
- public BigInteger getPublicExponent() {
- return this.publicExponent;
- }
-
- /**
- * Returns the primeP.
-
- * @return the primeP
- */
- public BigInteger getPrimeP() {
- return this.primeP;
- }
-
- /**
- * Returns the primeQ.
- *
- * @return the primeQ
- */
- public BigInteger getPrimeQ() {
- return this.primeQ;
- }
-
- /**
- * Returns the primeExponentP.
- *
- * @return the primeExponentP
- */
- public BigInteger getPrimeExponentP() {
- return this.primeExponentP;
- }
-
- /**
- * Returns the primeExponentQ.
- *
- * @return the primeExponentQ
- */
- public BigInteger getPrimeExponentQ() {
- return this.primeExponentQ;
- }
-
- /**
- * Returns the crtCoefficient.
- *
- * @return the crtCoefficient
- */
- public BigInteger getCrtCoefficient() {
- return this.crtCoefficient;
- }
- }