服務器使用https,自簽名證書

方便測試, 這裏自己搭建一個服務器, 使用tomcat。在這裏就不一一說了。

生成證書, 這裏使用keytool工具, java自帶的。打開終端, 輸入:

keytool -genkeypair -alias server -keyalg RSA -keysize 2048  -storetype PKCS12 -keystore /Users/xxx/Documents/cer/newcer/server.p12

接下來會要求輸入密碼, 這裏使用123456, 和一些其他信息

您的名字與姓氏是什麼?
  [Unknown]:  server
您的組織單位名稱是什麼?
  [Unknown]:  server
您的組織名稱是什麼?
  [Unknown]:  server
您所在的城市或區域名稱是什麼?
  [Unknown]:  server
您所在的省/市/自治區名稱是什麼?
  [Unknown]:  server
該單位的雙字母國家/地區代碼是什麼?
  [Unknown]:  CN
CN=server, OU=server, O=server, L=server, ST=server, C=CN是否正確?
  [否]:  y

同樣方式, 修改名稱, 生成一個客戶端證書。

打開tomcat的conf/server.xml , 修改

    <Connector port="8111" protocol="HTTP/1.1"
               connectionTimeout="20000"
                redirectPort="8443" />

   <Connector SSLEnabled="true" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" 
   	clientAuth="true" keystoreFile="/Users/xxxx/Documents/cer/server.keystore" 
   	keystorePass="123456" maxThreads="150" port="8443" protocol="org.apache.coyote.http11.Http11Protocol" 
   	scheme="https"
   	secursslEnabledProtocolse="true" 
   	truststoreFile="/Users/xxxx/Documents/cer/client.p12" truststorePass="123456"/>

clientAuth, 是否需要進行雙向認證。keystoreFile, 服務端證書位置, truststoreFile信任的客戶端證書位置。

測試證書的話, 直接把客戶端證書導入瀏覽器, 或者鑰匙庫, 在瀏覽器上面測試就ok。

  方便測試, 這裏寫一個接口https://192.168.3.210:8443/dynamicWebProject/login/map.form, 返回一個map。



在證書沒有導入之前, 顯示如圖。

導入證書之後:

到這裏, 就ok啦。


發佈了59 篇原創文章 · 獲贊 2 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章