我爲根CA,中間CA和服務器創建了三個證書。他們代表了簡單的信任鏈:TLS放置證書的位置
server -> intermediate -> root
問題是如何正確地把它們放在客戶端和服務器上。
我有兩個選擇:
放在客戶端的trustStore等根證書 - 中間和服務器證書服務器的keyStore。因此,服務器將發送兩個證書,客戶端將驗證具有中間的服務器證書,這將通過存儲在客戶端的trustStore中的根證書進行驗證。
將根和中間證書客戶的trustStore時服務器將只存儲自己的證書在的keyStore。
賜教:)
您的證書是否來自可信任的CA或自簽名? – devang
@devang自簽名 - 我使用OpenSSL生成所有證書 –
由於自簽名,您的步驟對於服務器端設置是正確的。此外,您必須將root-ca放置在客戶端的信任庫中,並將root-ca放入'/ etc/ssl/certs'目錄並運行'ca_rehash'。確認你使用'openssl s_client -connect:'連接服務器是否正確。只有當您計劃從命令行進行http調用時才需要放入/ etc/ssl/certs,例如捲曲/ wget的。 –
devang