下,我嘗試使用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