1. 程式人生 > >用keytool制作證書並在tomcat配置https服務(一)

用keytool制作證書並在tomcat配置https服務(一)

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服務(一)