001    /**
002     *
003     *  Licensed to the Apache Software Foundation (ASF) under one or more
004     *  contributor license agreements.  See the NOTICE file distributed with
005     *  this work for additional information regarding copyright ownership.
006     *  The ASF licenses this file to You under the Apache License, Version 2.0
007     *  (the "License"); you may not use this file except in compliance with
008     *  the License.  You may obtain a copy of the License at
009     *
010     *     http://www.apache.org/licenses/LICENSE-2.0
011     *
012     *  Unless required by applicable law or agreed to in writing, software
013     *  distributed under the License is distributed on an "AS IS" BASIS,
014     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015     *  See the License for the specific language governing permissions and
016     *  limitations under the License.
017     */
018    
019    package org.apache.geronimo.util.crypto.params;
020    
021    import java.math.BigInteger;
022    
023    public class RSAPrivateCrtKeyParameters
024        extends RSAKeyParameters
025    {
026        private BigInteger  e;
027        private BigInteger  p;
028        private BigInteger  q;
029        private BigInteger  dP;
030        private BigInteger  dQ;
031        private BigInteger  qInv;
032    
033        /**
034         *
035         */
036        public RSAPrivateCrtKeyParameters(
037            BigInteger  modulus,
038            BigInteger  publicExponent,
039            BigInteger  privateExponent,
040            BigInteger  p,
041            BigInteger  q,
042            BigInteger  dP,
043            BigInteger  dQ,
044            BigInteger  qInv)
045        {
046            super(true, modulus, privateExponent);
047    
048            this.e = publicExponent;
049            this.p = p;
050            this.q = q;
051            this.dP = dP;
052            this.dQ = dQ;
053            this.qInv = qInv;
054        }
055    
056        public BigInteger getPublicExponent()
057        {
058            return e;
059        }
060    
061        public BigInteger getP()
062        {
063            return p;
064        }
065    
066        public BigInteger getQ()
067        {
068            return q;
069        }
070    
071        public BigInteger getDP()
072        {
073            return dP;
074        }
075    
076        public BigInteger getDQ()
077        {
078            return dQ;
079        }
080    
081        public BigInteger getQInv()
082        {
083            return qInv;
084        }
085    }