5
我需要配置通過SSL協議連接到服務器。我從服務器所有者獲得2個文件 - CA根證書(ca.pem)和測試證書請求(test.csr文件)。SSL麻煩(openssl)
我嘗試測試通過的OpenSSL s_connect工具連接,我給奇怪的結果(XXX - 蒙面值):
openssl s_client -connect MYURL -CAfile ca.pem
CONNECTED(00000003)
xxx verify return:1
xxx verify return:1
3074332296:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1193:SSL alert number 40
3074332296:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
但是,後握手警報和打印證書數據,我看到:
SSL handshake has read yyy bytes and written yyy bytes
New, xxx, Cipher is xxx
Server public key is xxx bit
Compression: xxx
Expansion: xxx
SSL-Session:
Protocol : xxx
Cipher : xxx
Session-ID:
Session-ID-ctx:
Master-Key: xxx
Key-Arg : xxx
PSK identity: xxx
PSK identity hint: xxx
Compression: xxx
Start Time: xxx
Timeout : xxx (sec)
Verify return code: 0 (ok)
什麼意思驗證返回碼是0(好)?如果發生握手錯誤/警報,怎麼可能?
檢查服務器強制執行的支持密碼是否與客戶端嘗試連接的密碼匹配。如果嘗試使用Web服務器配置不支持的密碼進行連接,則可能會出現此錯誤 - 例如,這可能是由底層服務器端openssl分發引起的 –