Tomcat--HTTPS的簡單應用

    項目中我們可能會用到HTTPS的訪問請求,那麼在JavaWeb項目中我們怎麼將請求時的http變爲https,其實https相較於http就是訪問協議的不同,多了一個認證證書;

    那我們就來看看這個證書是怎麼創建的:

    其實JDK早已經爲我們提供瞭解決辦法: C:\Program Files\Java\jdk1.8.0_131\bin\keytool.exe

    生成證書方式(cmd命令):

HTTPS : 
	JDK證書製造工具: C:\Program Files\Java\jdk1.8.0_131\bin\keytool.exe
	1,cmd代碼:
		keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "test.keystore"
		輸入密鑰庫口令:  123456
		姓氏(CN): localhost
		單位名稱(OU): gy
		組織名稱(O): gy
		城市或區域(L): my
		省/市/自治區(ST): sx
		國家(C): cn
		是否正確: y
		tomcat口令: 123456	
說明:
	密鑰 庫 密碼: 123456
	證書條目密碼: 123456
功能:
	創建一個別名爲tomcat的證書條目,該條目存放在名爲test.keystore的密鑰庫中,若test.keystore密鑰庫不存在則創建。
	參數說明:
		-genkeypair:生成一對非對稱密鑰;
		-alias:指定密鑰對的別名,該別名是公開的;
		-keyalg:指定加密算法,本例中的採用通用的RAS加密算法;
		-keystore:密鑰庫的路徑及名稱,不指定的話,默認在操作系統的用戶目錄下生成一個".keystore"的文件
注意:
	1."名字與姓氏"應該是域名,若輸成了姓名,和真正運行的時候域名不符,會出問題;
	2.再次輸入密碼,第一次輸入的是密鑰庫(keystore)的密碼,第二次輸入的是證書條目的密碼;
	3.這裏所說的證書庫和密鑰庫是等同的(個人觀點);

2,cmd查看證書目錄:
	keytool -list -keystore test.keystore
	密鑰庫口令: 123456

	查詢到:
		您的密鑰庫包含 1 個條目
		tomcat, 2018-1-12, PrivateKeyEntry,
		證書指紋 (SHA1): DC:59:14:41:71:20:D0:D3:64:3B:66:C7:47:F2:60:6B:2D:55:25:15
	
3,cmd導出證書文件:
	keytool -export -alias tomcat -file tomcat.jks -keystore test.keystore
	密鑰庫口令: 123456
	功能:
		將名爲 test.keystore 的證書庫中別名爲 tomcat 的證書條目導出到證書文件 tomcat.crt 中;

4,cmd導入證書的信息:
	keytool -import -keystore test_cacerts -file tomcat.crt
	密鑰庫口令: 123456
	功能:
		將證書文件 tomcat.crt 導入到名爲 test_cacerts 的證書庫中;

5,cmd查看證書信息:
	keytool -printcert -file "tomcat.crt"
	密鑰庫口令: 123456
	功能:
		查看證書文件 tomcat.crt 的信息;
    查看證書庫信息:
    keytool -list  -v -keystore test.keystore
    密鑰庫口令: 123456
    功能:
		查看證書庫文件 test.keystore 的信息;
6,cmd刪除密鑰庫中的條目:
	(1),keytool -list -keystore test.keystore
			密鑰庫口令: 123456
			功能: 刪除所有條目;
	(2),keytool -delete -keystore test.keystore -alias tomcat 
			密鑰庫口令: 123456
			功能: 刪除tomcat條目;

    在WEB項目引用的Tomcat啓動器的配置文件 server.xml 中修改:


    <!-- 將以前的HTTP配置註釋 
    <Connector URIEncoding="UTF-8" 
    	connectionTimeout="20000" 
    	port="8081" 
    	protocol="HTTP/1.1" 
    	redirectPort="8443"/>
    -->

    <!-- 打開HTTPS配置,將生成的證書庫綁定進去 -->
    <Connector SSLEnabled="true" clientAuth="false" 
	    protocol="org.apache.coyote.http11.Http11NioProtocol" 
	    keystoreFile="C:/Users/yvdedu.com/test.keystore" certificateKeyAlias="tomcat"
	    keystorePass="123456" maxThreads="150" port="8081" 
	    scheme="https" secure="true" sslProtocol="TLS"/>
 	

啓動項目成功,就算配置成功了;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章