diff options
author | Matt Caswell <matt@openssl.org> | 2019-08-30 13:33:37 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2019-09-09 14:00:00 +0100 |
commit | 4889dadcb8511176c30888c748f1981adc38451d (patch) | |
tree | b27f1a2529e512f43344d7a62d89daa1bcc2407d /include | |
parent | dfcb5d29b525f5d2b6bd80602dca5efe5fca77bb (diff) |
Implement DSA in the default provider
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9753)
Diffstat (limited to 'include')
-rw-r--r-- | include/openssl/core_names.h | 17 | ||||
-rw-r--r-- | include/openssl/core_numbers.h | 3 | ||||
-rw-r--r-- | include/openssl/evp.h | 6 |
3 files changed, 18 insertions, 8 deletions
diff --git a/include/openssl/core_names.h b/include/openssl/core_names.h index b78a0978fd..5a75aaf280 100644 --- a/include/openssl/core_names.h +++ b/include/openssl/core_names.h @@ -129,18 +129,27 @@ extern "C" { #define OSSL_KDF_PARAM_SIZE "size" /* size_t */ /* PKEY parameters */ -/* Diffie-Hellman Parameters */ -#define OSSL_PKEY_PARAM_DH_P "dh-p" -#define OSSL_PKEY_PARAM_DH_G "dh-g" -#define OSSL_PKEY_PARAM_DH_Q "dh-q" +/* Diffie-Hellman/DSA Parameters */ +#define OSSL_PKEY_PARAM_FFC_P "ffc-p" +#define OSSL_PKEY_PARAM_FFC_G "ffc-g" +#define OSSL_PKEY_PARAM_FFC_Q "ffc-q" + /* Diffie-Hellman Keys */ #define OSSL_PKEY_PARAM_DH_PUB_KEY "dh-pub" #define OSSL_PKEY_PARAM_DH_PRIV_KEY "dh-priv" +/* DSA Keys */ +#define OSSL_PKEY_PARAM_DSA_PUB_KEY "dsa-pub" +#define OSSL_PKEY_PARAM_DSA_PRIV_KEY "dsa-priv" + /* Key Exchange parameters */ #define OSSL_EXCHANGE_PARAM_PAD "exchange-pad" /* uint */ +/* Signature parameters */ +#define OSSL_SIGNATURE_PARAM_DIGEST "digest" +#define OSSL_SIGNATURE_PARAM_DIGEST_SIZE "digest-size" + # ifdef __cplusplus } # endif diff --git a/include/openssl/core_numbers.h b/include/openssl/core_numbers.h index 61ec1537b6..ea320537e7 100644 --- a/include/openssl/core_numbers.h +++ b/include/openssl/core_numbers.h @@ -408,6 +408,7 @@ OSSL_CORE_MAKE_FUNC(int, OP_keyexch_set_params, (void *ctx, # define OSSL_FUNC_SIGNATURE_SIGN 3 # define OSSL_FUNC_SIGNATURE_FREECTX 4 # define OSSL_FUNC_SIGNATURE_DUPCTX 5 +# define OSSL_FUNC_SIGNATURE_SET_PARAMS 6 OSSL_CORE_MAKE_FUNC(void *, OP_signature_newctx, (void *provctx)) OSSL_CORE_MAKE_FUNC(int, OP_signature_sign_init, (void *ctx, void *provkey)) @@ -417,6 +418,8 @@ OSSL_CORE_MAKE_FUNC(int, OP_signature_sign, (void *ctx, unsigned char *sig, size_t tbslen)) OSSL_CORE_MAKE_FUNC(void, OP_signature_freectx, (void *ctx)) OSSL_CORE_MAKE_FUNC(void *, OP_signature_dupctx, (void *ctx)) +OSSL_CORE_MAKE_FUNC(int, OP_signature_set_params, (void *ctx, + const OSSL_PARAM params[])) # ifdef __cplusplus } diff --git a/include/openssl/evp.h b/include/openssl/evp.h index b09547a8b0..dc70686f8f 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -1337,6 +1337,8 @@ void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth, int (*pkey_security_bits) (const EVP_PKEY *pk)); +int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); + # define EVP_PKEY_OP_UNDEFINED 0 # define EVP_PKEY_OP_PARAMGEN (1<<1) # define EVP_PKEY_OP_KEYGEN (1<<2) @@ -1362,10 +1364,6 @@ void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth, # define EVP_PKEY_OP_TYPE_GEN \ (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN) -# define EVP_PKEY_CTX_set_signature_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ - EVP_PKEY_CTRL_MD, 0, (void *)(md)) - # define EVP_PKEY_CTX_get_signature_md(ctx, pmd) \ EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ EVP_PKEY_CTRL_GET_MD, 0, (void *)(pmd)) |