Index: openssl/crypto/engine/eng_fat.c |
=================================================================== |
--- openssl/crypto/engine/eng_fat.c (revision 105093) |
+++ openssl/crypto/engine/eng_fat.c (working copy) |
@@ -89,6 +89,12 @@ |
#endif |
if((flags & ENGINE_METHOD_RAND) && !ENGINE_set_default_RAND(e)) |
return 0; |
+ if((flags & ENGINE_METHOD_PKEY_METHS) |
+ && !ENGINE_set_default_pkey_meths(e)) |
+ return 0; |
+ if((flags & ENGINE_METHOD_PKEY_ASN1_METHS) |
+ && !ENGINE_set_default_pkey_asn1_meths(e)) |
+ return 0; |
return 1; |
} |
@@ -115,6 +121,13 @@ |
*pflags |= ENGINE_METHOD_CIPHERS; |
else if (!strncmp(alg, "DIGESTS", len)) |
*pflags |= ENGINE_METHOD_DIGESTS; |
+ else if (!strncmp(alg, "PKEY", len)) |
+ *pflags |= |
+ ENGINE_METHOD_PKEY_METHS|ENGINE_METHOD_PKEY_ASN1_METHS; |
+ else if (!strncmp(alg, "PKEY_CRYPTO", len)) |
+ *pflags |= ENGINE_METHOD_PKEY_METHS; |
+ else if (!strncmp(alg, "PKEY_ASN1", len)) |
+ *pflags |= ENGINE_METHOD_PKEY_ASN1_METHS; |
else |
return 0; |
return 1; |
@@ -154,6 +167,7 @@ |
ENGINE_register_ECDSA(e); |
#endif |
ENGINE_register_RAND(e); |
+ ENGINE_register_pkey_meths(e); |
return 1; |
} |