RSA-PSS(7SSL)
π RSA-PSS β the manual, but make it make sense π
okay so bestie, this is the page for RSA-PSS(7SSL) from the OpenSSL crew. it's short, it's sweet, it's lowkey iconic. let's get into it π«Ά
β¨ NAME β¨
RSA-PSS β the EVP_PKEY RSA-PSS algorithm support. that's the whole name, no notes π
πΈ DESCRIPTION πΈ
okay so picture the RSA algorithm but with β¨boundariesβ¨. the RSA-PSS EVP_PKEY implementation is a restricted version of RSA β it only supports:
- signing,
- verification,
- and key generation,
and it does all of that using PSS padding modes, with optional parameter restrictions on top. it's giving "RSA but it went to therapy and learned to set limits" π
it also comes with its own associated private key and public key formats. yes queen, formats included π
and heads up: this algorithm shares several control operations with the RSA algorithm, but with some restrictions β those are spilled below, keep reading.
π Signing and Verification
signing and verification works basically the same as plain RSA, except the padding mode is always PSS. always. no switching, no negotiating, periodt.
here's the cute part though: if the key you're using has parameter restrictions, then the corresponding signature parameters get set to match those restrictions. for example, 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 key said what it said and everything else falls in line π
ποΈ Key Generation
by default β no parameter restrictions are placed on the generated key. free-range key, roaming wild and free π¦
π NOTES π
the public key format is documented in RFC4055. noted. if you want the full deets, that's where they live.
now, the PKCS#8 private key format used for RSA-PSS keys? it's similar to the RSA format, except:
- it uses the
id-RSASSA-PSSOID, and - the parameters field, if present, restricts the key parameters in the same way as the public key.
so same vibe, different OID, and possibly some restrictions riding along in that parameters field. iykyk π
π CONFORMING TO π
that's it. that's the standard. she conforms π
π₯ SEE ALSO π₯
go read these next, they're all part of the lore:
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)
π 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, bestie, it's not optional and it's not long π
and that's the whole page, no cap π«Ά this was RSA-PSS(7SSL) from OpenSSL, version 4.0.3, dated 2026-09-29 β go forth and sign things responsibly, mwah πβ¨π
π¦ where this page comes from
- ubuntu stonking: openssl 4.0.3-1ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms