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/DSAPrivateKeySpec#pubctors) \| [Methods](https://developer.android.com/reference/java/security/spec/DSAPrivateKeySpec#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/security/spec/DSAPrivateKeySpec#inhmethods)

# DSAPrivateKeySpec

` public class DSAPrivateKeySpec `   
` 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.DSAPrivateKeySpec |

<br />

*** ** * ** ***

This class specifies a DSA private key with its associated parameters.
**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/DSAPublicKeySpec`
- `https://developer.android.com/reference/java/security/spec/PKCS8EncodedKeySpec`

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/java/security/spec/DSAPrivateKeySpec#DSAPrivateKeySpec(java.math.BigInteger,%20java.math.BigInteger,%20java.math.BigInteger,%20java.math.BigInteger)(https://developer.android.com/reference/java/math/BigInteger x, https://developer.android.com/reference/java/math/BigInteger p, https://developer.android.com/reference/java/math/BigInteger q, https://developer.android.com/reference/java/math/BigInteger g) ` Creates a new DSAPrivateKeySpec with the specified parameter values. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/java/math/BigInteger` | ` https://developer.android.com/reference/java/security/spec/DSAPrivateKeySpec#getG()() ` Returns the base `g`. |
| ` https://developer.android.com/reference/java/math/BigInteger` | ` https://developer.android.com/reference/java/security/spec/DSAPrivateKeySpec#getP()() ` Returns the prime `p`. |
| ` https://developer.android.com/reference/java/math/BigInteger` | ` https://developer.android.com/reference/java/security/spec/DSAPrivateKeySpec#getQ()() ` Returns the sub-prime `q`. |
| ` https://developer.android.com/reference/java/math/BigInteger` | ` https://developer.android.com/reference/java/security/spec/DSAPrivateKeySpec#getX()() ` Returns the private key `x`. |

### 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

### DSAPrivateKeySpec

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

```
public DSAPrivateKeySpec (BigInteger x, 
                BigInteger p, 
                BigInteger q, 
                BigInteger g)
```

Creates a new DSAPrivateKeySpec with the specified parameter values.

<br />

| Parameters ||
|---|---|
| `x` | `BigInteger`: the private key. <br /> |
| `p` | `BigInteger`: the prime. <br /> |
| `q` | `BigInteger`: the sub-prime. <br /> |
| `g` | `BigInteger`: the base. <br /> |

## Public methods

### getG

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

```
public BigInteger getG ()
```

Returns the base `g`.

<br />

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

### getP

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

```
public BigInteger getP ()
```

Returns the prime `p`.

<br />

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

### getQ

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

```
public BigInteger getQ ()
```

Returns the sub-prime `q`.

<br />

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

### getX

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

```
public BigInteger getX ()
```

Returns the private key `x`.

<br />

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