Skip to content

OSSL_PROVIDER-base

NAME

OSSL_PROVIDER-base - OpenSSL base provider

DESCRIPTION

The OpenSSL base provider supplies the encoding for OpenSSL's asymmetric cryptography.

Properties

The implementations in this provider specifically have this property defined:

  • "provider=base"

It may be used in a property query string with fetching functions.

It isn't mandatory to query for this property, except to make sure to get implementations of this provider and none other.

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

These may be used in a property query string with fetching functions to select which data are to be encoded. Either the private key material, the public key material or the domain parameters can be selected.

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

These may be used in a property query string with fetching functions to select the encoding output format. Either the DER, PEM and plaintext are currently permitted.

OPERATIONS AND ALGORITHMS

The OpenSSL base provider supports these operations and algorithms:

Random Number Generation

In addition to this provider, the "SEED-SRC" algorithm is also available in the default provider.

Asymmetric Key Encoder

  • RSA
  • RSA-PSS
  • DH
  • DHX
  • DSA
  • EC
  • ED25519
  • ED448
  • X25519
  • X448
  • SM2

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.

Asymmetric Key Decoder

  • RSA
  • RSA-PSS
  • DH
  • DHX
  • DSA
  • EC
  • ED25519
  • ED448
  • X25519
  • X448
  • SM2
  • DER

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.

Stores

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)

HISTORY

This functionality was added in OpenSSL 3.0.

Copyright 2020-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.