2013-04-02 90 views
13

我試圖通過PHP curl訪問第三方服務,這個服務使用curl和libcurl編譯,而不是使用OpenSSL而不是NSS。NSS:未找到客戶證書(未指定暱稱)?

這對我造成了問題,每當我嘗試訪問服務時,我都會收到此錯誤NSS: client certificate not found (nickname not specified)

我的理解是我需要在NSS數據庫中安裝證書。

我找一步就如何做到這一步的說明(記住,我需要這個來自Nginx的服務器調用PHP捲曲功能的工作)

感謝

回答

14

嘗試前綴證書文件名與「./」,或使用完整的路徑。來自卷邊手冊頁:

如果捲曲針對NSS SSL庫建那麼這個選項[--cert] 可以告訴捲曲證書的暱稱環境變量SSL_DIR定義的 NSS數據庫中的使用(或者通過 默認/ etc/pki/nssdb)。如果NSS PEM PKCS#11模塊(lib- nsspem.so)可用,則可以加載PEM文件。 如果您要使用當前目錄中的文件,請在 之前加上「./」前綴,以避免與暱稱混淆。

(重點煤礦)

或者,將其導入到NSS證書數據庫中的一些指令是在這裏,雖然我沒有用他們: http://rcritten.fedorapeople.org/nss_compat_ossl.html

+0

這對我有效。 (愛復活「舊」的帖子!) –

+1

它不適合我...我的捲曲不是用nsspem編譯的。所以我使用nss數據庫......但curl從來沒有找到我的關鍵友好名稱。即使我設法使用certutil列出密鑰名稱... – smashing

+0

這對我來說不起作用,但是讓我朝着正確的方向前進。我的CURL是用NSS編譯的(用curl -version檢查) - 這篇文章是最終爲我工作的解決方案:http://stackoverflow.com/questions/19265100/curl-command-unable-to-load-client -cert-20140138分之8018#20140138 – KFox112

0

我得到了同樣的錯誤消息,捲曲當我嘗試訪問使用簡單密碼認證的FTPS服務器時輸入了錯誤的密碼。它與證書無關。

相關問題