Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/java/security/spec/RSAPrivateKeySpec#pubctors) \| [Methods](https://developer.android.com/reference/java/security/spec/RSAPrivateKeySpec#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/security/spec/RSAPrivateKeySpec#inhmethods)

# RSAPrivateKeySpec


`
public


class
RSAPrivateKeySpec
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


implements

https://developer.android.com/reference/java/security/spec/KeySpec


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | java.security.spec.RSAPrivateKeySpec |

|---|
| Known direct subclasses [RSAMultiPrimePrivateCrtKeySpec](https://developer.android.com/reference/java/security/spec/RSAMultiPrimePrivateCrtKeySpec), [RSAPrivateCrtKeySpec](https://developer.android.com/reference/java/security/spec/RSAPrivateCrtKeySpec) |---|---| | [RSAMultiPrimePrivateCrtKeySpec](https://developer.android.com/reference/java/security/spec/RSAMultiPrimePrivateCrtKeySpec) | This class specifies an RSA multi-prime private key, as defined in the [PKCS#1 v2.2](https://tools.ietf.org/rfc/rfc8017.txt) standard using the Chinese Remainder Theorem (CRT) information values for efficiency. | | [RSAPrivateCrtKeySpec](https://developer.android.com/reference/java/security/spec/RSAPrivateCrtKeySpec) | This class specifies an RSA private key, as defined in the [PKCS#1 v2.2](https://tools.ietf.org/rfc/rfc8017.txt) standard, using the Chinese Remainder Theorem (CRT) information values for efficiency. | |

<br />

*** ** * ** ***

This class specifies an RSA private key.
**See also:**

- `https://developer.android.com/reference/java/security/Key`
- `https://developer.android.com/reference/java/security/KeyFactory`
- `https://developer.android.com/reference/java/security/spec/KeySpec`
- `https://developer.android.com/reference/java/security/spec/PKCS8EncodedKeySpec`
- `https://developer.android.com/reference/java/security/spec/RSAPublicKeySpec`
- `https://developer.android.com/reference/java/security/spec/RSAPrivateCrtKeySpec`

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/java/security/spec/RSAPrivateKeySpec#RSAPrivateKeySpec(java.math.BigInteger,%20java.math.BigInteger)(https://developer.android.com/reference/java/math/BigInteger modulus, https://developer.android.com/reference/java/math/BigInteger privateExponent) ` Creates a new RSAPrivateKeySpec. |
| ` https://developer.android.com/reference/java/security/spec/RSAPrivateKeySpec#RSAPrivateKeySpec(java.math.BigInteger,%20java.math.BigInteger,%20java.security.spec.AlgorithmParameterSpec)(https://developer.android.com/reference/java/math/BigInteger modulus, https://developer.android.com/reference/java/math/BigInteger privateExponent, https://developer.android.com/reference/java/security/spec/AlgorithmParameterSpec params) ` Creates a new RSAPrivateKeySpec with additional key parameters. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/java/math/BigInteger` | ` https://developer.android.com/reference/java/security/spec/RSAPrivateKeySpec#getModulus()() ` Returns the modulus. |
| ` https://developer.android.com/reference/java/security/spec/AlgorithmParameterSpec` | ` https://developer.android.com/reference/java/security/spec/RSAPrivateKeySpec#getParams()() ` Returns the parameters associated with this key, may be null if not present. |
| ` https://developer.android.com/reference/java/math/BigInteger` | ` https://developer.android.com/reference/java/security/spec/RSAPrivateKeySpec#getPrivateExponent()() ` Returns the private exponent. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||

## Public constructors

### RSAPrivateKeySpec

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public RSAPrivateKeySpec (BigInteger modulus, 
                BigInteger privateExponent)
```

Creates a new RSAPrivateKeySpec.

<br />

| Parameters ||
|---|---|
| `modulus` | `BigInteger`: the modulus <br /> |
| `privateExponent` | `BigInteger`: the private exponent <br /> |

### RSAPrivateKeySpec

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public RSAPrivateKeySpec (BigInteger modulus, 
                BigInteger privateExponent, 
                AlgorithmParameterSpec params)
```

Creates a new RSAPrivateKeySpec with additional key parameters.

<br />

| Parameters ||
|---|---|
| `modulus` | `BigInteger`: the modulus <br /> |
| `privateExponent` | `BigInteger`: the private exponent <br /> |
| `params` | `AlgorithmParameterSpec`: the parameters associated with this key, may be null <br /> |

## Public methods

### getModulus

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public BigInteger getModulus ()
```

Returns the modulus.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/math/BigInteger` | the modulus <br /> |

### getParams

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AlgorithmParameterSpec getParams ()
```

Returns the parameters associated with this key, may be null if not
present.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/security/spec/AlgorithmParameterSpec` | the parameters associated with this key <br /> |

### getPrivateExponent

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public BigInteger getPrivateExponent ()
```

Returns the private exponent.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/math/BigInteger` | the private exponent <br /> |