簡體   English   中英

設置客戶端證書以進行相互認證

[英]Setting up client side certificate for mutual authentication

我正在嘗試為我的Web應用程序設置2種方式的SSL相互身份驗證。 我目前尚未設置客戶端,正在通過瀏覽器測試Web服務。

我使用Mac上的鑰匙串工具創建了客戶端證書,並在Firefox中導入了certificate.p12文件。 我也有一個certificate.cert文件。 據我了解,我需要將此證書文件添加到我的服務器信任庫中。

為此,我需要使用以下命令:

keytool -import -trustcacerts -alias <hostname of DP> -file <your file.crt> -keystore <truststorefile>

但是,我要添加什么作為系統的主機名? 瀏覽器將顯示我的Web服務器的主機名嗎?

首先,如果您擁有由知名CA(例如Verisign,GoDaddy等)或本地信任的CA(例如您的雇主)頒發的客戶證書,則無需執行任何操作。 客戶只需向證書提供一個鏈,該鏈將導致已經信任的CA。

如果您從自己的CA頒發了客戶端證書,則應僅將CA(根)證書添加到服務器信任庫中。 然后,將對該CA頒發的所有客戶端證書進行驗證,而無需付出更多努力。 如果您按照通常的做法使CA證書具有較長的壽命,那么您甚至可以毫不費力地在服務器上續訂和/或替換客戶端證書。 盡管設置DIY CA並不總是想要這樣做,但您可以在設置CRL分發和/或OCSP時自動撤銷它們。

如果創建了自簽名客戶端證書,則僅在那時,您才需要將該特定證書添加到服務器信任庫中。 盡管必須通過服務器的主機名來標識SSL / TLS 服務器證書 ,但不需要客戶端證書,並且CA證書(默認情況下通常是您的信任庫中的證書)永遠不會以主機名作為主題(盡管一些擴展名通常包含包含主機名的URL)。 共同設計證書也不需要使用主機名。

Java信任庫中的證書條目的別名不必是主機名。 它只需要是唯一的,但它應該是記憶的證書的主題。 例如,如果您的客戶端證書適用於名為Alice和Bob的用戶(或更可能是其PC或任何設備),則可以僅使用alicebob作為別名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM