根據我的經驗,在大多數情況下,驗證是自簽名證書挑剔。
一般情況下,使用「假」證書時,你應該始終採取額外的步驟,並創建一個假的CA並簽署與CA假證書如果沒有別的,這使得你的測試更像是一個真實的場景。
下面是關於如何做到這一點與OpenSSL的簡要說明:
- 創建CA(自簽名)
- 創建服務器密鑰和CSR
openssl req -out server.csr -pubkey -new -keyout server.secure.key
- 脫下密碼
openssl rsa -in server.secure.key -out server.key
- 登錄服務器證書與CA
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 1825
- (獲得進一步的證書,使用現有的序列號,
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAserial ca.srl -out server.crt -days 1825
)
只要你有問題,任何 SSL(不僅僅是HTTPS) - 使用原始openssl
做
openssl s_verify -connect <hostname>:<portnumber> <options>
例如調試
openssl s_verify -connect localhost:443 -CAfile myfakeca.pem
這通常可以爲您解決實際證書問題帶來很多麻煩,這些問題實際上與您的代碼無關。
添加我的假證書/etc/ssl/certs/ca-certificates.crt文件和錯誤改爲 'OpenID的失敗 OpenID查找錯誤:錯誤獲取XRDS文件:(77「問題與SSL CA證書(路徑?訪問權限?)')' – sdnaghdi 2013-04-27 11:08:34
錯誤是curl庫http://curl.haxx.se/libcurl/c/libcurl-errors.html#CURLESSLCACERT的錯誤。 CURL文檔指出您要連接的服務器具有無法驗證的證書。 什麼時候發生錯誤,什麼URL? – ziima 2013-06-07 12:47:18