X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=providers%2Fdefltprov.c;h=8564ddd5caa086510b7b9550db8f955e92b289ce;hp=0ee717acac896fac05c3746c4d46516605b935cc;hb=29844ea5b3d2b7240d99b043a0d82cb177f0762d;hpb=5ccada09aae0cf846d3381a161d3eb20d4d9abfd diff --git a/providers/defltprov.c b/providers/defltprov.c index 0ee717acac..8564ddd5ca 100644 --- a/providers/defltprov.c +++ b/providers/defltprov.c @@ -41,6 +41,7 @@ static const OSSL_PARAM deflt_param_types[] = { OSSL_PARAM_DEFN(OSSL_PROV_PARAM_NAME, OSSL_PARAM_UTF8_PTR, NULL, 0), OSSL_PARAM_DEFN(OSSL_PROV_PARAM_VERSION, OSSL_PARAM_UTF8_PTR, NULL, 0), OSSL_PARAM_DEFN(OSSL_PROV_PARAM_BUILDINFO, OSSL_PARAM_UTF8_PTR, NULL, 0), + OSSL_PARAM_DEFN(OSSL_PROV_PARAM_STATUS, OSSL_PARAM_INTEGER, NULL, 0), OSSL_PARAM_END }; @@ -62,7 +63,9 @@ static int deflt_get_params(void *provctx, OSSL_PARAM params[]) p = OSSL_PARAM_locate(params, OSSL_PROV_PARAM_BUILDINFO); if (p != NULL && !OSSL_PARAM_set_utf8_ptr(p, OPENSSL_FULL_VERSION_STR)) return 0; - + p = OSSL_PARAM_locate(params, OSSL_PROV_PARAM_STATUS); + if (p != NULL && !OSSL_PARAM_set_int(p, ossl_prov_is_running())) + return 0; return 1; } @@ -314,6 +317,7 @@ static const OSSL_ALGORITHM deflt_kdfs[] = { { "HKDF", "provider=default", kdf_hkdf_functions }, { "SSKDF", "provider=default", kdf_sskdf_functions }, { "PBKDF2", "provider=default", kdf_pbkdf2_functions }, + { "PKCS12KDF", "provider=default", kdf_pkcs12_functions }, { "SSHKDF", "provider=default", kdf_sshkdf_functions }, { "X963KDF", "provider=default", kdf_x963_kdf_functions }, { "TLS1-PRF", "provider=default", kdf_tls1_prf_functions }, @@ -337,6 +341,9 @@ static const OSSL_ALGORITHM deflt_keyexch[] = { { "X25519", "provider=default", x25519_keyexch_functions }, { "X448", "provider=default", x448_keyexch_functions }, #endif + { "TLS1-PRF", "provider=default", kdf_tls1_prf_keyexch_functions }, + { "HKDF", "provider=default", kdf_hkdf_keyexch_functions }, + { "SCRYPT:id-scrypt", "provider=default", kdf_scrypt_keyexch_functions }, { NULL, NULL, NULL } }; @@ -357,6 +364,17 @@ static const OSSL_ALGORITHM deflt_signature[] = { { "ED25519:Ed25519", "provider=default", ed25519_signature_functions }, { "ED448:Ed448", "provider=default", ed448_signature_functions }, { "ECDSA", "provider=default", ecdsa_signature_functions }, +# ifndef OPENSSL_NO_SM2 + { "SM2", "provider=default", sm2_signature_functions }, +# endif +#endif + { "HMAC", "provider=default", mac_legacy_hmac_signature_functions }, + { "SIPHASH", "provider=default", mac_legacy_siphash_signature_functions }, +#ifndef OPENSSL_NO_POLY1305 + { "POLY1305", "provider=default", mac_legacy_poly1305_signature_functions }, +#endif +#ifndef OPENSSL_NO_CMAC + { "CMAC", "provider=default", mac_legacy_cmac_signature_functions }, #endif { NULL, NULL, NULL } }; @@ -366,9 +384,15 @@ static const OSSL_ALGORITHM deflt_asym_cipher[] = { { NULL, NULL, NULL } }; +static const OSSL_ALGORITHM deflt_asym_kem[] = { + { "RSA", "provider=default", rsa_asym_kem_functions }, + { NULL, NULL, NULL } +}; + static const OSSL_ALGORITHM deflt_keymgmt[] = { #ifndef OPENSSL_NO_DH { "DH:dhKeyAgreement", "provider=default", dh_keymgmt_functions }, + { "DHX:X9.42 DH:dhpublicnumber", "provider=default", dhx_keymgmt_functions }, #endif #ifndef OPENSSL_NO_DSA { "DSA:dsaEncryption", "provider=default", dsa_keymgmt_functions }, @@ -381,31 +405,54 @@ static const OSSL_ALGORITHM deflt_keymgmt[] = { { "X448", "provider=default", x448_keymgmt_functions }, { "ED25519", "provider=default", ed25519_keymgmt_functions }, { "ED448", "provider=default", ed448_keymgmt_functions }, +#endif + { "TLS1-PRF", "provider=default", kdf_keymgmt_functions }, + { "HKDF", "provider=default", kdf_keymgmt_functions }, + { "SCRYPT:id-scrypt", "provider=default", kdf_keymgmt_functions }, + { "HMAC", "provider=default", mac_legacy_keymgmt_functions }, + { "SIPHASH", "provider=default", mac_legacy_keymgmt_functions }, +#ifndef OPENSSL_NO_POLY1305 + { "POLY1305", "provider=default", mac_legacy_keymgmt_functions }, +#endif +#ifndef OPENSSL_NO_CMAC + { "CMAC", "provider=default", cmac_legacy_keymgmt_functions }, +#endif +#ifndef OPENSSL_NO_SM2 + { "SM2", "provider=default", sm2_keymgmt_functions }, #endif { NULL, NULL, NULL } }; -static const OSSL_ALGORITHM deflt_serializer[] = { -#define SER(name, fips, format, type, func_table) \ +static const OSSL_ALGORITHM deflt_encoder[] = { +#define ENCODER(name, _fips, _output, func_table) \ { name, \ - "provider=default,fips=" fips ",format=" format ",type=" type, \ + "provider=default,fips=" _fips ",output=" _output, \ (func_table) } -#include "serializers.inc" +#include "encoders.inc" { NULL, NULL, NULL } }; -#undef SER +#undef ENCODER -static const OSSL_ALGORITHM deflt_deserializer[] = { -#define DESER(name, fips, input, func_table) \ +static const OSSL_ALGORITHM deflt_decoder[] = { +#define DECODER(name, _fips, _input, func_table) \ { name, \ - "provider=default,fips=" fips ",input=" input, \ + "provider=default,fips=" _fips ",input=" _input, \ (func_table) } -#include "deserializers.inc" +#include "decoders.inc" + { NULL, NULL, NULL } +}; +#undef DECODER + +static const OSSL_ALGORITHM deflt_store[] = { +#define STORE(name, _fips, func_table) \ + { name, "provider=default,fips=" _fips, (func_table) }, + +#include "stores.inc" { NULL, NULL, NULL } +#undef STORE }; -#undef DESER static const OSSL_ALGORITHM *deflt_query(void *provctx, int operation_id, int *no_cache) @@ -431,10 +478,14 @@ static const OSSL_ALGORITHM *deflt_query(void *provctx, int operation_id, return deflt_signature; case OSSL_OP_ASYM_CIPHER: return deflt_asym_cipher; - case OSSL_OP_SERIALIZER: - return deflt_serializer; - case OSSL_OP_DESERIALIZER: - return deflt_deserializer; + case OSSL_OP_KEM: + return deflt_asym_kem; + case OSSL_OP_ENCODER: + return deflt_encoder; + case OSSL_OP_DECODER: + return deflt_decoder; + case OSSL_OP_STORE: + return deflt_store; } return NULL; }