文章目錄
使用JDK自帶的工具生成證書
使用FreeSSL提供的證書
使用JDK自帶的工具生成證書
1.確保安裝了JDK并正確配置了環(huán)境變量;
2.進(jìn)入你的JAVA_HOME目錄中的bin目錄;
3.在這個(gè)目錄下執(zhí)行
//keytool-genkey-alias(別名)-dname"CN=(姓名),OU=(組織單位名稱),O=(組織名稱),L=(城市名稱),ST=(省),C=(國(guó)家)"-storetype(密鑰倉(cāng)庫(kù)類型)-keyalg(生證書的算法名稱)-keysize(密鑰長(zhǎng)度,證書大小)-keystore(指定生成證書的位置和證書名稱)-validity(證書有效期,天單位) keytool-genkey-aliasuublog-dname"CN=Lhc,OU=SCYD,O=SCYD,L=CD,ST=SiChuan,C=CN"-storetypePKCS12-keyalgRSA-keysize2048-keystorekeystore.p12-validity365
4.獲取名為keystore.p12的證書,將其放入resources目錄中,并在application.properties或application.yml中配置
#https端口號(hào). server.port:443 #證書的路徑. server.ssl.key-store:classpath:keystore.p12 #證書密碼,請(qǐng)修改為您自己證書的密碼. server.ssl.key-store-password:123456 #秘鑰庫(kù)類型 server.ssl.keyStoreType:PKCS12 #證書別名 #server.ssl.keyAlias:uublog
若指定的端口非443,則在訪問的時(shí)添加具體的端口號(hào)
5.將http重定向到https
packagecom.lhc.uublog.utils; importorg.apache.catalina.Context; importorg.apache.catalina.connector.Connector; importorg.apache.tomcat.util.descriptor.web.SecurityCollection; importorg.apache.tomcat.util.descriptor.web.SecurityConstraint; importorg.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; importorg.springframework.context.annotation.Bean; importorg.springframework.context.annotation.Configuration; /** *@ProjectName:uublog *@Package:com.lhc.uublog.utils *@ClassName:SSLUtils *@Author:lhc *@Description:Http重定向到Https */ @Configuration publicclassSSLUtils{ @Bean publicConnectorconnector(){ Connectorconnector=newConnector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); connector.setSecure(false); connector.setPort(80); connector.setRedirectPort(443); returnconnector; } @Bean publicTomcatServletWebServerFactorytomcatServletWebServerFactory(Connectorconnector){ TomcatServletWebServerFactorywebServerFactory=newTomcatServletWebServerFactory(){ @Override protectedvoidpostProcessContext(Contextcontext){ SecurityConstraintsecurityConstraint=newSecurityConstraint(); securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollectionsecurityCollection=newSecurityCollection(); securityCollection.addPattern("/*"); securityConstraint.addCollection(securityCollection); context.addConstraint(securityConstraint); } }; webServerFactory.addAdditionalTomcatConnectors(connector); returnwebServerFactory; } }
6.部署
若部署環(huán)境為windows,直接啟動(dòng)即可;若部署環(huán)境是Linux,先開通443端口,在進(jìn)行部署
#判斷443端口是否已經(jīng)開放 firewall-cmd--query-port=443/tcp #若未開放,則配置開啟,并重新加載配置 firewall-cmd--add-port=443/tcp--permanent firewall-cmd--reload
7.以JDK生成證書的方式足夠簡(jiǎn)單,但在Chrome和Edge瀏覽器上依舊顯示不安全,因此下面就使用FreeSSL提供的免費(fèi)證書
圖片
圖片
使用FreeSSL提供的證書
FreeSSL.cn 是一個(gè)免費(fèi)提供 HTTPS 證書申請(qǐng)、HTTPS 證書管理和 HTTPS 證書到期提醒服務(wù)的網(wǎng)站,旨在推進(jìn) HTTPS 證書的普及與應(yīng)用,簡(jiǎn)化證書申請(qǐng)的流程。
1.首先你得有一個(gè)域名,推薦國(guó)外的GoDaddy,價(jià)格合適且不需要備案就可以進(jìn)行解析;
圖片
圖片
2.FreeSSL網(wǎng)站上有對(duì)不同品牌的介紹了和證書生成方式的介紹,請(qǐng)參閱網(wǎng)站;
3.一頓操作之后,相信你已經(jīng)下載證書到本地了,將證書放入resources目錄中,并在配置文件中添加配置
#https端口號(hào). server.port:443 #證書的路徑. server.ssl.key-store:classpath:***.jks #證書密碼,請(qǐng)修改為您自己證書的密碼. server.ssl.key-store-password:*** #秘鑰庫(kù)類型 server.ssl.keyStoreType:JKS
4.將http重定向到https,代碼同上
5.打包并部署
圖片
圖片
通過查看日志,http請(qǐng)求成功重定向到到了https,在Chrome瀏覽器中也標(biāo)示為安全網(wǎng)站
-
WINDOWS
+關(guān)注
關(guān)注
4文章
3614瀏覽量
91437 -
端口
+關(guān)注
關(guān)注
4文章
1046瀏覽量
32959 -
JDK
+關(guān)注
關(guān)注
0文章
83瀏覽量
16893
原文標(biāo)題:SpringBoot 配置 HTTPS 安全證書的兩種方案
文章出處:【微信號(hào):AndroidPush,微信公眾號(hào):Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
生成可執(zhí)行文件后,如何取消labview自帶的工具欄?
HarmonyOS應(yīng)用開發(fā)-生成簽名證書指紋
看看基于JDK中自帶JVM工具的用法
java jdk6.0官方下載

狀態(tài)機(jī)代碼生成工具
LabVIEW 網(wǎng)絡(luò)講壇第四季:LabVIEW自帶工具自動(dòng)生成和修改VI的演示

Java開發(fā)工具包JDK1.8D安裝說(shuō)明書

評(píng)論