RSA.SignPSS
-----------

Signs data with RSA digital signature with PSS padding.

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [Sign](component_Sign.md) [Encryption](component_Encryption.md) | [15.5](newinversion155.md) | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |

MBS( "RSA.SignPSS"; Algorithm; InputType; InputData; InputEncoding; KeyType; KeyData; KeyEncoding; PasswordType; PasswordData; PasswordEncoding; OutputType { ; OutputInfo; SaltLength } ) 

**MBS**( **"RSA.SignPSS";** /\* Signs data with RSA digital signature with PSS padding. \*/  
**$Algorithm**; /\* Which algorithm to use. Can be MD4, MD5, SHA, SHA1, MDC2, RIPEMD160, SHA224, SHA256, SHA384 or SHA512.e.g. "SHA512" \*/   
**$InputType**; /\* The type of input data.   
Can be Text, Container, Image, Path, PDF, Data, base64 or Hex.e.g. "Text" \*/   
**$InputData**; /\* The actual input data.   
Text, container or file path.e.g. "Hello World" \*/   
**$InputEncoding**; /\* The text encoding for text input.   
Parameter is ignored for other cases.e.g. "UTF-8" \*/   
**$KeyType**; /\* The type of input for private key.   
Can be Text, Container, Image, Path, PDF, Data, base64 or Hex.e.g. "Path" \*/   
**$KeyData**; /\* The actual input data for the key.   
Text, container or file path. Must not be longer than the maximum key length of the given algorithm. If key is too short, we pad it with zero bytes.e.g. "/Users/cs/desktop/test.pem" \*/   
**$KeyEncoding**; /\* The text encoding for text input for the key.   
Parameter is ignored for other cases. \*/   
**$PasswordType**; /\* The type of input for the password of the private key.   
Can be Text, Container, Image, Path, PDF, Data, base64 or Hex.e.g. "Text" \*/   
**$PasswordData**; /\* The actual input data for the password of the private key.   
Text, container or file path. Must not be longer than the maximum key length of the given algorithm. If key is too short, we pad it with zero bytes.e.g. "Hello World" \*/   
**$PasswordEncoding**; /\* The text encoding for text input.   
Parameter is ignored for other cases.e.g. "UTF-8" \*/   
**$OutputType**; /\* The output type.   
Can be Base64, Hex, Text, File, Path.  
Added Base64URL as option for plugin version 10.3.e.g. "Hex" \*/   
**$OutputInfo**; /\* Optional; The addition info for output.   
For text it is the text encoding, for file container the file name and for path the actual native file path.e.g. "" \*/   
**$SaltLength**) /\* Optional; The desired salt length in bytes.  
Default is -1.e.g. -1 \*/ 

### Parameters

| Parameter | Description | Example | Flags |
|---|---|---|---|
| Algorithm | Which algorithm to use. Can be MD4, MD5, SHA, SHA1, MDC2, RIPEMD160, SHA224, SHA256, SHA384 or SHA512. | "SHA512" |  |
| InputType | The type of input data.    Can be Text, Container, Image, Path, PDF, Data, base64 or Hex. | "Text" |  |
| InputData | The actual input data.    Text, container or file path. | "Hello World" |  |
| InputEncoding | The text encoding for text input.    Parameter is ignored for other cases. | "UTF-8" |  |
| KeyType | The type of input for private key.    Can be Text, Container, Image, Path, PDF, Data, base64 or Hex. | "Path" |  |
| KeyData | The actual input data for the key.    Text, container or file path. Must not be longer than the maximum key length of the given algorithm. If key is too short, we pad it with zero bytes. | "/Users/cs/desktop/test.pem" |  |
| KeyEncoding | The text encoding for text input for the key.    Parameter is ignored for other cases. |  |  |
| PasswordType | The type of input for the password of the private key.    Can be Text, Container, Image, Path, PDF, Data, base64 or Hex. | "Text" |  |
| PasswordData | The actual input data for the password of the private key.    Text, container or file path. Must not be longer than the maximum key length of the given algorithm. If key is too short, we pad it with zero bytes. | "Hello World" |  |
| PasswordEncoding | The text encoding for text input.    Parameter is ignored for other cases. | "UTF-8" |  |
| OutputType | The output type.    Can be Base64, Hex, Text, File, Path.   Added Base64URL as option for plugin version 10.3. | "Hex" |  |
| OutputInfo | The addition info for output.    For text it is the text encoding, for file container the file name and for path the actual native file path. | "" | Optional |
| SaltLength | The desired salt length in bytes.   Default is -1. | -1 | Optional      Added in version **16.0**. |

### Result

Returns signature or error.

### Description

Signs data with RSA digital signature with PSS padding.  
Returns signature data in the format specified in OutputType.  
See also [RSA.Sign](RSASign.md) for more details.  
  
Special values for salt length:  
  
| Value | Description |
|---|---|
| -1 | Salt length matches digest |
| -2 | Verify only: auto detect salt length |
| -3 | Set salt length to maximum possible |
| -4 | Auto-detect on verify, set salt length to min(maximum possible, digest length) on sign |

### See also

- [RSA.Sign](RSASign.md)

### Release notes

- **Version 16.0**
    - Added SaltLength parameters for [RSA.SignPSS](https://www.mbsplugins.eu/RSASignPSS.shtml) and [RSA.VerifyPSS](https://www.mbsplugins.eu/RSAVerifyPSS.shtml).
- **Version 15.5**
    - Added [RSA.SignPSS](https://www.mbsplugins.eu/RSASignPSS.shtml) and [RSA.VerifyPSS](https://www.mbsplugins.eu/RSAVerifyPSS.shtml) functions for 2048-bit RSA electronic signature with PSS padding and SHA-256.

### Blog Entries

- [MBS FileMaker Plugin, version 15.6pr2](https://www.mbsplugins.de/archive/2025-12-08/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)
- [New in MBS FileMaker Plugin 15.5](https://www.mbsplugins.de/archive/2025-11-25/New_in_MBS_FileMaker_Plugin_15/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin, version 15.5pr1](https://www.mbsplugins.de/archive/2025-10-01/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)

This function checks for a license.

Created 23th September 2025 , last changed 7th January 2026

  
[RSA.Sign](RSASign.md) - [RSA.Verify](RSAVerify.md)

[HTML Version](RSASignPSS.shtml)