我剛剛從Go Daddy購買了SSL證書。 優惠的價格,但它似乎有一個退步。Openssl需要使用CA包文件(中級證書)
它似乎需要bundle.crt爲了在必須瀏覽器上正常工作。 我還沒有確定它是什麼,從我所瞭解的它是來自證書頒發機構的中間證書。糾正我,如果我錯了 所以在我的軟件,我有OpenSSL的
SSL_CTX_set_default_passwd_cb(SSL_ctx, pem_passwd_cb);
SSL_CTX_use_PrivateKey_file(SSL_ctx, _private_key, SSL_FILETYPE_PEM);
SSL_CTX_use_certificate_file(SSL_ctx, _certificate, SSL_FILETYPE_PEM);
SSL_CTX_use_certificate_chain_file(SSL_ctx, "./ssl_key/bundle.pem");
SSL_CTX_set_session_cache_mode(SSL_ctx,SSL_SESS_CACHE_SERVER|SSL_SESS_CACHE_NO_INTERNAL);
SSL_CTX_set_quiet_shutdown(SSL_ctx, 1);
我得到的錯誤是:
沒有運行正確初始化或發生錯誤。
With lasts certs(geotrust)我不需要捆綁中間件,我真的迷失在這裏。
由於SSL_CTX_use_certificate_chain_file只接受PEM文件,因此我使用openssl將bundle.crt文件轉換爲PEM。
有什麼想法?
謝謝!
編輯1: 顯然中級證書必須位於/ etc/ssl/certs文件夾中。 我已經從推杆每個中間證書,這個文件夾去,爸爸,仍然沒有運氣... 我已刪除的行
SSL_CTX_use_certificate_chain_file(SSL_ctx, "./ssl_key/bundle.pem");
這似乎是沒有用的,我在這裏...