OSSL_PROVIDER-BASE(7SSL)

✨ OSSL_PROVIDER-BASE(7SSL) ✨

okay bestie, gather round, because this is the OpenSSL base provider page and it's lowkey iconic πŸ’… (and yes, the manual name is literally OSSL_PROVIDER-BASE(7SSL), we're not being weird about it, that's just its full government name)


🌸 NAME 🌸

OSSL_PROVIDER-base β€” the OpenSSL base provider. that's it, that's the name, no notes ✨


πŸ’– DESCRIPTION πŸ’–

so the OpenSSL base provider is the one that supplies the encoding for OpenSSL's asymmetric cryptography. like, it's the girl who handles turning your keys into bytes and back. main character energy fr fr 🫢

πŸŽ€ Properties πŸŽ€

the implementations in this provider specifically have this property defined:

"provider=base"

you can use that in a property query string with fetching functions. it's not mandatory to query for this property… unless you wanna make absolutely sure you get implementations of this provider and none other. vibe check, basically. πŸ‘‘

"type=parameters"
"type=private"
"type=public"

these ones? you can use them in a property query string with fetching functions to pick which data gets encoded. either the private key material, the public key material, or the domain parameters can be selected. choose your fighter πŸ’…

"format=der"
"format=pem"
"format=text"

and these cuties let you select the encoding output format in a property query string with fetching functions. DER, PEM and plaintext are currently permitted. rn that's the whole menu ✨


πŸ”₯ OPERATIONS AND ALGORITHMS πŸ”₯

the OpenSSL base provider supports these operations and algorithms:

🌈 Random Number Generation 🌈

just so you know, in addition to this provider, the "SEED-SRC" and "JITTER" algorithms are also available in the default provider. so they're kind of everywhere, no cap.

πŸ¦‹ Asymmetric Key Encoder πŸ¦‹

  • RSA
  • RSA-PSS
  • DH
  • DHX
  • DSA
  • EC
  • ED25519
  • ED448
  • X25519
  • X448
  • SM2
  • ML-DSA-44
  • ML-DSA-65
  • ML-DSA-87
  • ML-KEM-512
  • ML-KEM-768
  • ML-KEM-1024
  • SLH-DSA-SHA2-128s
  • SLH-DSA-SHA2-128f
  • SLH-DSA-SHA2-192s
  • SLH-DSA-SHA2-192f
  • SLH-DSA-SHA2-256s
  • SLH-DSA-SHA2-256f
  • SLH-DSA-SHAKE-128s
  • SLH-DSA-SHAKE-128f
  • SLH-DSA-SHAKE-192s
  • SLH-DSA-SHAKE-192f
  • SLH-DSA-SHAKE-256s
  • SLH-DSA-SHAKE-256f
  • LMS
okay important sad note: private keys are not supported for LMS. that's just how it is bestie 😭

and also? in addition to this provider, all of these encoding algorithms are also available in the default provider. some of these algorithms may be used in combination with the FIPS provider. slay πŸ’œ

🧚 Asymmetric Key Decoder 🧚

  • RSA
  • RSA-PSS
  • DH
  • DHX
  • DSA
  • EC
  • ED25519
  • ED448
  • X25519
  • X448
  • SM2
  • DER
  • ML-DSA-44
  • ML-DSA-65
  • ML-DSA-87
  • ML-KEM-512
  • ML-KEM-768
  • ML-KEM-1024
  • SLH-DSA-SHA2-128s
  • SLH-DSA-SHA2-128f
  • SLH-DSA-SHA2-192s
  • SLH-DSA-SHA2-192f
  • SLH-DSA-SHA2-256s
  • SLH-DSA-SHA2-256f
  • SLH-DSA-SHAKE-128s
  • SLH-DSA-SHAKE-128f
  • SLH-DSA-SHAKE-192s
  • SLH-DSA-SHAKE-192f
  • SLH-DSA-SHAKE-256s
  • SLH-DSA-SHAKE-256f
  • LMS
same warning again because it's real in both places: private keys are not supported for LMS. periodt πŸ’€

and once again, in addition to this provider, all of these decoding algorithms are also available in the default provider, and some of these algorithms may be used in combination with the FIPS provider. consistency is her thing fr fr 🫢

πŸ“ Stores πŸ“

and (say it with me) in addition to this provider, all of these store algorithms are also available in the default provider. ✨


πŸ‘€ SEE ALSO πŸ‘€

OSSL_PROVIDER-default(7), openssl-core.h(7), openssl-core_dispatch.h(7), provider(7)

go read those next bestie, it's giving ✨homework✨ but the fun kind


πŸ“œ HISTORY πŸ“œ

  • this functionality was added in OpenSSL 3.0.
  • support for ML-DSA and ML-KEM was added in OpenSSL 3.5.
  • support for LMS Public Key (SubjectPublicKeyInfo) encoders and decoders was added in OpenSSL 4.0.

growth era, honestly 🌱


Copyright 2020-2026 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 whole thing, bestie πŸŽ€ this was OpenSSL 4.0.3, dated 2026-09-29, signing off from the OSSL_PROVIDER-BASE(7SSL) page. ate and left no crumbs πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from