aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2017-10-26 10:54:08 +0200
committerRichard Levitte <levitte@openssl.org>2017-10-30 18:16:29 +0100
commit5e006082199e9a0f37ba35116ff217bc643dd317 (patch)
tree06a3ed6ba9cb630da696a10f5ff2f33e25811727
parentf403feea11d1ea26fd5b7d9732361cfc3f9f91a9 (diff)
downloadopenssl-5e006082199e9a0f37ba35116ff217bc643dd317.tar.gz
EVP_PKEY_ASN1_METHOD: add functions to set siginf_set and pkey_check methods
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de> (Merged from https://github.com/openssl/openssl/pull/4589)
-rw-r--r--crypto/asn1/ameth_lib.c18
-rw-r--r--include/openssl/evp.h8
-rw-r--r--util/libcrypto.num2
3 files changed, 28 insertions, 0 deletions
diff --git a/crypto/asn1/ameth_lib.c b/crypto/asn1/ameth_lib.c
index 82868e1366..5f523b2969 100644
--- a/crypto/asn1/ameth_lib.c
+++ b/crypto/asn1/ameth_lib.c
@@ -251,6 +251,10 @@ void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst,
dst->item_sign = src->item_sign;
dst->item_verify = src->item_verify;
+ dst->siginf_set = src->siginf_set;
+
+ dst->pkey_check = src->pkey_check;
+
}
void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth)
@@ -359,3 +363,17 @@ void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth,
ameth->item_sign = item_sign;
ameth->item_verify = item_verify;
}
+
+void EVP_PKEY_asn1_set_siginf(EVP_PKEY_ASN1_METHOD *ameth,
+ int (*siginf_set) (X509_SIG_INFO *siginf,
+ const X509_ALGOR *alg,
+ const ASN1_STRING *sig))
+{
+ ameth->siginf_set = siginf_set;
+}
+
+void EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth,
+ int (*pkey_check) (const EVP_PKEY *pk))
+{
+ ameth->pkey_check = pkey_check;
+}
diff --git a/include/openssl/evp.h b/include/openssl/evp.h
index 40ed8d2db2..90add836c0 100644
--- a/include/openssl/evp.h
+++ b/include/openssl/evp.h
@@ -1198,6 +1198,14 @@ void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth,
X509_ALGOR *alg2,
ASN1_BIT_STRING *sig));
+void EVP_PKEY_asn1_set_siginf(EVP_PKEY_ASN1_METHOD *ameth,
+ int (*siginf_set) (X509_SIG_INFO *siginf,
+ const X509_ALGOR *alg,
+ const ASN1_STRING *sig));
+
+void EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth,
+ int (*pkey_check) (const EVP_PKEY *pk));
+
void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,
int (*pkey_security_bits) (const EVP_PKEY
*pk));
diff --git a/util/libcrypto.num b/util/libcrypto.num
index f4e3451fdc..a9281cede0 100644
--- a/util/libcrypto.num
+++ b/util/libcrypto.num
@@ -4418,3 +4418,5 @@ RAND_POOL_add_begin 4362 1_1_1 EXIST::FUNCTION:
RAND_POOL_add_end 4363 1_1_1 EXIST::FUNCTION:
RAND_POOL_acquire_entropy 4364 1_1_1 EXIST::FUNCTION:
OPENSSL_sk_new_reserve 4365 1_1_1 EXIST::FUNCTION:
+EVP_PKEY_asn1_set_check 4366 1_1_1 EXIST::FUNCTION:
+EVP_PKEY_asn1_set_siginf 4367 1_1_1 EXIST::FUNCTION: