5 OSSL_PROVIDER-default - OpenSSL default provider
9 The OpenSSL default provider supplies the majority of OpenSSL's diverse
10 algorithm implementations. If an application doesn't specify anything else
11 explicitly (e.g. in the application or via config), then this is the
12 provider that will be used as fallback: It is loaded automatically the
13 first time that an algorithm is fetched from a provider or a function
14 acting on providers is called and no other provider has been loaded yet.
16 If an attempt to load a provider has already been made (whether successful
17 or not) then the default provider won't be loaded automatically. Therefore
18 if the default provider is to be used in conjunction with other providers
19 then it must be loaded explicitly. Automatic loading of the default
20 provider only occurs a maximum of once; if the default provider is
21 explicitly unloaded then the default provider will not be automatically
26 The implementations in this provider specifically have this property
31 =item "provider=default"
35 It may be used in a property query string with fetching functions such as
36 L<EVP_MD_fetch(3)> or L<EVP_CIPHER_fetch(3)>, as well as with other
37 functions that take a property query string, such as
38 L<EVP_PKEY_CTX_new_from_name(3)>.
40 It isn't mandatory to query for this property, except to make sure to get
41 implementations of this provider and none other.
43 Some implementations may define additional properties. Exact information is
46 =head1 OPERATIONS AND ALGORITHMS
48 The OpenSSL default provider supports these operations and algorithms:
50 =head2 Hashing Algorithms / Message Digests
54 =item SHA1, see L<EVP_MD-SHA1(7)>
56 =item SHA2, see L<EVP_MD-SHA2(7)>
58 =item SHA3, see L<EVP_MD-SHA3(7)>
60 =item KECCAK, see L<EVP_MD-KECCAK(7)>
62 =item KECCAK-KMAC, see L<EVP_MD-KECCAK-KMAC(7)>
64 =item SHAKE, see L<EVP_MD-SHAKE(7)>
66 =item BLAKE2, see L<EVP_MD-BLAKE2(7)>
68 =item SM3, see L<EVP_MD-SM3(7)>
70 =item MD5, see L<EVP_MD-MD5(7)>
72 =item MD5-SHA1, see L<EVP_MD-MD5-SHA1(7)>
74 =item RIPEMD160, see L<EVP_MD-RIPEMD160(7)>
76 =item NULL, see L<EVP_MD-NULL(7)>
80 =head2 Symmetric Ciphers
84 =item AES, see L<EVP_CIPHER-AES(7)>
86 =item ARIA, see L<EVP_CIPHER-ARIA(7)>
88 =item CAMELLIA, see L<EVP_CIPHER-CAMELLIA(7)>
90 =item 3DES, see L<EVP_CIPHER-DES(7)>
92 =item SM4, see L<EVP_CIPHER-SM4(7)>
94 =item ChaCha20, see L<EVP_CIPHER-CHACHA(7)>
96 =item ChaCha20-Poly1305, see L<EVP_CIPHER-CHACHA(7)>
98 =item NULL, see L<EVP_CIPHER-NULL(7)>
102 =head2 Message Authentication Code (MAC)
106 =item BLAKE2, see L<EVP_MAC-BLAKE2(7)>
108 =item CMAC, see L<EVP_MAC-CMAC(7)>
110 =item GMAC, see L<EVP_MAC-GMAC(7)>
112 =item HMAC, see L<EVP_MAC-HMAC(7)>
114 =item KMAC, see L<EVP_MAC-KMAC(7)>
116 =item SIPHASH, see L<EVP_MAC-Siphash(7)>
118 =item POLY1305, see L<EVP_MAC-Poly1305(7)>
122 =head2 Key Derivation Function (KDF)
126 =item HKDF, see L<EVP_KDF-HKDF(7)>
128 =item TLS13-KDF, see L<EVP_KDF-TLS13_KDF(7)>
130 =item SSKDF, see L<EVP_KDF-SS(7)>
132 =item PBKDF2, see L<EVP_KDF-PBKDF2(7)>
134 =item PKCS12KDF, see L<EVP_KDF-PKCS12KDF(7)>
136 =item SSHKDF, see L<EVP_KDF-SSHKDF(7)>
138 =item TLS1-PRF, see L<EVP_KDF-TLS1_PRF(7)>
140 =item KBKDF, see L<EVP_KDF-KB(7)>
142 =item X942KDF-ASN1, see L<EVP_KDF-X942-ASN1(7)>
144 =item X942KDF-CONCAT, see L<EVP_KDF-X942-CONCAT(7)>
146 =item X963KDF, see L<EVP_KDF-X963(7)>
148 =item SCRYPT, see L<EVP_KDF-SCRYPT(7)>
150 =item KRB5KDF, see L<EVP_KDF-KRB5KDF(7)>
152 =item HMAC-DRBG, see L<EVP_KDF-HMAC-DRBG(7)>
154 =item ARGON2, see L<EVP_KDF-ARGON2(7)>
162 =item DH, see L<EVP_KEYEXCH-DH(7)>
164 =item ECDH, see L<EVP_KEYEXCH-ECDH(7)>
166 =item X25519, see L<EVP_KEYEXCH-X25519(7)>
168 =item X448, see L<EVP_KEYEXCH-X448(7)>
178 =head2 Asymmetric Signature
182 =item DSA, see L<EVP_SIGNATURE-DSA(7)>
184 =item RSA, see L<EVP_SIGNATURE-RSA(7)>
186 =item ED25519, see L<EVP_SIGNATURE-ED25519(7)>
188 =item ED448, see L<EVP_SIGNATURE-ED448(7)>
190 =item ECDSA, see L<EVP_SIGNATURE-ECDSA(7)>
194 =item HMAC, see L<EVP_SIGNATURE-HMAC(7)>
196 =item SIPHASH, see L<EVP_SIGNATURE-Siphash(7)>
198 =item POLY1305, see L<EVP_SIGNATURE-Poly1305(7)>
200 =item CMAC, see L<EVP_SIGNATURE-CMAC(7)>
204 =head2 Asymmetric Cipher
208 =item RSA, see L<EVP_ASYM_CIPHER-RSA(7)>
210 =item SM2, see L<EVP_ASYM_CIPHER-SM2(7)>
214 =head2 Asymmetric Key Encapsulation
218 =item RSA, see L<EVP_KEM-RSA(7)>
220 =item X25519, see L<EVP_KEM-X25519(7)>
222 =item X448, see L<EVP_KEM-X448(7)>
224 =item EC, see L<EVP_KEM-EC(7)>
228 =head2 Asymmetric Key Management
232 =item DH, see L<EVP_KEYMGMT-DH(7)>
234 =item DHX, see L<EVP_KEYMGMT-DHX(7)>
236 =item DSA, see L<EVP_KEYMGMT-DSA(7)>
238 =item RSA, see L<EVP_KEYMGMT-RSA(7)>
242 =item EC, see L<EVP_KEYMGMT-EC(7)>
244 =item X25519, see L<EVP_KEYMGMT-X25519(7)>
246 =item X448, see L<EVP_KEYMGMT-X448(7)>
248 =item ED25519, see L<EVP_KEYMGMT-ED25519(7)>
250 =item ED448, see L<EVP_KEYMGMT-ED448(7)>
258 =item HMAC, see L<EVP_KEYMGMT-HMAC(7)>
260 =item SIPHASH, see L<EVP_KEYMGMT-Siphash(7)>
262 =item POLY1305, see L<EVP_KEYMGMT-Poly1305(7)>
264 =item CMAC, see L<EVP_KEYMGMT-CMAC(7)>
266 =item SM2, see L<EVP_KEYMGMT-SM2(7)>
270 =head2 Random Number Generation
274 =item CTR-DRBG, see L<EVP_RAND-CTR-DRBG(7)>
276 =item HASH-DRBG, see L<EVP_RAND-HASH-DRBG(7)>
278 =item HMAC-DRBG, see L<EVP_RAND-HMAC-DRBG(7)>
280 =item SEED-SRC, see L<EVP_RAND-SEED-SRC(7)>
282 =item TEST-RAND, see L<EVP_RAND-TEST-RAND(7)>
286 In addition to this provider, the "SEED-SRC" algorithm is also available in the
289 =head2 Asymmetric Key Encoder
317 In addition to this provider, all of these encoding algorithms are also
318 available in the base provider. Some of these algorithms may be used in
319 combination with the FIPS provider.
321 =head2 Asymmetric Key Decoder
351 In addition to this provider, all of these decoding algorithms are also
352 available in the base provider. Some of these algorithms may be used in
353 combination with the FIPS provider.
361 =item org.openssl.winstore
365 In addition to this provider, all of these store algorithms are also
366 available in the base provider.
370 L<openssl-core.h(7)>, L<openssl-core_dispatch.h(7)>, L<provider(7)>,
371 L<OSSL_PROVIDER-base(7)>
375 The RIPEMD160 digest was added to the default provider in OpenSSL 3.0.7.
377 All other functionality was added in OpenSSL 3.0.
381 Copyright 2020-2023 The OpenSSL Project Authors. All Rights Reserved.
383 Licensed under the Apache License 2.0 (the "License"). You may not use
384 this file except in compliance with the License. You can obtain a copy
385 in the file LICENSE in the source distribution or at
386 L<https://www.openssl.org/source/license.html>.