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