OSSL_PROVIDER-BASE(7ossl)

๐Ÿ’… OSSL_PROVIDER-base โ€” the OpenSSL base provider โœจ

Okay so this is the 7ossl manual page for OSSL_PROVIDER-base, and bestie, it's lowkey iconic. Buckle up ๐ŸŽ€


๐ŸŒธ NAME ๐ŸŒธ

OSSL_PROVIDER-base โ€” the OpenSSL base provider. That's her. That's the whole name. Slay.


โœจ DESCRIPTION โœจ

So basically the OpenSSL base provider is the one that supplies the encoding for OpenSSL's asymmetric cryptography. That's her job. She encodes. She decodes. She's booked and busy ๐Ÿ’…

๐Ÿ”ฎ Properties ๐Ÿ”ฎ

The implementations in this provider specifically have this property defined:

  • "provider=base"

You can use it in a property query string with fetching functions โ€” iykyk. It isn't mandatory to query for this property, except to make sure you get implementations of this provider and none other. So like, optional but also not, depending on your vibe check ๐Ÿซถ

These ones may be used in a property query string with fetching functions to select which data are to be encoded:

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

Basically you're picking either the private key material, the public key material, or the domain parameters. Choose your fighter โœจ

And these ones may be used in a property query string with fetching functions to select the encoding output format:

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

Either DER, PEM and plaintext are currently permitted. (Yes, the manpage really said "Either" with three things โ€” we don't gatekeep, we support all three ๐Ÿ’€)


๐Ÿ‘‘ OPERATIONS AND ALGORITHMS ๐Ÿ‘‘

The OpenSSL base provider supports these operations and algorithms, and honestly? The list is giving main character energy:

๐ŸŽฒ Random Number Generation ๐ŸŽฒ

In addition to this provider, the "SEED-SRC" and "JITTER" algorithms are also available in the default provider. Sharing is caring ๐Ÿ’–

๐Ÿ” 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

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. Look at her go ๐Ÿฆ‹

๐Ÿ”“ 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

Same deal bestie: in addition to this provider, all of these decoding algorithms are also available in the default provider. Some of these algorithms may be used in combination with the FIPS provider. Not me copying her energy, she just has that energy ๐Ÿ˜ญ

Note the encoder list does not include DER, but the decoder list does. Don't come for me, that's literally what the page says ๐Ÿ™ˆ

๐Ÿ—‚๏ธ Stores ๐Ÿ—‚๏ธ

In addition to this provider, all of these store algorithms are also available in the default provider. Go off, stores ๐Ÿ’œ


๐ŸŒˆ SEE ALSO ๐ŸŒˆ

Read them, love them, cite them in your PR description ๐Ÿซถ


๐Ÿฆ‹ HISTORY ๐Ÿฆ‹

  • This functionality was added in OpenSSL 3.0.
  • Support for ML-DSA and ML-KEM was added in OpenSSL 3.5.

So like, she's been around a minute, but she keeps getting new fits โœจ


Copyright 2020-2025 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. No cap. That's not me being dramatic, that's literally the license talking ๐Ÿ’€

Version 3.5.9, dated 2026-09-29 โ€” that's the whole OSSL_PROVIDER-BASE(7ossl) page bestie, you ate that, periodt ๐Ÿ’…โœจ๐ŸŽ€

๐Ÿ“ฆ where this page comes from