xref: /freebsd/crypto/openssl/doc/man7/OSSL_PROVIDER-base.pod (revision e7be843b4a162e68651d3911f0357ed464915629)
1=pod
2
3=head1 NAME
4
5OSSL_PROVIDER-base - OpenSSL base provider
6
7=head1 DESCRIPTION
8
9The OpenSSL base provider supplies the encoding for OpenSSL's
10asymmetric cryptography.
11
12=head2 Properties
13
14The implementations in this provider specifically have this property
15defined:
16
17=over 4
18
19=item "provider=base"
20
21=back
22
23It may be used in a property query string with fetching functions.
24
25It isn't mandatory to query for this property, except to make sure to get
26implementations of this provider and none other.
27
28=over 4
29
30=item "type=parameters"
31
32=item "type=private"
33
34=item "type=public"
35
36=back
37
38These may be used in a property query string with fetching functions to select
39which data are to be encoded.  Either the private key material, the public
40key material or the domain parameters can be selected.
41
42=over 4
43
44=item "format=der"
45
46=item "format=pem"
47
48=item "format=text"
49
50=back
51
52These may be used in a property query string with fetching functions to select
53the encoding output format.  Either the DER, PEM and plaintext are
54currently permitted.
55
56=head1 OPERATIONS AND ALGORITHMS
57
58The OpenSSL base provider supports these operations and algorithms:
59
60=head2 Random Number Generation
61
62=over 4
63
64=item SEED-SRC,  see L<EVP_RAND-SEED-SRC(7)>
65
66=item JITTER,  see L<EVP_RAND-JITTER(7)>
67
68=back
69
70In addition to this provider, the "SEED-SRC" and "JITTER" algorithms
71are also available in the default provider.
72
73=head2 Asymmetric Key Encoder
74
75=over 4
76
77=item RSA
78
79=item RSA-PSS
80
81=item DH
82
83=item DHX
84
85=item DSA
86
87=item EC
88
89=item ED25519
90
91=item ED448
92
93=item X25519
94
95=item X448
96
97=item SM2
98
99=item ML-DSA-44
100
101=item ML-DSA-65
102
103=item ML-DSA-87
104
105=item ML-KEM-512
106
107=item ML-KEM-768
108
109=item ML-KEM-1024
110
111=item SLH-DSA-SHA2-128s
112
113=item SLH-DSA-SHA2-128f
114
115=item SLH-DSA-SHA2-192s
116
117=item SLH-DSA-SHA2-192f
118
119=item SLH-DSA-SHA2-256s
120
121=item SLH-DSA-SHA2-256f
122
123=item SLH-DSA-SHAKE-128s
124
125=item SLH-DSA-SHAKE-128f
126
127=item SLH-DSA-SHAKE-192s
128
129=item SLH-DSA-SHAKE-192f
130
131=item SLH-DSA-SHAKE-256s
132
133=item SLH-DSA-SHAKE-256f
134
135=back
136
137In addition to this provider, all of these encoding algorithms are also
138available in the default provider. Some of these algorithms may be used in
139combination with the FIPS provider.
140
141=head2 Asymmetric Key Decoder
142
143=over 4
144
145=item RSA
146
147=item RSA-PSS
148
149=item DH
150
151=item DHX
152
153=item DSA
154
155=item EC
156
157=item ED25519
158
159=item ED448
160
161=item X25519
162
163=item X448
164
165=item SM2
166
167=item DER
168
169=item ML-DSA-44
170
171=item ML-DSA-65
172
173=item ML-DSA-87
174
175=item ML-KEM-512
176
177=item ML-KEM-768
178
179=item ML-KEM-1024
180
181=item SLH-DSA-SHA2-128s
182
183=item SLH-DSA-SHA2-128f
184
185=item SLH-DSA-SHA2-192s
186
187=item SLH-DSA-SHA2-192f
188
189=item SLH-DSA-SHA2-256s
190
191=item SLH-DSA-SHA2-256f
192
193=item SLH-DSA-SHAKE-128s
194
195=item SLH-DSA-SHAKE-128f
196
197=item SLH-DSA-SHAKE-192s
198
199=item SLH-DSA-SHAKE-192f
200
201=item SLH-DSA-SHAKE-256s
202
203=item SLH-DSA-SHAKE-256f
204
205=back
206
207In addition to this provider, all of these decoding algorithms are also
208available in the default provider. Some of these algorithms may be used in
209combination with the FIPS provider.
210
211=head2 Stores
212
213=over 4
214
215=item file
216
217=item org.openssl.winstore, see L<OSSL_STORE-winstore(7)>
218
219=back
220
221In addition to this provider, all of these store algorithms are also
222available in the default provider.
223
224=head1 SEE ALSO
225
226L<OSSL_PROVIDER-default(7)>, L<openssl-core.h(7)>,
227L<openssl-core_dispatch.h(7)>, L<provider(7)>
228
229=head1 HISTORY
230
231This functionality was added in OpenSSL 3.0.
232
233Support for B<ML-DSA> and <ML-KEM> was added in OpenSSL 3.5.
234
235=head1 COPYRIGHT
236
237Copyright 2020-2025 The OpenSSL Project Authors. All Rights Reserved.
238
239Licensed under the Apache License 2.0 (the "License").  You may not use
240this file except in compliance with the License.  You can obtain a copy
241in the file LICENSE in the source distribution or at
242L<https://www.openssl.org/source/license.html>.
243
244=cut
245