5
A
回答
12
應該是:
curl --cert certificate_file.pem:password https://www.example.com/some_protected_page
3
加入到前面的答案確保您的捲曲的安裝支持HTTPS。
您可以使用curl --version
獲取有關支持的協議的信息。
如果您的curl支持https,請按照上一個答案。
捲曲--cert certificate_path:密碼https://www.example.com
如果它不支持HTTPS,您需要安裝支持HTTPS捲曲版本。
0
我試圖從密鑰庫中獲取clientcert和私鑰時經歷了這個過程。
以上由welsh發佈的鏈接非常棒,但是我的redhat發行版還有一個額外的步驟。如果使用NSS構建curl(運行curl --version
以查看是否列出了NSS),那麼您需要將密鑰導入到NSS密鑰庫中。我經歷了一堆令人費解的步驟去了,所以這可能不是最乾淨的方式,但它得到的東西的工作
所以導出密鑰到的.p12
keytool -importkeystore -srckeystore $jksfile -destkeystore $p12file \ -srcstoretype JKS -deststoretype PKCS12 \ -srcstorepass $jkspassword -deststorepass $p12password -srcalias $myalias -destalias $myalias \ -srckeypass $keypass -destkeypass $keypass -noprompt
並生成PEM文件只保存關鍵
echo making ${fileroot}.key.pem openssl pkcs12 -in $p12 -out ${fileroot}.key.pem \ -passin pass:$p12password \ -passout pass:$p12password -nocerts
- 創建一個空的密鑰庫:
mkdir ~/nss chmod 700 ~/nss certutil -N -d ~/nss
- 導入密鑰到密鑰庫
pks12util -i <mykeys>.p12 -d ~/nss -W <password for cert >
現在捲曲應該工作。
curl --insecure --cert <client cert alias>:<password for cert> \ --key ${fileroot}.key.pem <URL>
正如我所提到的,可能還有其他方法可以做到這一點,但至少這是重複的我。如果curl是在NSS支持下編譯的,我無法讓它從文件中提取客戶端證書。
相關問題
- 1. curl ssl證書
- 2. PHP CURL和SSL證書(或證書鏈)
- 3. SSL證書加密與密碼加密
- 4. SSL證書和cURL:證書包或不受信任的證書?
- 5. SSL證書沒有通過
- 6. 通過SSL,證書等HttpWebRequest
- 7. ssl證書到AD密碼更改
- 8. 哪個SSL證書通過Android認證?
- 9. SSL和證書
- 10. 使用SSL證書,私有密鑰和證書SSLCertificateChain
- 11. XAMPP配置cURL錯誤60:SSL證書
- 12. 錯誤使用SSL證書的PHP cURL
- 13. Authorize.Net DPM未通過SHA-256 SSL證書
- 14. 通過TCP/IP連接的SSL證書
- 15. 通過SSL證書保護Web服務
- 16. CRSF和SSL證書
- 17. WebView和SSL證書
- 18. SSL證書和elinks
- 19. SSO和SSL證書
- 20. nginx和ssl證書
- 21. Java和SSL證書
- 22. pycurl和SSL證書
- 23. Jenkins和SSL證書
- 24. 驗證SSL證書/密鑰的格式
- 25. 通過密碼/證書加密Sql服務器?
- 26. 通過curl和Visual C++ 2010的HTTP + SSL
- 27. 證書KeyUsage和密碼加密模式
- 28. Silverlight和通配符SSL證書
- 29. IIS 7和SSL通配符證書
- 30. 將證書和密鑰作爲der_bin()在ssl中通過erlang傳遞
我可以用這個選項指定一個JKS文件嗎? – Adam
您不能將cURL與** Java ** KeyStore一起使用。這是一個很好的答案,轉換它的詳細信息:http://stackoverflow.com/q/652916/971423 – Welsh