tomcat https 配置
本文簡單的記錄下tomcat下https的配置叹哭。
在實際的系統(tǒng)中,很少會直接在tomcat上配置https對外提供服務贡翘,一般是通過在nginx上配置https接入敲长,轉(zhuǎn)發(fā)給內(nèi)部tomcat服務器時轉(zhuǎn)換為http梨与。具體可參考http://www.cnblogs.com/zhjh256/p/6262620.html。
配置tomcat的https未舟,秘鑰證書生成圈暗,直接使用java安裝時自帶的keytool即可。
建議把相關證書和key放在$TOMCAT_HOME/security
下裕膀,便于統(tǒng)一管理员串。
建議命名規(guī)范為:
ca-key.pem
一般來說是CA證書的rsa私鑰文件
ca.pem
可信Certificate Authority (CA)證書,通常內(nèi)部通信的話昼扛,可以自簽名寸齐,通過openssl req -new -x509生成欲诺。
client-cert.pem
客戶端公鑰證書(一般HTTPS不用,瀏覽器會自動管理渺鹦,但是自行開發(fā)的客戶端就需要了扰法,比如java rpc,jdbc客戶端)*
client-key.pem
客戶端私鑰(一般HTTPS不用毅厚,瀏覽器會自動管理*塞颁,但是自行開發(fā)的客戶端就需要了,比如java rpc吸耿,jdbc客戶端)
server-cert.pem
服務器公鑰證書祠锣,必須由擁有它的CA認證
server-key.pem
服務器私鑰
tomcat https 配置 操作步驟
1.1 配置tomcat 操作
D:\Java\jdk1.8.0_102\bin>keytool
密鑰和證書管理工具
命令:
-certreq 生成證書請求
-changealias 更改條目的別名
-delete 刪除條目
-exportcert 導出證書
-genkeypair 生成密鑰對
-genseckey 生成密鑰
-gencert 根據(jù)證書請求生成證書
-importcert 導入證書或證書鏈
-importpass 導入口令
-importkeystore 從其他密鑰庫導入一個或所有條目
-keypasswd 更改條目的密鑰口令
-list 列出密鑰庫中的條目
-printcert 打印證書內(nèi)容
-printcertreq 打印證書請求的內(nèi)容
-printcrl 打印 CRL 文件的內(nèi)容
-storepasswd 更改密鑰庫的存儲口令
開始:
D:\Java\jdk1.8.0_102\bin>keytool -genkey -alias tomcat -keyalg RSA
輸入密鑰庫口令:
再次輸入新口令:
您的名字與姓氏是什么?
[Unknown]: localhost #這里的名稱很重要,建議使用官網(wǎng)的地址
您的組織單位名稱是什么?
[Unknown]: zjw
您的組織名稱是什么?
[Unknown]: zjw
您所在的城市或區(qū)域名稱是什么?
[Unknown]: zz
您所在的省/市/自治區(qū)名稱是什么?
[Unknown]: zz
該單位的雙字母國家/地區(qū)代碼是什么?
[Unknown]: cn
CN=localhost, OU=zjw, O=zjw, L=zz, ST=zz, C=cn是否正確?
[否]: y
輸入 <tomcat> 的密鑰口令
(如果和密鑰庫口令相同, 按回車):
完畢后會在當前目錄下咽安,會在$HOME
下(比如C:\Users\
)產(chǎn)生一個.keystore
文件伴网,將它拷貝到tomcat
的bin
目錄下。
D:\apache-tomcat-7.0.69\bin>keytool -selfcert -alias tomcat -keystore .keystore
輸入密鑰庫口令:
D:\apache-tomcat-7.0.69\bin>keytool -export -alias tomcat -keystore .keystore -storepass tomcat -rfc -file tomcat.cer
存儲在文件 <tomcat.cer> 中的證書
此時會在D:\apache-tomcat-7.0.69\bin>
下生成tomcat.cer
證書文件妆棒。將該文件發(fā)給使用者澡腾,讓他們安裝該證書,并將證書安裝在“受信任的根證書頒發(fā)機構(gòu)”區(qū)域中募逞。
1.2 配置tomcat
打開$CATALINA_BASE/conf/server.xml
找到SSL HTTP/1.1 Connector
那一塊蛋铆,取消注釋并將它改成:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="bin/.keystore" keystorePass="tomcat"
clientAuth="false" sslProtocol="TLS" />
修改windows
機器的host
文件,增加一行:
127.0.0.1 localhsot
接下來重啟tomcat放接,用https://localhost:8443/訪問網(wǎng)站驗證一下就行了刺啦。