EVP_ASYM_CIPHER-RSA(7ossl)
πΈ NAME πΈ
EVP_ASYM_CIPHER-RSA β the RSA Asymmetric Cipher algorithm support page, bestie. This is 7ossl (section 7, OpenSSL vibes), and it's literally the whole rundown on how the RSA key type does asymmetric cipher things β¨
π DESCRIPTION π
So. Asymmetric Cipher support for the RSA key type. That's the vibe. Now let's get into the actual deets, because there are a lot of parameters and they all matter π
π RSA Asymmetric Cipher parameters π
"pad-mode"(OSSL_ASYM_CIPHER_PARAM_PAD_MODE) <UTF8 string> β the default provider understands these RSA padding modes when you hand them over in string form π¦"none"(OSSL_PKEY_RSA_PAD_MODE_NONE)"oaep"(OSSL_PKEY_RSA_PAD_MODE_OAEP)"pkcs1"(OSSL_PKEY_RSA_PAD_MODE_PKCSV15) β β οΈ heads up, this padding mode is no longer supported by the FIPS provider for key agreement and key transport. (This is a FIPS 140-3 requirement β not me being dramatic, it's the rules.)"x931"(OSSL_PKEY_RSA_PAD_MODE_X931)
"pad-mode"(OSSL_ASYM_CIPHER_PARAM_PAD_MODE) <integer> β and the default provider also gets these RSA padding modes when you pass them as integers, no cap π«Ά1(RSA_PKCS1_PADDING) β again, this padding mode is no longer supported by the FIPS provider for key agreement and key transport. (FIPS 140-3 requirement, same energy as above.)3(RSA_NO_PADDING)4(RSA_PKCS1_OAEP_PADDING)5(RSA_X931_PADDING)
See EVP_PKEY_CTX_set_rsa_padding(3) for further details π
"digest"(OSSL_ASYM_CIPHER_PARAM_OAEP_DIGEST) <UTF8 string>"digest-props"(OSSL_ASYM_CIPHER_PARAM_OAEP_DIGEST_PROPS) <UTF8 string>"mgf1-digest"(OSSL_ASYM_CIPHER_PARAM_MGF1_DIGEST) <UTF8 string>"mgf1-digest-props"(OSSL_ASYM_CIPHER_PARAM_MGF1_DIGEST_PROPS) <UTF8 string>"oaep-label"(OSSL_ASYM_CIPHER_PARAM_OAEP_LABEL) <octet string>"tls-client-version"(OSSL_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION) <unsigned integer> β seeRSA_PKCS1_WITH_TLS_PADDINGon the pageEVP_PKEY_CTX_set_rsa_padding(3)π"tls-negotiated-version"(OSSL_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION) <unsigned integer> β seeRSA_PKCS1_WITH_TLS_PADDINGon the pageEVP_PKEY_CTX_set_rsa_padding(3)π
See "Asymmetric Cipher Parameters" in provider-asym_cipher(7) for more information π
The OpenSSL FIPS provider also supports the following parameters, and yes, they're iconic in their own way:
"fips-indicator"(OSSL_ASYM_CIPHER_PARAM_FIPS_APPROVED_INDICATOR) <integer>"key-check"(OSSL_ASYM_CIPHER_PARAM_FIPS_KEY_CHECK) <integer>
See "Asymmetric Cipher Parameters" in provider-asym_cipher(7) for more information πΈ
"pkcs15-pad-disabled"(OSSL_ASYM_CIPHER_PARAM_FIPS_RSA_PKCS15_PAD_DISABLED) <integer> β okay so the default value of1causes an error during encryption if the RSA padding mode is set to"pkcs1". Setting this to zero will ignore the error and set the approved"fips-indicator"to0. π¨ And real talk: this option breaks FIPS compliance if it causes the approved"fips-indicator"to return0. So like... know what you're doing, bestie.
π¦ SEE ALSO π¦
EVP_PKEY-RSA(7), EVP_PKEY(3), provider-asym_cipher(7), provider-keymgmt(7), OSSL_PROVIDER-default(7) OSSL_PROVIDER-FIPS(7) β go read these, they're the supporting cast and they ate π
π COPYRIGHT π
Copyright 2022-2024 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>.
and that's the page, bestie πβ¨ this was version 3.5.0, dated 2026-09-25 β the EVP_ASYM_CIPHER-RSA(7ossl) glow-up, signed off with love ππ¦πΈ
π¦ where this page comes from
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms