org.bouncycastle.asn1.pkcs

## Class RSAPrivateKeyStructure

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Encodable
  - - org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure

All Implemented Interfaces:
  DEREncodable

    public class RSAPrivateKeyStructure
    extends ASN1Encodable

### Field Summary

### Fields inherited from class org.bouncycastle.asn1.ASN1Encodable

`BER, DER`

### Constructor Summary

Constructors
Constructor and Description
`RSAPrivateKeyStructure(ASN1Sequence seq)`
`RSAPrivateKeyStructure(java.math.BigInteger modulus, java.math.BigInteger publicExponent, java.math.BigInteger privateExponent, java.math.BigInteger prime1, java.math.BigInteger prime2, java.math.BigInteger exponent1, java.math.BigInteger exponent2, java.math.BigInteger coefficient)`

### Method Summary

Methods
`java.math.BigInteger` `getCoefficient()`
`java.math.BigInteger` `getExponent1()`
`java.math.BigInteger` `getExponent2()`
`static RSAPrivateKeyStructure` `getInstance(ASN1TaggedObject obj, boolean explicit)`
`static RSAPrivateKeyStructure` `getInstance(java.lang.Object obj)`
`java.math.BigInteger` `getModulus()`
`java.math.BigInteger` `getPrime1()`
`java.math.BigInteger` `getPrime2()`
`java.math.BigInteger` `getPrivateExponent()`
`java.math.BigInteger` `getPublicExponent()`
`int` `getVersion()`
`DERObject` `toASN1Object()` This outputs the key in PKCS1v2 format.

### Methods inherited from class org.bouncycastle.asn1.ASN1Encodable

`equals, getDEREncoded, getDERObject, getEncoded, getEncoded, hashCode`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### RSAPrivateKeyStructure

    public RSAPrivateKeyStructure(java.math.BigInteger modulus,
                          java.math.BigInteger publicExponent,
                          java.math.BigInteger privateExponent,
                          java.math.BigInteger prime1,
                          java.math.BigInteger prime2,
                          java.math.BigInteger exponent1,
                          java.math.BigInteger exponent2,
                          java.math.BigInteger coefficient)

#### RSAPrivateKeyStructure

    public RSAPrivateKeyStructure(ASN1Sequence seq)

### Method Detail

#### getInstance

    public static RSAPrivateKeyStructure getInstance(ASN1TaggedObject obj,
                                     boolean explicit)

#### getInstance

    public static RSAPrivateKeyStructure getInstance(java.lang.Object obj)

#### getVersion

    public int getVersion()

#### getModulus

    public java.math.BigInteger getModulus()

#### getPublicExponent

    public java.math.BigInteger getPublicExponent()

#### getPrivateExponent

    public java.math.BigInteger getPrivateExponent()

#### getPrime1

    public java.math.BigInteger getPrime1()

#### getPrime2

    public java.math.BigInteger getPrime2()

#### getExponent1

    public java.math.BigInteger getExponent1()

#### getExponent2

    public java.math.BigInteger getExponent2()

#### getCoefficient

    public java.math.BigInteger getCoefficient()

#### toASN1Object

    public 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.

Specified by:
  `toASN1Object` in class `ASN1Encodable`