1e1051a39Sopenharmony_ci=pod 2e1051a39Sopenharmony_ci 3e1051a39Sopenharmony_ci=head1 NAME 4e1051a39Sopenharmony_ci 5e1051a39Sopenharmony_ciOSSL_PROVIDER-default - OpenSSL default provider 6e1051a39Sopenharmony_ci 7e1051a39Sopenharmony_ci=head1 DESCRIPTION 8e1051a39Sopenharmony_ci 9e1051a39Sopenharmony_ciThe OpenSSL default provider supplies the majority of OpenSSL's diverse 10e1051a39Sopenharmony_cialgorithm implementations. If an application doesn't specify anything else 11e1051a39Sopenharmony_ciexplicitly (e.g. in the application or via config), then this is the 12e1051a39Sopenharmony_ciprovider that will be used as fallback: It is loaded automatically the 13e1051a39Sopenharmony_cifirst time that an algorithm is fetched from a provider or a function 14e1051a39Sopenharmony_ciacting on providers is called and no other provider has been loaded yet. 15e1051a39Sopenharmony_ci 16e1051a39Sopenharmony_ciIf an attempt to load a provider has already been made (whether successful 17e1051a39Sopenharmony_cior not) then the default provider won't be loaded automatically. Therefore 18e1051a39Sopenharmony_ciif the default provider is to be used in conjunction with other providers 19e1051a39Sopenharmony_cithen it must be loaded explicitly. Automatic loading of the default 20e1051a39Sopenharmony_ciprovider only occurs a maximum of once; if the default provider is 21e1051a39Sopenharmony_ciexplicitly unloaded then the default provider will not be automatically 22e1051a39Sopenharmony_ciloaded again. 23e1051a39Sopenharmony_ci 24e1051a39Sopenharmony_ci=head2 Properties 25e1051a39Sopenharmony_ci 26e1051a39Sopenharmony_ciThe implementations in this provider specifically have this property 27e1051a39Sopenharmony_cidefined: 28e1051a39Sopenharmony_ci 29e1051a39Sopenharmony_ci=over 4 30e1051a39Sopenharmony_ci 31e1051a39Sopenharmony_ci=item "provider=default" 32e1051a39Sopenharmony_ci 33e1051a39Sopenharmony_ci=back 34e1051a39Sopenharmony_ci 35e1051a39Sopenharmony_ciIt may be used in a property query string with fetching functions such as 36e1051a39Sopenharmony_ciL<EVP_MD_fetch(3)> or L<EVP_CIPHER_fetch(3)>, as well as with other 37e1051a39Sopenharmony_cifunctions that take a property query string, such as 38e1051a39Sopenharmony_ciL<EVP_PKEY_CTX_new_from_name(3)>. 39e1051a39Sopenharmony_ci 40e1051a39Sopenharmony_ciIt isn't mandatory to query for this property, except to make sure to get 41e1051a39Sopenharmony_ciimplementations of this provider and none other. 42e1051a39Sopenharmony_ci 43e1051a39Sopenharmony_ciSome implementations may define additional properties. Exact information is 44e1051a39Sopenharmony_cilisted below 45e1051a39Sopenharmony_ci 46e1051a39Sopenharmony_ci=head1 OPERATIONS AND ALGORITHMS 47e1051a39Sopenharmony_ci 48e1051a39Sopenharmony_ciThe OpenSSL default provider supports these operations and algorithms: 49e1051a39Sopenharmony_ci 50e1051a39Sopenharmony_ci=head2 Hashing Algorithms / Message Digests 51e1051a39Sopenharmony_ci 52e1051a39Sopenharmony_ci=over 4 53e1051a39Sopenharmony_ci 54e1051a39Sopenharmony_ci=item SHA1, see L<EVP_MD-SHA1(7)> 55e1051a39Sopenharmony_ci 56e1051a39Sopenharmony_ci=item SHA2, see L<EVP_MD-SHA2(7)> 57e1051a39Sopenharmony_ci 58e1051a39Sopenharmony_ci=item SHA3, see L<EVP_MD-SHA3(7)> 59e1051a39Sopenharmony_ci 60e1051a39Sopenharmony_ci=item KECCAK-KMAC, see L<EVP_MD-KECCAK-KMAC(7)> 61e1051a39Sopenharmony_ci 62e1051a39Sopenharmony_ci=item SHAKE, see L<EVP_MD-SHAKE(7)> 63e1051a39Sopenharmony_ci 64e1051a39Sopenharmony_ci=item BLAKE2, see L<EVP_MD-BLAKE2(7)> 65e1051a39Sopenharmony_ci 66e1051a39Sopenharmony_ci=item SM3, see L<EVP_MD-SM3(7)> 67e1051a39Sopenharmony_ci 68e1051a39Sopenharmony_ci=item MD5, see L<EVP_MD-MD5(7)> 69e1051a39Sopenharmony_ci 70e1051a39Sopenharmony_ci=item MD5-SHA1, see L<EVP_MD-MD5-SHA1(7)> 71e1051a39Sopenharmony_ci 72e1051a39Sopenharmony_ci=item RIPEMD160, see L<EVP_MD-RIPEMD160(7)> 73e1051a39Sopenharmony_ci 74e1051a39Sopenharmony_ci=item NULL, see L<EVP_MD-NULL(7)> 75e1051a39Sopenharmony_ci 76e1051a39Sopenharmony_ci=back 77e1051a39Sopenharmony_ci 78e1051a39Sopenharmony_ci=head2 Symmetric Ciphers 79e1051a39Sopenharmony_ci 80e1051a39Sopenharmony_ci=over 4 81e1051a39Sopenharmony_ci 82e1051a39Sopenharmony_ci=item AES, see L<EVP_CIPHER-AES(7)> 83e1051a39Sopenharmony_ci 84e1051a39Sopenharmony_ci=item ARIA, see L<EVP_CIPHER-ARIA(7)> 85e1051a39Sopenharmony_ci 86e1051a39Sopenharmony_ci=item CAMELLIA, see L<EVP_CIPHER-CAMELLIA(7)> 87e1051a39Sopenharmony_ci 88e1051a39Sopenharmony_ci=item 3DES, see L<EVP_CIPHER-DES(7)> 89e1051a39Sopenharmony_ci 90e1051a39Sopenharmony_ci=item SEED, see L<EVP_CIPHER-SEED(7)> 91e1051a39Sopenharmony_ci 92e1051a39Sopenharmony_ci=item SM4, see L<EVP_CIPHER-SM4(7)> 93e1051a39Sopenharmony_ci 94e1051a39Sopenharmony_ci=item ChaCha20, see L<EVP_CIPHER-CHACHA(7)> 95e1051a39Sopenharmony_ci 96e1051a39Sopenharmony_ci=item ChaCha20-Poly1305, see L<EVP_CIPHER-CHACHA(7)> 97e1051a39Sopenharmony_ci 98e1051a39Sopenharmony_ci=item NULL, see L<EVP_CIPHER-NULL(7)> 99e1051a39Sopenharmony_ci 100e1051a39Sopenharmony_ci=back 101e1051a39Sopenharmony_ci 102e1051a39Sopenharmony_ci=head2 Message Authentication Code (MAC) 103e1051a39Sopenharmony_ci 104e1051a39Sopenharmony_ci=over 4 105e1051a39Sopenharmony_ci 106e1051a39Sopenharmony_ci=item BLAKE2, see L<EVP_MAC-BLAKE2(7)> 107e1051a39Sopenharmony_ci 108e1051a39Sopenharmony_ci=item CMAC, see L<EVP_MAC-CMAC(7)> 109e1051a39Sopenharmony_ci 110e1051a39Sopenharmony_ci=item GMAC, see L<EVP_MAC-GMAC(7)> 111e1051a39Sopenharmony_ci 112e1051a39Sopenharmony_ci=item HMAC, see L<EVP_MAC-HMAC(7)> 113e1051a39Sopenharmony_ci 114e1051a39Sopenharmony_ci=item KMAC, see L<EVP_MAC-KMAC(7)> 115e1051a39Sopenharmony_ci 116e1051a39Sopenharmony_ci=item SIPHASH, see L<EVP_MAC-Siphash(7)> 117e1051a39Sopenharmony_ci 118e1051a39Sopenharmony_ci=item POLY1305, see L<EVP_MAC-Poly1305(7)> 119e1051a39Sopenharmony_ci 120e1051a39Sopenharmony_ci=back 121e1051a39Sopenharmony_ci 122e1051a39Sopenharmony_ci=head2 Key Derivation Function (KDF) 123e1051a39Sopenharmony_ci 124e1051a39Sopenharmony_ci=over 4 125e1051a39Sopenharmony_ci 126e1051a39Sopenharmony_ci=item HKDF, see L<EVP_KDF-HKDF(7)> 127e1051a39Sopenharmony_ci 128e1051a39Sopenharmony_ci=item SSKDF, see L<EVP_KDF-SS(7)> 129e1051a39Sopenharmony_ci 130e1051a39Sopenharmony_ci=item PBKDF2, see L<EVP_KDF-PBKDF2(7)> 131e1051a39Sopenharmony_ci 132e1051a39Sopenharmony_ci=item PKCS12KDF, see L<EVP_KDF-PKCS12KDF(7)> 133e1051a39Sopenharmony_ci 134e1051a39Sopenharmony_ci=item SSHKDF, see L<EVP_KDF-SSHKDF(7)> 135e1051a39Sopenharmony_ci 136e1051a39Sopenharmony_ci=item TLS1-PRF, see L<EVP_KDF-TLS1_PRF(7)> 137e1051a39Sopenharmony_ci 138e1051a39Sopenharmony_ci=item KBKDF, see L<EVP_KDF-KB(7)> 139e1051a39Sopenharmony_ci 140e1051a39Sopenharmony_ci=item X942KDF-ASN1, see L<EVP_KDF-X942-ASN1(7)> 141e1051a39Sopenharmony_ci 142e1051a39Sopenharmony_ci=item X942KDF-CONCAT, see L<EVP_KDF-X942-CONCAT(7)> 143e1051a39Sopenharmony_ci 144e1051a39Sopenharmony_ci=item X963KDF, see L<EVP_KDF-X963(7)> 145e1051a39Sopenharmony_ci 146e1051a39Sopenharmony_ci=item SCRYPT, see L<EVP_KDF-SCRYPT(7)> 147e1051a39Sopenharmony_ci 148e1051a39Sopenharmony_ci=item KRB5KDF, see L<EVP_KDF-KRB5KDF(7)> 149e1051a39Sopenharmony_ci 150e1051a39Sopenharmony_ci 151e1051a39Sopenharmony_ci=back 152e1051a39Sopenharmony_ci 153e1051a39Sopenharmony_ci=head2 Key Exchange 154e1051a39Sopenharmony_ci 155e1051a39Sopenharmony_ci=over 4 156e1051a39Sopenharmony_ci 157e1051a39Sopenharmony_ci=item DH, see L<EVP_KEYEXCH-DH(7)> 158e1051a39Sopenharmony_ci 159e1051a39Sopenharmony_ci=item ECDH, see L<EVP_KEYEXCH-ECDH(7)> 160e1051a39Sopenharmony_ci 161e1051a39Sopenharmony_ci=item X25519, see L<EVP_KEYEXCH-X25519(7)> 162e1051a39Sopenharmony_ci 163e1051a39Sopenharmony_ci=item X448, see L<EVP_KEYEXCH-X448(7)> 164e1051a39Sopenharmony_ci 165e1051a39Sopenharmony_ci=back 166e1051a39Sopenharmony_ci 167e1051a39Sopenharmony_ci=head2 Asymmetric Signature 168e1051a39Sopenharmony_ci 169e1051a39Sopenharmony_ci=over 4 170e1051a39Sopenharmony_ci 171e1051a39Sopenharmony_ci=item DSA, see L<EVP_SIGNATURE-DSA(7)> 172e1051a39Sopenharmony_ci 173e1051a39Sopenharmony_ci=item RSA, see L<EVP_SIGNATURE-RSA(7)> 174e1051a39Sopenharmony_ci 175e1051a39Sopenharmony_ci=item HMAC, see L<EVP_SIGNATURE-HMAC(7)> 176e1051a39Sopenharmony_ci 177e1051a39Sopenharmony_ci=item SIPHASH, see L<EVP_SIGNATURE-Siphash(7)> 178e1051a39Sopenharmony_ci 179e1051a39Sopenharmony_ci=item POLY1305, see L<EVP_SIGNATURE-Poly1305(7)> 180e1051a39Sopenharmony_ci 181e1051a39Sopenharmony_ci=item CMAC, see L<EVP_SIGNATURE-CMAC(7)> 182e1051a39Sopenharmony_ci 183e1051a39Sopenharmony_ci=back 184e1051a39Sopenharmony_ci 185e1051a39Sopenharmony_ci=head2 Asymmetric Cipher 186e1051a39Sopenharmony_ci 187e1051a39Sopenharmony_ci=over 4 188e1051a39Sopenharmony_ci 189e1051a39Sopenharmony_ci=item RSA, see L<EVP_ASYM_CIPHER-RSA(7)> 190e1051a39Sopenharmony_ci 191e1051a39Sopenharmony_ci=item SM2, see L<EVP_ASYM_CIPHER-SM2(7)> 192e1051a39Sopenharmony_ci 193e1051a39Sopenharmony_ci=back 194e1051a39Sopenharmony_ci 195e1051a39Sopenharmony_ci=head2 Asymmetric Key Encapsulation 196e1051a39Sopenharmony_ci 197e1051a39Sopenharmony_ci=over 4 198e1051a39Sopenharmony_ci 199e1051a39Sopenharmony_ci=item RSA, see L<EVP_KEM-RSA(7)> 200e1051a39Sopenharmony_ci 201e1051a39Sopenharmony_ci=back 202e1051a39Sopenharmony_ci 203e1051a39Sopenharmony_ci=head2 Asymmetric Key Management 204e1051a39Sopenharmony_ci 205e1051a39Sopenharmony_ci=over 4 206e1051a39Sopenharmony_ci 207e1051a39Sopenharmony_ci=item DH, see L<EVP_KEYMGMT-DH(7)> 208e1051a39Sopenharmony_ci 209e1051a39Sopenharmony_ci=item DHX, see L<EVP_KEYMGMT-DHX(7)> 210e1051a39Sopenharmony_ci 211e1051a39Sopenharmony_ci=item DSA, see L<EVP_KEYMGMT-DSA(7)> 212e1051a39Sopenharmony_ci 213e1051a39Sopenharmony_ci=item RSA, see L<EVP_KEYMGMT-RSA(7)> 214e1051a39Sopenharmony_ci 215e1051a39Sopenharmony_ci=item EC, see L<EVP_KEYMGMT-EC(7)> 216e1051a39Sopenharmony_ci 217e1051a39Sopenharmony_ci=item X25519, see L<EVP_KEYMGMT-X25519(7)> 218e1051a39Sopenharmony_ci 219e1051a39Sopenharmony_ci=item X448, see L<EVP_KEYMGMT-X448(7)> 220e1051a39Sopenharmony_ci 221e1051a39Sopenharmony_ci=back 222e1051a39Sopenharmony_ci 223e1051a39Sopenharmony_ci=head2 Random Number Generation 224e1051a39Sopenharmony_ci 225e1051a39Sopenharmony_ci=over 4 226e1051a39Sopenharmony_ci 227e1051a39Sopenharmony_ci=item CTR-DRBG, see L<EVP_RAND-CTR-DRBG(7)> 228e1051a39Sopenharmony_ci 229e1051a39Sopenharmony_ci=item HASH-DRBG, see L<EVP_RAND-HASH-DRBG(7)> 230e1051a39Sopenharmony_ci 231e1051a39Sopenharmony_ci=item HMAC-DRBG, see L<EVP_RAND-HMAC-DRBG(7)> 232e1051a39Sopenharmony_ci 233e1051a39Sopenharmony_ci=item SEED-SRC, see L<EVP_RAND-SEED-SRC(7)> 234e1051a39Sopenharmony_ci 235e1051a39Sopenharmony_ci=item TEST-RAND, see L<EVP_RAND-TEST-RAND(7)> 236e1051a39Sopenharmony_ci 237e1051a39Sopenharmony_ci=back 238e1051a39Sopenharmony_ci 239e1051a39Sopenharmony_ci=head2 Asymmetric Key Encoder 240e1051a39Sopenharmony_ci 241e1051a39Sopenharmony_ciThe default provider also includes all of the encoding algorithms 242e1051a39Sopenharmony_cipresent in the base provider. Some of these have the property "fips=yes", 243e1051a39Sopenharmony_cito allow them to be used together with the FIPS provider. 244e1051a39Sopenharmony_ci 245e1051a39Sopenharmony_ci=over 4 246e1051a39Sopenharmony_ci 247e1051a39Sopenharmony_ci=item RSA, see L<OSSL_ENCODER-RSA(7)> 248e1051a39Sopenharmony_ci 249e1051a39Sopenharmony_ci=item DH, see L<OSSL_ENCODER-DH(7)> 250e1051a39Sopenharmony_ci 251e1051a39Sopenharmony_ci=item DSA, see L<OSSL_ENCODER-DSA(7)> 252e1051a39Sopenharmony_ci 253e1051a39Sopenharmony_ci=item EC, see L<OSSL_ENCODER-EC(7)> 254e1051a39Sopenharmony_ci 255e1051a39Sopenharmony_ci=item X25519, see L<OSSL_ENCODER-X25519(7)> 256e1051a39Sopenharmony_ci 257e1051a39Sopenharmony_ci=item X448, see L<OSSL_ENCODER-X448(7)> 258e1051a39Sopenharmony_ci 259e1051a39Sopenharmony_ci=back 260e1051a39Sopenharmony_ci 261e1051a39Sopenharmony_ci=head1 SEE ALSO 262e1051a39Sopenharmony_ci 263e1051a39Sopenharmony_ciL<openssl-core.h(7)>, L<openssl-core_dispatch.h(7)>, L<provider(7)>, 264e1051a39Sopenharmony_ciL<OSSL_PROVIDER-base(7)> 265e1051a39Sopenharmony_ci 266e1051a39Sopenharmony_ci=head1 HISTORY 267e1051a39Sopenharmony_ci 268e1051a39Sopenharmony_ciThe RIPEMD160 digest was added to the default provider in OpenSSL 3.0.7. 269e1051a39Sopenharmony_ci 270e1051a39Sopenharmony_ciAll other functionality was added in OpenSSL 3.0. 271e1051a39Sopenharmony_ci 272e1051a39Sopenharmony_ci=head1 COPYRIGHT 273e1051a39Sopenharmony_ci 274e1051a39Sopenharmony_ciCopyright 2020-2023 The OpenSSL Project Authors. All Rights Reserved. 275e1051a39Sopenharmony_ci 276e1051a39Sopenharmony_ciLicensed under the Apache License 2.0 (the "License"). You may not use 277e1051a39Sopenharmony_cithis file except in compliance with the License. You can obtain a copy 278e1051a39Sopenharmony_ciin the file LICENSE in the source distribution or at 279e1051a39Sopenharmony_ciL<https://www.openssl.org/source/license.html>. 280e1051a39Sopenharmony_ci 281e1051a39Sopenharmony_ci=cut 282