int EVP_PKEY_asn1_add_alias(int to, int from)
{
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)
return 0;
ameth->pkey_base_id = to;
- ameth->pkey_flags |= ASN1_PKEY_ALIAS;
return EVP_PKEY_asn1_add0(ameth);
}
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)
{
EVP_PKEY_ASN1_METHOD *ameth;
ameth->pkey_id = id;
ameth->pkey_base_id = id;
- ameth->pkey_flags = ASN1_PKEY_DYNAMIC;
+ ameth->pkey_flags = flags | ASN1_PKEY_DYNAMIC;
if (info)
{
const char **pinfo, const char **ppem_str,
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);
void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth);
void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,