網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
一、證書生成
1 、生成服務(wù)器證書
(1)打開打開命令控制臺(tái),進(jìn)入jdk的bin目錄
(2)keytool為Tomcat生成證書(“-validity 36500”證書有效期,36500表示100年,默認(rèn)值是90天)
keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore -validity 36500
注意:名字與姓氏,unknown:填的東西可能和tomcat啟動(dòng)時(shí)訪問(wèn)的域名有關(guān)系,
2 、生成客戶端證書
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.p12
3 、 讓服務(wù)器信任客戶端證書
(1)由于不能直接將PKCS12格式的證書庫(kù)導(dǎo)入,必須先把客戶端證書導(dǎo)出為一個(gè)單獨(dú)的CER文件,使用如下命令:
keytool -export -alias mykey -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.p12 -storetype PKCS12 -storepass 111111 -rfc -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.cer
(2)將該文件導(dǎo)入到服務(wù)器的證書庫(kù),添加為一個(gè)信任證書使用命令如下:
keytool -import -v -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.cer –keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore
(3)通過(guò) list 命令查看服務(wù)器的證書庫(kù),可以看到兩個(gè)證書,一個(gè)是服務(wù)器證書,一個(gè)是受信任的客戶端證書:
keytool -list -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore
4 、讓客戶端信任服務(wù)器證書
把服務(wù)器證書導(dǎo)出為一個(gè)單獨(dú)的CER文件提供給客戶端,使用如下命令:
keytool -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore -export -alias tomcat -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.cer
5 、 經(jīng)過(guò)上面操作,生成如下證書:
其中 tomcat.cer 提供給客戶端,tomcat.keystore供服務(wù)器使用
二、證書使用
1 、 服務(wù)器tomcat的配置
(1)打開Tomcat根目錄下的/conf/server.xml,找到Connector port="8443"配置段,修改為如下:
注釋掉
(2)測(cè)試服務(wù)端,IE瀏覽器輸入訪問(wèn)地址
但由于是自簽名的證書,所以瀏覽器會(huì)警告我們不安全,選擇繼續(xù):
可以看到能成功訪問(wèn)了(地址欄“證書錯(cuò)誤”,此時(shí)數(shù)據(jù)已經(jīng)是使用HTTPS傳輸了)
2 、 導(dǎo)入服務(wù)器公鑰證書(tomcat.cer)
由于是自簽名的證書,為避免每次都提示不安全。這里雙擊tomcat.cer安裝服務(wù)器證書。
注意:將證書填入到“受信任的根證書頒發(fā)機(jī)構(gòu)”
再次重新訪問(wèn)服務(wù)器,會(huì)發(fā)現(xiàn)沒(méi)有不安全的提示了,同時(shí)瀏覽器地址欄上也有個(gè)“鎖”圖標(biāo)。
至此,就完成了配置。
注:由于jdk自帶的keytool生成的簽名屬于弱簽名算法(SHA-1),但是,SHA-1已經(jīng)過(guò)時(shí)因而不再推薦使用。新證書使用了更強(qiáng)的簽名算法(比如SHA-256)。SHA-1的證書將從2017開始不再被主流瀏覽器廠商視為安全的。
最后: 通過(guò)cmd,將簽名文件從**【***.keystore】文件轉(zhuǎn)換成【***.p12】的文件,再轉(zhuǎn)換成【*.jks】:
先將路勁切換至jre下的bin文件夾下,再通過(guò)命令查詢,命令如下:
keytool -importkeystore -srckeystore 【絕對(duì)路徑+*.keystore】 -srcstoretype JKS -deststoretype PKCS12 -destkeystore 【*.p12】
keytool -v -importkeystore -srckeystore 【絕對(duì)路徑+*.p12】 -srcstoretype PKCS12 -destkeystore 【絕對(duì)路徑+*.jks】 -deststoretype JKS
p12 證書提取pem證書和私鑰
openssl pkcs12 -in server.p12 -clcerts -nokeys -password pass:111111 -out server.crt
openssl pkcs12 -in server.p12 -nocerts -password pass:111111 -passout pass:111111 -out server.key
penssl pkcs12 -in server.p12 -nocerts -password pass:111111 -passout pass:111111 -out server.key
原文鏈接:https://blog.csdn.net/weixin_45409533/article/details/118297356
相關(guān)推薦
- 2022-09-30 C++?多態(tài)虛函數(shù)的底層原理深入理解_C 語(yǔ)言
- 2022-03-26 C++缺省參數(shù)的具體使用_C 語(yǔ)言
- 2022-12-07 C++?Boost?Array與Unordered使用介紹_C 語(yǔ)言
- 2022-09-13 Nginx如何限制IP訪問(wèn)只允許特定域名訪問(wèn)_nginx
- 2022-12-06 Pytorch實(shí)現(xiàn)List?Tensor轉(zhuǎn)Tensor,reshape拼接等操作_python
- 2022-06-20 關(guān)于Golang獲取當(dāng)前項(xiàng)目絕對(duì)路徑的問(wèn)題_Golang
- 2023-11-14 【c++開發(fā)】C++ Linux Ubuntu imagemagick以及magick++安裝;c+
- 2022-12-14 React?Native設(shè)備信息查看調(diào)試詳解_React
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支