Methods Summary |
---|
public java.math.BigInteger | getCoefficient()
return coefficient;
|
public java.math.BigInteger | getExponent1()
return exponent1;
|
public java.math.BigInteger | getExponent2()
return exponent2;
|
public static org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure | getInstance(org.bouncycastle.asn1.ASN1TaggedObject obj, boolean explicit)
return getInstance(ASN1Sequence.getInstance(obj, explicit));
|
public static org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure | getInstance(java.lang.Object obj)
if (obj instanceof RSAPrivateKeyStructure)
{
return (RSAPrivateKeyStructure)obj;
}
else if (obj instanceof ASN1Sequence)
{
return new RSAPrivateKeyStructure((ASN1Sequence)obj);
}
throw new IllegalArgumentException("unknown object in factory");
|
public java.math.BigInteger | getModulus()
return modulus;
|
public java.math.BigInteger | getPrime1()
return prime1;
|
public java.math.BigInteger | getPrime2()
return prime2;
|
public java.math.BigInteger | getPrivateExponent()
return privateExponent;
|
public java.math.BigInteger | getPublicExponent()
return publicExponent;
|
public int | getVersion()
return version;
|
public org.bouncycastle.asn1.DERObject | toASN1Object()This outputs the key in PKCS1v2 format.
RSAPrivateKey ::= SEQUENCE {
version Version,
modulus INTEGER, -- n
publicExponent INTEGER, -- e
privateExponent INTEGER, -- d
prime1 INTEGER, -- p
prime2 INTEGER, -- q
exponent1 INTEGER, -- d mod (p-1)
exponent2 INTEGER, -- d mod (q-1)
coefficient INTEGER, -- (inverse of q) mod p
otherPrimeInfos OtherPrimeInfos OPTIONAL
}
Version ::= INTEGER { two-prime(0), multi(1) }
(CONSTRAINED BY {-- version must be multi if otherPrimeInfos present --})
This routine is written to output PKCS1 version 2.1, private keys.
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(new DERInteger(version)); // version
v.add(new DERInteger(getModulus()));
v.add(new DERInteger(getPublicExponent()));
v.add(new DERInteger(getPrivateExponent()));
v.add(new DERInteger(getPrime1()));
v.add(new DERInteger(getPrime2()));
v.add(new DERInteger(getExponent1()));
v.add(new DERInteger(getExponent2()));
v.add(new DERInteger(getCoefficient()));
if (otherPrimeInfos != null)
{
v.add(otherPrimeInfos);
}
return new DERSequence(v);
|