標籤:
通過JDK內建的keytool工具能夠產生屬於自己的認證。
在window環境下:
以管理員的身份運行cmd.exe,切換到Tomcat的安裝目錄下(如G:\Tomcat 8.0),執行命令
keytool -genkey -alias casserver -keypass demosso -keyalg RSA -keystore casserver.keystore -validity 365
執行後可以看到目錄下產生了casserver.keystore檔案,
-alias 指定別名為casserver;
-keyalg指定RSA演算法;
-keypass 指定私密金鑰密碼;
-keystore 指定密鑰檔案名稱為casserver.keystore;
-validity 指定認證有效期間為365天。
繼續執行命令:
keytool -export -alias casserver -storepass demosso -file casserver.cer -keystore casserver.keystore
執行後可以看到目錄下產生了casserver.cer檔案,
-alias 指定別名為casserver;
-storepass 指定私密金鑰為demosso;
-file 指定匯出認證的檔案名稱為casserver.cer;
-keystore 指定之前產生的密鑰檔案的檔案名稱。
繼續執行命令:
keytool -import -trustcacerts -alias casserver-storepass demosso -file casserver.cer –keystore cacerts
執行後可以看到目錄下產生了cacerts檔案。
接下來開啟Tomcat目錄下的conf檔案,裡面有一個server.xml檔案,編輯它,找到被注釋的這一段:
<!--<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> -->
修改為:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" keystoreFile="/casserver.keystore" keystorePass="demosso" truststoreFile="/cacerts" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />
重新啟動Tomcat,開啟https://localhost:8443/
看到:
就代表配置成功了,點擊繼續瀏覽此網站:
看到Tomcat的首頁。
為什麼會提示認證存在問題呢?因為Tomcat使用的認證是我們自己用keytool工具產生的,對於瀏覽器來說,我們自己產生的認證是不被信任的,在實際生產中,我們要向被信任的組織申請認證,使用那些被信任組織的認證就不會出現這個提示了。
Tomcat配置https