2015-01-04 65 views
0

我試圖使用SSL客戶端證書與Firefox(在Mac 34.0.5是我的測試平臺,但我希望他們在其他Mozilla程序&系統工作)。Firefox提供證書作爲客戶端標識符需要哪些證書使用標誌?

我已經成立了一個2級CA:頂/根/自簽名的證書 - > CA證書

然後,我創建的鍵/請求/證書/ PKCS12並安裝到Firefox。

當我瀏覽到請求客戶身份識別的網絡服務器,火狐問我挑一個證書,但它並沒有提供我的新證書。相反,我唯一的選擇是我從不同提供商處獲得的用戶證書。

我認爲這個問題是在我的客戶證書密鑰用法或擴展密鑰用法設置 - 我懷疑火狐認爲我的證書是不適合的客戶端認證,所以它並沒有提供它。

有誰知道火狐如何精選客戶身份識別目的的合適的證書?

(證書導入到數據庫OK並且父證書是可信的,所以我認爲它是用戶證書標誌,但它可能是沒有被授權簽署客戶證書的單層CA證書?是我想要的密鑰用法[當然,我已經嘗試了很多不同的組合,但是這是一組不工作])

[email protected]:/dir# openssl x509 -text -in tls/certs/TOP-LEVEL.crt 
Certificate: 
    Data: 
     Version: 3 (0x2) 
[...] 
     X509v3 extensions: 
      X509v3 Basic Constraints: critical 
       CA:TRUE, pathlen:2 
      X509v3 Key Usage: critical 
       Certificate Sign, CRL Sign 
[...] 
-----BEGIN CERTIFICATE----- 
[...] 
-----END CERTIFICATE----- 
[email protected]:/dir# openssl x509 -text -in tls/certs/MID-LEVEL.crt 
Certificate: 
    Data: 
     Version: 3 (0x2) 
[...] 
     X509v3 extensions: 
      X509v3 Basic Constraints: critical 
       CA:TRUE, pathlen:0 
      X509v3 Key Usage: 
       Certificate Sign, CRL Sign 
-----BEGIN CERTIFICATE----- 
[...] 
-----END CERTIFICATE----- 
[email protected]:/dir# openssl x509 -text -in user.crt 
Certificate: 
    Data: 
     Version: 3 (0x2) 
     X509v3 extensions: 
      X509v3 Basic Constraints: 
       CA:FALSE 
      X509v3 Key Usage: 
       Digital Signature, Key Encipherment 
-----BEGIN CERTIFICATE----- 
[...] 
-----END CERTIFICATE----- 

回答

0

我的前提是(可能)不正確。事實證明,當一個SSL服務器請求一個客戶端證書時,它發送一個它將接受的所有CA的列表,並且客戶端應該發送一個由其中一個簽名的證書(如果有的話)。我沒有在正確的地方提供新的CA證書,因此它沒有作爲可接受的CA發送給Firefox,因此Firefox並未提供我的新證書作爲發送內容的選擇。

我使用openssl s_client(可以確信打印大量有用信息)和strass on openssl verify(你可以看到它試圖打開哪個證書文件以及在哪裏)進行跟蹤。

像往常一樣,證書問題需要的文件,路徑和配置精心組織。