生成並配置https本地證書


1. 生成證書

https證書可以在網上申請免費證書 https://freessl.cn/ ,也可以本地生成.本地生成可以使用keytoolsmkcert,

  • keytools是一個Java數據證書的管理工具, 參考: https://www.cnblogs.com/duanxz/p/9155509.html
  • mkcert是一個使用go語言編寫的生成本地自簽證書的小程序,具有跨平台,使用簡單,支持多域名,自動信任CA等一系列方便的特性可供本地開發時快速創建https環境使用.

下面介紹一下mkcert的使用:

1. 下載 https://github.com/FiloSottile/mkcert/releases/latest

2. 將CA證書加入本地可信CA, windows系統需要管理員權限,在cmd里面輸入

mkcert -install

3. 生成自簽證書

mkcert localhost 127.0.0.1 ::1

如果需要自定義域名,比如: www.test.com 或者 *.test.com 也可以

mkcert www.test.com "*.test.com"

生成后會發現多了兩個文件: xxx.pem證書和xxx-key.pem秘鑰

4. 生成java程序可用的p12證書, 默認密碼changeit

mkcert -pkcs12 localhost

2. tomcat配置

前提知識:http的默認端口是80, https的默認端口是443

<Connector port="80" protocol="HTTP/1.1"
		   connectionTimeout="20000"
		   redirectPort="443" />

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
		   maxThreads="150" SSLEnabled="true">
	<SSLHostConfig>
		<Certificate certificateKeystoreFile="${catalina.home}/bin/localhost+3.p12" certificateKeystorePassword="changeit" />
	</SSLHostConfig>
</Connector>

3. Springboot配置

把生成的p12證書放在resources根目錄

server.port=443

server.ssl.key-store-type= PKCS12
server.ssl.key-store=classpath:localhost+3.p12
server.ssl.key-store-password=changeit

p12證書轉jks
keytool -importkeystore -srckeystore xx.p12 -srcstoretype pkcs12 -destkeystore xx.jks

訪問https服務: https://localhost

4. 注意事項:

  1. 安裝本地CA證書需要管理員權限
  2. 443端口被vmware虛擬占用,在首選項.共享虛擬機里面禁用共享或者更改端口

參考:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM