New function to add dynamic alias.
[openssl.git] / crypto / evp / evp.h
index 9378d441e3475490733556221ad1767b338b794b..d06904b7ecbb5ace83d17872b970f21e6681b511 100644 (file)
@@ -776,7 +776,7 @@ int         EVP_PKEY_encrypt(unsigned char *enc_key,
 int            EVP_PKEY_type(int type);
 int            EVP_PKEY_bits(EVP_PKEY *pkey);
 int            EVP_PKEY_size(EVP_PKEY *pkey);
-int            EVP_PKEY_assign(EVP_PKEY *pkey,int type,char *key);
+int            EVP_PKEY_assign(EVP_PKEY *pkey,int type,void *key);
 void *         EVP_PKEY_get0(EVP_PKEY *pkey);
 
 #ifndef OPENSSL_NO_RSA
@@ -856,11 +856,18 @@ int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md,
                    EVP_PBE_KEYGEN *keygen);
 void EVP_PBE_cleanup(void);
 
+#define ASN1_PKEY_ALIAS                0x1
+#define ASN1_PKEY_DYNAMIC      0x2
+
 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);
 
 EVP_PKEY_ASN1_METHOD* EVP_PKEY_asn1_new(int id,
                                        const char *pem_str, const char *info);