用keytool制作證書並在tomcat配置https服務(一)
阿新 • • 發佈:2019-04-29
efi alias lse 瀏覽器 ref 信任 不同 服務 cli
https分為單項認證和雙向認證。
一般https頁面上的訪問都是單項認證,服務端發送數字證書給客戶端,客戶單方面驗證。而服務端不做驗證。
而雙向認證,需要雙方都有證書,然後發送給對方進行驗證。一般用於企業應用對接。
準備工作:
1.首先使用cmd進入到jdk的keytool工具目錄下,我的路徑D:\Program Files (x86)\jdk1.8.0_77\jre\bin,之後的keytool語句就在cmd執行。
2.在D盤創建個ssl文件夾。
開始:
1.服務端創建密鑰對及密鑰庫。
keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 2048 -validity 365 -storetype JKS -keystore D:/ssl/keystore.jks -storepass 123456
回車之後會顯示如圖,這第一條信息一般寫域名或IP地址,然後下邊的信息可以根據自己情況寫。我這裏就不寫域名了,直接寫的jinzhiming。
然後我們看一下密鑰庫裏的信息
keytool -list -v -keystore D:/ssl/keystore.jks
回車輸入密碼後
我們的密鑰對已經生成了。
然後我們去配置下tomcat,我用的tomcat7,tomcat8可能會和本配置不同,請自行查找配置方法。
找到tomcat的server.xml
添加如下配置:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="D:/ssl/keystore.jks" keystorePass="123456" truststoreFile="D:/ssl/keystore.jks" truststorePass="123456" clientAuth="false" sslProtocol="TLS" />
註意:clientAuth="false",這個參數值如果為true為雙向認證,false為單項認證,我們用false。
啟動tomcat訪問下https://localhost:8443看下
這樣就可以了。至於證書風險,是因為證書不在瀏覽器的“受信任的根證書頒發機構”造成的。安裝後就不顯示。
用keytool制作證書並在tomcat配置https服務(一)