SSL_library_init()失败

时间:2014-05-20 10:58:04

标签: ssl openssl

在我的代码中,SSL库函数SSL_library_init()未按预期返回1。 如何查看它返回的错误?

我在SSL_library_init()之后调用了SSL_load_error_strings(),但没有想到如何查看SSL_library_init()返回的错误代码/消息?

任何提示或演示代码,以查看SSL_load_error_strings的用法?

3 个答案:

答案 0 :(得分:1)

如果你查看o​​penssl的代码SSL_library_init调用几个函数然后返回1.除了返回1之外,没有其他方法可以退出此函数,因此该函数不可能返回任何其他内容(就像它有记录)。

因此,请检查您的代码是否真的从openssl调用SSL_library_init而不是其他内容。

答案 1 :(得分:0)

  

任何提示或演示代码,以查看SSL_load_error_strings的用法?

请参阅OpenSSL wiki上的Library Initialization。来自维基:

**Library Apps**

The following examines how the OpenSSL development team uses initialization in the OpenSSL utilities.

s_client initializes itself with the following calls:

    * OpenSSL_add_ssl_algorithms
    * SSL_load_error_strings 

s_server initializes itself with the following calls:

    * SSL_load_error_strings();
    * OpenSSL_add_ssl_algorithms(); 

s_time initializes itself with the following calls:

    * OpenSSL_add_ssl_algorithms(); 

state_machine initializes itself with the following calls:

    * SSL_library_init();
    * OpenSSL_add_ssl_algorithms();
    * SSL_load_error_strings();
    * ERR_load_crypto_strings(); 

答案 2 :(得分:0)

你是否有机会包括Perforce libs?

Perforce包含一个p4sslstub.lib,它在正确的openssl库之后链接时覆盖所有导入为0,这导致SSL_library_init()返回0。