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