用keytool製做證書並在tomcat配置https服務(二)html
用keytool製做證書並在tomcat配置https服務(三)apache
用keytool製做證書並在tomcat配置https服務(四)瀏覽器
https分爲單項認證和雙向認證。tomcat
通常https頁面上的訪問都是單項認證,服務端發送數字證書給客戶端,客戶單方面驗證。而服務端不作驗證。安全
而雙向認證,須要雙方都有證書,而後發送給對方進行驗證。通常用於企業應用對接。工具
單項認證spa
準備工做:code
1.首先使用cmd進入到jdk的keytool工具目錄下,個人路徑D:\Program Files (x86)\jdk1.8.0_77\jre\bin,以後的keytool語句就在cmd執行。server
2.在D盤建立個ssl文件夾。xml
開始:
1.服務端建立密鑰對及密鑰庫。
keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 2048 -validity 365 -storetype JKS -keystore D:/ssl/keystore.jks -storepass 123456
回車以後會顯示如圖,這第一條信息【CN】通常寫你要綁定的域名或IP地址【高版本的瀏覽器不能隨便寫,不然也提示不安全】,而後下邊的信息能夠根據本身狀況寫。
而後咱們看一下密鑰庫裏的信息
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" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" />
注意:clientAuth="false",這個參數值若是爲true爲雙向認證,false爲單項認證,咱們用false。
啓動tomcat訪問下https://localhost:8443看下
而後點擊【證書信息】
能夠看到這個證書就是配在服務端的證書,這樣就對了。至於證書風險,是由於證書不在瀏覽器的「受信任的根證書頒發機構」形成的,安裝後就不顯示了。