1    package org.bouncycastle.crypto.params;
2    
3    import java.math.BigInteger;
4    import java.security.SecureRandom;
5    
6    public class RSAPrivateCrtKeyParameters
7        extends RSAKeyParameters
8    {
9        private BigInteger  e;
10       private BigInteger  p;
11       private BigInteger  q;
12       private BigInteger  dP;
13       private BigInteger  dQ;
14       private BigInteger  qInv;
15   
16       /**
17        * 
18        */
19       public RSAPrivateCrtKeyParameters(
20           BigInteger  modulus,
21           BigInteger  publicExponent,
22           BigInteger  privateExponent,
23           BigInteger  p,
24           BigInteger  q,
25           BigInteger  dP,
26           BigInteger  dQ,
27           BigInteger  qInv)
28       {
29           super(true, modulus, privateExponent);
30   
31           this.e = publicExponent;
32           this.p = p;
33           this.q = q;
34           this.dP = dP;
35           this.dQ = dQ;
36           this.qInv = qInv;
37       }
38   
39       public BigInteger getPublicExponent()
40       {
41           return e;
42       }
43   
44       public BigInteger getP()
45       {
46           return p;
47       }
48   
49       public BigInteger getQ()
50       {
51           return q;
52       }
53   
54       public BigInteger getDP()
55       {
56           return dP;
57       }
58   
59       public BigInteger getDQ()
60       {
61           return dQ;
62       }
63   
64       public BigInteger getQInv()
65       {
66           return qInv;
67       }
68   }
69