summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2019-08-30 13:33:37 +0100
committerMatt Caswell <matt@openssl.org>2019-09-09 14:00:00 +0100
commit4889dadcb8511176c30888c748f1981adc38451d (patch)
treeb27f1a2529e512f43344d7a62d89daa1bcc2407d /include
parentdfcb5d29b525f5d2b6bd80602dca5efe5fca77bb (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.h17
-rw-r--r--include/openssl/core_numbers.h3
-rw-r--r--include/openssl/evp.h6
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))