下,我尝试使用SSL_CTX_use_PrivateKey_file功能OpenSSL的Linux下,但它返回false。周围的代码已经从Windows移植到一切正常的地方。根据系统的不同,必须有不同的做法吗?SSL_CTX_use_PrivateKey_file失败的Linux
我编译在Ubuntu下OpenSSL库自己(默认配置等),并使用Windows预编译的二进制文件(从OpenSSL的网站链接)我。
的证书是在.PEM文件,以及关键。此外,还建立了一个密码。
以下基本上是什么的完成;
SSL_CTX_set_default_passwd_cb(pContext, passwdCallback);
SSL_CTX_set_default_passwd_cb_userdata(pContext, (void*)this);
SSL_CTX_use_certificate_file(pContext, strCertificateFile, SSL_FILETYPE_PEM);
SSL_CTX_use_Privatekey_file(pContext, strPrivateKeyFile, SSL_FILETYPE_PEM); // fail in Linux but work fine in Windows
有没有人有想法?
使用'SSL_load_error_strings()',然后'ERR_get_error()'和'ERR_error_string()'来获取错误并将其转换为可读格式。 – caf 2010-01-11 04:18:48