# PSSParameterSpec

public class **PSSParameterSpec** extends [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html)  
implements [AlgorithmParameterSpec](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/AlgorithmParameterSpec.html) This class specifies a parameter spec for RSA-PSS signature scheme,
as defined in the
[PKCS#1 v2.1](http://www.ietf.org/rfc/rfc3447.txt)
standard.

Its ASN.1 definition in PKCS#1 standard is described below:

```
 RSASSA-PSS-params ::= SEQUENCE {
   hashAlgorithm      [0] OAEP-PSSDigestAlgorithms  DEFAULT sha1,
   maskGenAlgorithm   [1] PKCS1MGFAlgorithms  DEFAULT mgf1SHA1,
   saltLength         [2] INTEGER  DEFAULT 20,
   trailerField       [3] INTEGER  DEFAULT 1
 }
 
```
where

```
 OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
   { OID id-sha1 PARAMETERS NULL   }|
   { OID id-sha224 PARAMETERS NULL   }|
   { OID id-sha256 PARAMETERS NULL }|
   { OID id-sha384 PARAMETERS NULL }|
   { OID id-sha512 PARAMETERS NULL },
   ...  -- Allows for future expansion --
 }

 PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
   { OID id-mgf1 PARAMETERS OAEP-PSSDigestAlgorithms },
   ...  -- Allows for future expansion --
 }
 
```

Note: the PSSParameterSpec.DEFAULT uses the following:
message digest -- "SHA-1"
mask generation function (mgf) -- "MGF1"
parameters for mgf -- MGF1ParameterSpec.SHA1
SaltLength -- 20
TrailerField -- 1

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/MGF1ParameterSpec.html`
- `https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/AlgorithmParameterSpec.html`
- `https://developers.google.com/j2objc/javadoc/jre/reference/java/security/Signature.html`

### Field Summary

|---|---|---|
| public static final [PSSParameterSpec](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/PSSParameterSpec.html) | [DEFAULT](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/PSSParameterSpec.html#DEFAULT) | The PSS parameter set with all default values. |

### Public Constructor Summary

|---|---|
|   | [PSSParameterSpec](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/PSSParameterSpec.html#PSSParameterSpec(java.lang.String,%20java.lang.String,%20java.security.spec.AlgorithmParameterSpec,%20int,%20int))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) mdName, [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) mgfName, [AlgorithmParameterSpec](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/AlgorithmParameterSpec.html) mgfSpec, int saltLen, int trailerField) Creates a new `PSSParameterSpec` as defined in the PKCS #1 standard using the specified message digest, mask generation function, parameters for mask generation function, salt length, and trailer field values. |
|   | [PSSParameterSpec](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/PSSParameterSpec.html#PSSParameterSpec(int))(int saltLen) Creates a new `PSSParameterSpec` using the specified salt length and other default values as defined in PKCS#1. |

### Public Method Summary

|---|---|
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getDigestAlgorithm](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/PSSParameterSpec.html#getDigestAlgorithm())() Returns the message digest algorithm name. |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getMGFAlgorithm](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/PSSParameterSpec.html#getMGFAlgorithm())() Returns the mask generation function algorithm name. |
| [AlgorithmParameterSpec](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/AlgorithmParameterSpec.html) | [getMGFParameters](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/PSSParameterSpec.html#getMGFParameters())() Returns the parameters for the mask generation function. |
| int | [getSaltLength](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/PSSParameterSpec.html#getSaltLength())() Returns the salt length in bits. |
| int | [getTrailerField](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/PSSParameterSpec.html#getTrailerField())() Returns the value for the trailer field, i.e. |

### Inherited Method Summary

From class [java.lang.Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html)

|---|---|
| [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) | [clone](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#clone())() Creates and returns a copy of this `Object`. |
| boolean | [equals](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#equals(java.lang.Object))([Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) obj) Compares this instance with the specified object and indicates if they are equal. |
| void | [finalize](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#finalize())() Invoked when the garbage collector has detected that this instance is no longer reachable. |
| final [Class](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html)\<?\> | [getClass](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#getClass())() Returns the unique instance of `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html` that represents this object's class. |
| int | [hashCode](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#hashCode())() Returns an integer hash code for this object. |
| final void | [notify](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#notify())() Causes a thread which is waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |
| final void | [notifyAll](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#notifyAll())() Causes all threads which are waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [toString](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#toString())() Returns a string containing a concise, human-readable description of this object. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait(long,%20int))(long timeout, int nanos) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait(long))(long timeout) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait())() Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object. |

## Fields

#### public static final PSSParameterSpec
**DEFAULT**

The PSS parameter set with all default values.

## Public Constructors

#### public
**PSSParameterSpec**
([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) mdName, [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) mgfName, [AlgorithmParameterSpec](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/AlgorithmParameterSpec.html) mgfSpec, int saltLen, int trailerField)

Creates a new `PSSParameterSpec` as defined in
the PKCS #1 standard using the specified message digest,
mask generation function, parameters for mask generation
function, salt length, and trailer field values.

##### Parameters

| mdName | the algorithm name of the hash function. |
| mgfName | the algorithm name of the mask generation function. |
| mgfSpec | the parameters for the mask generation function. If null is specified, null will be returned by getMGFParameters(). |
| saltLen | the length of salt. |
| trailerField | the value of the trailer field. |
|---|---|

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if `mdName`, or `mgfName` is null. |
| [IllegalArgumentException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/IllegalArgumentException.html) | if `saltLen` or `trailerField` is less than 0. |
|---|---|

#### public
**PSSParameterSpec**
(int saltLen)

Creates a new `PSSParameterSpec`
using the specified salt length and other default values as
defined in PKCS#1.

##### Parameters

| saltLen | the length of salt in bits to be used in PKCS#1 PSS encoding. |
|---|---|

##### Throws

| [IllegalArgumentException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/IllegalArgumentException.html) | if `saltLen` is less than 0. |
|---|---|

## Public Methods

#### public [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html)
**getDigestAlgorithm**
()

Returns the message digest algorithm name.

##### Returns

- the message digest algorithm name.

#### public [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html)
**getMGFAlgorithm**
()

Returns the mask generation function algorithm name.

##### Returns

- the mask generation function algorithm name.

#### public [AlgorithmParameterSpec](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/spec/AlgorithmParameterSpec.html)
**getMGFParameters**
()

Returns the parameters for the mask generation function.

##### Returns

- the parameters for the mask generation function.

#### public int
**getSaltLength**
()

Returns the salt length in bits.

##### Returns

- the salt length.

#### public int
**getTrailerField**
()

Returns the value for the trailer field, i.e. bc in PKCS#1 v2.1.

##### Returns

- the value for the trailer field, i.e. bc in PKCS#1 v2.1.