Hi, all:

In one of our components,  there is a call to OpenSSL_add_all_algorithms() in a 
function AppInit() which is called when the application is initialized. 

From a debugger, I am seeing the AppInit() is definitely called, however, when 
it comes to make call to PEM_bio_read_PrivateKey(), it failed with SSL error:
error:0906B072:PEM routines:PEM_get_EVP_CIPHER_INFO: :unsupported encryption
 
As an experiment,  I add OpenSSL_add_all_algorithm right before the call to 
PEM_bio_read_PrivateKey(), then the call succeeds. 
 
From Openssl documents, OpenSSL_add_all_algorithm loads the global table for 
all the ciphers and the application should only call it once and clean it up 
when the application exits. 
 
The behavior I am seeing during my test is not consistent with what the 
document describes. I am wondering if you guys have any experience about that. 
Is this a multi-thread issue? What is the best practice to initialize the SSL 
global cipher table in the application?  If I have to call it multiple times, 
then that means I have to clean it up afterward multiple times. That would be 
very inefficient. 
 
Thanks for any input, 
 
-Yolanda

:��I"Ϯ��r�m����
(����Z+�K�+����1���x��h����[�z�(����Z+���f�y�������f���h��)z{,���

Reply via email to