RSA-PSS(7ossl)
π RSA-PSS (7ossl, bestie β that's the OpenSSL manual page name, iykyk)
β¨ NAME β¨
RSA-PSS β the EVP_PKEY RSA-PSS algorithm support, aka the RSA glow-up with rules π
πΈ DESCRIPTION πΈ
Okay so listen. The RSA-PSS EVP_PKEY implementation is literally just the RSA algorithm but with a restricted vibe β it only supports signing, verification and key generation using PSS padding modes, and it may have optional parameter restrictions on top. No cap. π
It has associated private key and public key formats, bestie β both of them, we're not leaving anyone behind. π«Ά
This algorithm shares several control operations with the RSA algorithm, but with some restrictions, which we get into below. π
π¦ Signing and Verification π¦
Signing and verification is similar to the RSA algorithm, except the padding mode is always PSS. Always. Periodt. π
And if the key in use has parameter restrictions? Then the corresponding signature parameters get set to those restrictions. For example β okay so picture this β if the key can only be used with digest SHA256, MGF1 SHA256 and minimum salt length 32, then the digest, MGF1 digest and salt length will be set to SHA256, SHA256 and 32 respectively. The way it just knows. π₯
β Key Generation β
By default, no parameter restrictions are placed on the generated key. Free spirit energy. π
π NOTES π
The public key format is documented in RFC4055. Go read it, bestie. π
The PKCS#8 private key format used for RSA-PSS keys is similar to the RSA format, except it uses the id-RSASSA-PSS OID, and the parameters field β if present β restricts the key parameters in the same way as the public key. Same rules, different outfit. π§
π CONFORMING TO π
RFC 4055 β we stay compliant, we stay iconic. π
π₯ SEE ALSO π₯
EVP_PKEY_CTX_set_rsa_pss_keygen_md(3)EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(3)EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(3)EVP_PKEY_CTX_new(3)EVP_PKEY_CTX_ctrl_str(3)EVP_PKEY_derive(3)
Go read them all, they're all main character energy. π
π COPYRIGHT π
Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
Fr fr, read the license before you do anything. That's not me being dramatic, that's just the rules. π
Okay that's the whole page bestie π«Ά β version 3.5.9, dated 2026-09-29, OpenSSL's finest, and yes I did put the page name in the title at the top because we don't skip the header. Slay, bye! π β¨π
π¦ where this page comes from
- alpine 3.23: openssl-doc 3.5.9-r0 Β· Apache-2.0
- alpine 3.24: openssl-doc 3.5.9-r0 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms