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