New function to add dynamic alias.
authorDr. Stephen Henson <steve@openssl.org>
Wed, 5 Apr 2006 13:24:19 +0000 (13:24 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 5 Apr 2006 13:24:19 +0000 (13:24 +0000)
crypto/asn1/ameth_lib.c
crypto/evp/evp.h

index 6b4690e..60d1594 100644 (file)
@@ -172,7 +172,7 @@ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(const char *str, int len)
        return NULL;
        }
 
-int EVP_PKEY_asn1_add(const EVP_PKEY_ASN1_METHOD *ameth)
+int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth)
        {
        if (app_methods == NULL)
                {
@@ -186,6 +186,17 @@ int EVP_PKEY_asn1_add(const EVP_PKEY_ASN1_METHOD *ameth)
        return 1;
        }
 
+int EVP_PKEY_asn1_add_alias(int to, int from)
+       {
+       EVP_PKEY_ASN1_METHOD *ameth;
+       ameth = EVP_PKEY_asn1_new(from, NULL, NULL);
+       if (!ameth)
+               return 0;
+       ameth->pkey_base_id = to;
+       ameth->pkey_flags |= ASN1_PKEY_ALIAS;
+       return EVP_PKEY_asn1_add0(ameth);
+       }
+
 int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id, int *ppkey_flags,
                                const char **pinfo, const char **ppem_str,
                                        const EVP_PKEY_ASN1_METHOD *ameth)
index dcf9933..d06904b 100644 (file)
@@ -863,7 +863,8 @@ int EVP_PKEY_asn1_get_count(void);
 const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx);
 const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(int type);
 const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(const char *str, int len);
-int EVP_PKEY_asn1_add(const EVP_PKEY_ASN1_METHOD *ameth);
+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_get0_info(int *ppkey_id, int *pkey_base_id, int *ppkey_flags,
                                const char **pinfo, const char **ppem_str,
                                        const EVP_PKEY_ASN1_METHOD *ameth);