1. 程式人生 > 實用技巧 >【轉載】Spring Boot 使用SSL-HTTPS

【轉載】Spring Boot 使用SSL-HTTPS

原文連結:https://zhuanlan.zhihu.com/p/31385073

Keytool是java提供的證書生成工具,如果配置了java_home的,直接就可以在控制檯進行生成了,這裡演示使用的是window的dos視窗:

(1)開啟dos視窗;

(2)輸入如下命令:

keytool -genkey -alias tomcat -dname "CN=Andy,OU=kfit,O=kfit,L=HaiDian,ST=BeiJing,C=CN" -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 365

這裡解釋下命令的各個引數的含義:

-genkey :生成key;

-alias :key的別名;

-dname:指定證書擁有者資訊

-storetype :金鑰庫的型別為JCEKS。常用的有JKS(預設),JCEKS(推薦),PKCS12,BKS,UBER。每個金鑰庫只可以是其中一種型別。

-keyalg :DSA或RSA演算法(當使用-genkeypair引數),DES或DESede或AES演算法(當使用-genseckey引數);

-keysize :金鑰的長度為512至1024之間(64的倍數)

-keystore :證書庫的名稱

-validity : 指定建立的證書有效期多少天

dname的值詳解:

CN(Common Name名字與姓氏)

OU(Organization Unit組織單位名稱)

O(Organization組織名稱)

L(Locality城市或區域名稱)

ST(State州或省份名稱)

C(Country國家名稱)

這時候在目錄:C:\Users\Administrator下就會看到一個檔案keystore.p12。到這裡SSL證書就有了。

六、Spring Boot中啟用HTTPS

預設情況下Spring Boot內嵌的Tomcat伺服器會在8080埠啟動HTTP服務,Spring Boot允許在application.properties中配置HTTP或HTTPS,但是不可同時配置,如果兩個都啟動,至少有一個要以程式設計的方式配置,Spring

Boot官方文件建議在application.properties中配置HTTPS,因為HTTPS比HTTP更復雜一些

在application.properties中配置HTTPS,配置資訊如下:

#https埠號.
server.port: 443
#證書的路徑.
server.ssl.key-store: classpath:keystore.p12
#證書密碼,請修改為您自己證書的密碼.
server.ssl.key-store-password: 123456
#祕鑰庫型別
server.ssl.keyStoreType: PKCS12
#證書別名
server.ssl.keyAlias: tomcat

注意:請將在上一步生成的證書放到src/main/resources目錄下。

到這裡,啟動執行程式,隨便訪問一個地址,比如:就可以訪問了,倒是訪問是不能夠訪問的,如果要支援http也訪問的話,那麼還需要如下的步驟進行配置,否則對於https的內容到此就配置完成了。