📄 rsaprivatekey.java
字号:
package org.infosecurity.cryptography;/** * <p>Title: RSA的私钥类 </p> * <p>Description: RSA的私钥类 </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: 中信信息安全组织(CISO)</p> * @author 张荣华 * @version 1.0.2003.0704 */import java.math.BigInteger;import java.security.SecureRandom;import org.bouncycastle.asn1.*;import org.bouncycastle.asn1.pkcs.*;public class RSAPrivateKey extends RSAPublicKey{ private BigInteger d; private BigInteger p; private BigInteger q; private BigInteger dP; private BigInteger dQ; private BigInteger qInv; /** * */ public RSAPrivateKey( BigInteger modulus, BigInteger publicExponent, BigInteger privateExponent, BigInteger p, BigInteger q, BigInteger dP, BigInteger dQ, BigInteger qInv) { super(modulus,publicExponent); this.d = privateExponent; this.p = p; this.q = q; this.dP = dP; this.dQ = dQ; this.qInv = qInv; } public BigInteger getPrivateExponent() { return d; } public BigInteger getPublicExponent() { return super.getExponent(); } public BigInteger getModulus() { return super.getModulus(); } public BigInteger getP() { return p; } public BigInteger getQ() { return q; } public BigInteger getDP() { return dP; } public BigInteger getDQ() { return dQ; } public BigInteger getQInv() { return qInv; } /** * 进行DER编码 * @author 张荣华 */ public DERObject getDERObject() { ASN1EncodableVector v = new ASN1EncodableVector(); v.add(new DERInteger(0)); /* 版本为0 */ v.add(new DERInteger(getModulus())); v.add(new DERInteger(getPublicExponent())); v.add(new DERInteger(getPrivateExponent())); v.add(new DERInteger(getP())); v.add(new DERInteger(getQ())); v.add(new DERInteger(getDP())); v.add(new DERInteger(getQInv())); v.add(new DERInteger(getQInv())); return new DERSequence(v); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -