提交 cddaba8e 编写于 作者: D Dr. Stephen Henson

Add 'flags' parameter to EVP_PKEY_asn1_meth_new() to set algorithm flags.

上级 49c5f38d
...@@ -191,11 +191,10 @@ int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth) ...@@ -191,11 +191,10 @@ int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth)
int EVP_PKEY_asn1_add_alias(int to, int from) int EVP_PKEY_asn1_add_alias(int to, int from)
{ {
EVP_PKEY_ASN1_METHOD *ameth; EVP_PKEY_ASN1_METHOD *ameth;
ameth = EVP_PKEY_asn1_new(from, NULL, NULL); ameth = EVP_PKEY_asn1_new(from, ASN1_PKEY_ALIAS, NULL, NULL);
if (!ameth) if (!ameth)
return 0; return 0;
ameth->pkey_base_id = to; ameth->pkey_base_id = to;
ameth->pkey_flags |= ASN1_PKEY_ALIAS;
return EVP_PKEY_asn1_add0(ameth); return EVP_PKEY_asn1_add0(ameth);
} }
...@@ -218,7 +217,7 @@ int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id, int *ppkey_flags, ...@@ -218,7 +217,7 @@ int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id, int *ppkey_flags,
return 1; return 1;
} }
EVP_PKEY_ASN1_METHOD* EVP_PKEY_asn1_new(int id, EVP_PKEY_ASN1_METHOD* EVP_PKEY_asn1_new(int id, int flags,
const char *pem_str, const char *info) const char *pem_str, const char *info)
{ {
EVP_PKEY_ASN1_METHOD *ameth; EVP_PKEY_ASN1_METHOD *ameth;
...@@ -228,7 +227,7 @@ EVP_PKEY_ASN1_METHOD* EVP_PKEY_asn1_new(int id, ...@@ -228,7 +227,7 @@ EVP_PKEY_ASN1_METHOD* EVP_PKEY_asn1_new(int id,
ameth->pkey_id = id; ameth->pkey_id = id;
ameth->pkey_base_id = id; ameth->pkey_base_id = id;
ameth->pkey_flags = ASN1_PKEY_DYNAMIC; ameth->pkey_flags = flags | ASN1_PKEY_DYNAMIC;
if (info) if (info)
{ {
......
...@@ -815,7 +815,7 @@ int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, int *ppkey_flags, ...@@ -815,7 +815,7 @@ int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, int *ppkey_flags,
const char **pinfo, const char **ppem_str, const char **pinfo, const char **ppem_str,
const EVP_PKEY_ASN1_METHOD *ameth); const EVP_PKEY_ASN1_METHOD *ameth);
EVP_PKEY_ASN1_METHOD* EVP_PKEY_asn1_new(int id, EVP_PKEY_ASN1_METHOD* EVP_PKEY_asn1_new(int id, int flags,
const char *pem_str, const char *info); const char *pem_str, const char *info);
void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth); void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth);
void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册