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 Asymmetric Key Encoder
61
62In addition to "provider=base", some of these encoders define the
63property "fips=yes", to allow them to be used together with the FIPS
64provider.
65
66=over 4
67
68=item RSA, see L<OSSL_ENCODER-RSA(7)>
69
70=item DH, see L<OSSL_ENCODER-DH(7)>
71
72=item DSA, see L<OSSL_ENCODER-DSA(7)>
73
74=item EC, see L<OSSL_ENCODER-EC(7)>
75
76=item X25519, see L<OSSL_ENCODER-X25519(7)>
77
78=item X448, see L<OSSL_ENCODER-X448(7)>
79
80=back
81
82=head1 SEE ALSO
83
84L<OSSL_PROVIDER-default(7)>, L<openssl-core.h(7)>,
85L<openssl-core_dispatch.h(7)>, L<provider(7)>
86
87=head1 HISTORY
88
89This functionality was added in OpenSSL 3.0.
90
91=head1 COPYRIGHT
92
93Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
94
95Licensed under the Apache License 2.0 (the "License").  You may not use
96this file except in compliance with the License.  You can obtain a copy
97in the file LICENSE in the source distribution or at
98L<https://www.openssl.org/source/license.html>.
99
100=cut
101