Tomcat服務器配置https認證(使用keytool生成證書)
一、證書生成
1 、生成服務器證書
(1)打開打開命令控制臺,進入jdk的bin目錄
(2)keytool為Tomcat生成證書(“-validity 36500”證書有效期,36500表示100年,默認值是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啟動時訪問的域名有關(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 、 讓服務器信任客戶端證書
(1)由于不能直接將PKCS12格式的證書庫導入,必須先把客戶端證書導出為一個單獨的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)將該文件導入到服務器的證書庫,添加為一個信任證書使用命令如下:
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)通過 list 命令查看服務器的證書庫,可以看到兩個證書,一個是服務器證書,一個是受信任的客戶端證書:
keytool -list -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore
4 、讓客戶端信任服務器證書
把服務器證書導出為一個單獨的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)過上面操作,生成如下證書:
其中 tomcat.cer 提供給客戶端,tomcat.keystore供服務器使用
二、證書使用
1 、 服務器tomcat的配置
(1)打開Tomcat根目錄下的/conf/server.xml,找到Connector port="8443"配置段,修改為如下:
注釋掉
(2)測試服務端,IE瀏覽器輸入訪問地址
但由于是自簽名的證書,所以瀏覽器會警告我們不安全,選擇繼續(xù):
可以看到能成功訪問了(地址欄“證書錯誤”,此時數(shù)據(jù)已經(jīng)是使用HTTPS傳輸了)
2 、 導入服務器公鑰證書(tomcat.cer)
由于是自簽名的證書,為避免每次都提示不安全。這里雙擊tomcat.cer安裝服務器證書。
注意:將證書填入到“受信任的根證書頒發(fā)機構(gòu)”
再次重新訪問服務器,會發(fā)現(xiàn)沒有不安全的提示了,同時瀏覽器地址欄上也有個“鎖”圖標。
至此,就完成了配置。
注:由于jdk自帶的keytool生成的簽名屬于弱簽名算法(SHA-1),但是,SHA-1已經(jīng)過時因而不再推薦使用。新證書使用了更強的簽名算法(比如SHA-256)。SHA-1的證書將從2017開始不再被主流瀏覽器廠商視為安全的。
最后: 通過cmd,將簽名文件從**【***.keystore】文件轉(zhuǎn)換成【***.p12】的文件,再轉(zhuǎn)換成【*.jks】:
先將路勁切換至jre下的bin文件夾下,再通過命令查詢,命令如下:
keytool -importkeystore -srckeystore 【絕對路徑+*.keystore】 -srcstoretype JKS -deststoretype PKCS12 -destkeystore 【*.p12】
keytool -v -importkeystore -srckeystore 【絕對路徑+*.p12】 -srcstoretype PKCS12 -destkeystore 【絕對路徑+*.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
到此這篇關(guān)于Tomcat服務器配置https認證(使用keytool生成證書)的文章就介紹到這了,更多相關(guān)Tomcat配置https認證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Tomcat服務器配置https認證(使用keytool生成證書)
本文主要介紹了Tomcat服務器配置https認證,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07Windows 下修改Tomcat jvm參數(shù)的方法
這篇文章主要介紹了Windows 下修改Tomcat jvm參數(shù)的相關(guān)資料,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03tomcat logs 目錄下各日志文件的解析(小結(jié))
這篇文章主要介紹了tomcat logs 目錄下各日志文件的含義,包括catalina.日期.log,commons-daemon.日期.log,host-manager.日期.log,本文給大家介紹的非常詳細,需要的朋友可以參考下2021-12-12tomcat報錯:地址localhost:8080已在使用中的解決方法
今天使用tomcat發(fā)現(xiàn)一個問題,本文就介紹一下報錯地址localhost:8080已在使用中的解決方法,具有一定的參考價值,感興趣的可以了解一下2023-05-05基于centos自己構(gòu)建一個tomcat鏡像的實現(xiàn)
本文主要介紹了基于centos自己構(gòu)建一個tomcat鏡像的實現(xiàn),文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Windows server利用批處理腳本判斷端口啟動tomcat的方法
這篇文章主要介紹了Windows server利用批處理腳本判斷端口啟動tomcat的方法,需要的朋友可以參考下2017-08-08