/** * Copyright (c) 2006 by Chris Gray, /k/ Embedded Java Solutions. * All rights reserved. * * $Id: RSAMultiPrimePrivateCrtKeySpec.java,v 1.1 2006/04/18 11:35:28 cvs Exp $ */ package java.security.spec; import java.math.BigInteger; /** * RSAMultiPrimePrivateCrtKeySpec: * * @author ruelens * * created: Apr 11, 2006 */ public class RSAMultiPrimePrivateCrtKeySpec extends RSAPrivateKeySpec { private RSAOtherPrimeInfo[] otherPrimeInfo; private BigInteger crtCoefficient; private BigInteger primeExponentQ; private BigInteger primeExponentP; private BigInteger primeP; private BigInteger primeQ; private BigInteger publicExponent; /** * @param modulus * @param privateExponent */ public RSAMultiPrimePrivateCrtKeySpec(BigInteger modulus, BigInteger publicExponent, BigInteger privateExponent, BigInteger primeP, BigInteger primeQ, BigInteger primeExponentP, BigInteger primeExponentQ, BigInteger crtCoefficient, RSAOtherPrimeInfo[] otherPrimeInfo) { super(modulus, privateExponent); if(publicExponent == null || primeP == null || crtCoefficient == null || primeExponentP == null || primeExponentQ == null || primeQ == null) { throw new NullPointerException(); } if(otherPrimeInfo != null && otherPrimeInfo.length == 0) { throw new IllegalArgumentException("otherPrimeInfo length == 0"); } this.publicExponent =publicExponent; this.otherPrimeInfo = otherPrimeInfo; this.crtCoefficient = crtCoefficient; this.primeExponentQ = primeExponentQ; this.primeExponentP = primeExponentP; this.primeP = primeP; this.primeQ = primeQ; } /** * @return Returns the crtCoefficient. */ public BigInteger getCrtCoefficient() { return crtCoefficient; } /** * @return Returns the otherPrimeInfo. */ public RSAOtherPrimeInfo[] getOtherPrimeInfo() { return otherPrimeInfo; } /** * @return Returns the primeExponentP. */ public BigInteger getPrimeExponentP() { return primeExponentP; } /** * @return Returns the primeExponentQ. */ public BigInteger getPrimeExponentQ() { return primeExponentQ; } /** * @return Returns the primeP. */ public BigInteger getPrimeP() { return primeP; } /** * @return Returns the primeQ. */ public BigInteger getPrimeQ() { return primeQ; } /** * @return Returns the publicExponent. */ public BigInteger getPublicExponent() { return publicExponent; } }