Tomcat配置HTTPS
1.啟動cmd控制臺,進(jìn)入%JAVA_HOME%/bin目錄
# cd D:\java\jdk1.8.0_144\bin
1.為服務(wù)器生成證書
1.利用java的keyTool工具為tomcat生成證書,假定目標(biāo)機(jī)器的域名為"localhost","keystore"文件存放在"D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore"下,口令為"password",使用如下命令
# keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore -validity 36500
2.文件路徑要事先創(chuàng)建好,在指定目錄下會生成tomcat.keystore文件
3.轉(zhuǎn)格式
# keytool -importkeystore -srckeystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore -destkeystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore -deststoretype pkcs12
2.為客戶端生成證書
1.為瀏覽器生成證書,以便讓服務(wù)器來驗(yàn)證它,為了將證書順利導(dǎo)入IE和Firefox,證書格式應(yīng)該是PKCS12,因此,使用如下命令生成
# keytool -genkey -v -alias mykey -keyalg RSA -keystore D:\WorkSoftWare\java\tomcat\HTTPS\mykey.p12
2.mykey為自定義,對應(yīng)證書存放子“D:\WorkSoftWare\java\tomcat\HTTPS\mykey.p12”目錄下,客戶端的CN可以是任意值,雙擊mykey.p12文件,即可將證書導(dǎo)入到客戶端(瀏覽器)
3.轉(zhuǎn)格式
# keytool -importkeystore -srckeystore D:\WorkSoftWare\java\tomcat\HTTPS\mykey.p12 -destkeystore D:\WorkSoftWare\java\tomcat\HTTPS\mykey.p12 -deststoretype pkcs12
3.讓服務(wù)器信任客戶端證書
1.由于是雙向SSL認(rèn)證,服務(wù)器必須要信任客戶端證書,因此,必須把客戶端證書添加為服務(wù)器的信任認(rèn)證,由于不能直接將PKCS12格式的證書庫導(dǎo)入,必選先把客戶端證書導(dǎo)出為一個單獨(dú)的CER文件,使用如下命令:
# keytool -export -alias mykey -keystore D:\WorkSoftWare\java\tomcat\HTTPS\mykey.p12 -storetype PKCS12 -storepass password -rfc -file D:\WorkSoftWare\java\tomcat\HTTPS\mykey.cer
2.mykey為自定義與客戶端定義的mykey要一致,通過以上,客戶端證書就被我們導(dǎo)出到D:\WorkSoftWare\java\tomcat\HTTPS\mykey.cer文件了
4.將該文件導(dǎo)入到服務(wù)器的證書庫,添加為一個信任證書使用命令如下:
1.命令
# keytool -import -v -file D:\WorkSoftWare\java\tomcat\HTTPS\mykey.cer -keystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore
5.查看證書庫
1.通過list命令查看服務(wù)器的證書庫,可以看到兩個證書,一個是服務(wù)器證書,一個是受信任的客戶端證書,
# keytool -list -keystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore
6.讓客戶端信任服務(wù)器證書
1.由于是雙向SSL認(rèn)證,客戶端也要驗(yàn)證服務(wù)端證書。因此,必須把服務(wù)器證書添加到瀏覽器的“受信任的根證書頒發(fā)機(jī)構(gòu)”,由于不能直接將keystore格式的證書庫導(dǎo)入,必須先把服務(wù)器證書導(dǎo)出為一個單獨(dú)的cer文件,使用如下命令
# keytool -keystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore -export -alias tomcat -file D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.cer
2.通過以上命令,服務(wù)器證書被我們導(dǎo)出,到 D:\WorkSoftWare\java\tomcat\HTTPS\文件中,雙擊tomcat.cer。按照提示安裝證書,將證書填入到“受信任的根證書頒發(fā)機(jī)構(gòu)”
7.配置tomcat
1.打開tomcat的conf/server.xml,在Connector附近添加
<Connector port="8443"
<!--使用Http11NioProtocol類 Tomcat提供了兩個SSL實(shí)現(xiàn),一個是JSSE實(shí)現(xiàn),另一個是APR實(shí)現(xiàn)。
Tomcat將自動選擇使用哪個實(shí)現(xiàn),即如果安裝了APR則自動選擇APR,否則選擇JSSE。
如果不希望讓Tomcat自動選擇,而是我們自己指定一個實(shí)現(xiàn)則可通過protocol定義,APR文件名為tcnative-1.dll。
6.0里沒這個dll文件,而7.0里有。換句話說,6.0默認(rèn)使用JSSE實(shí)現(xiàn),而7.0默認(rèn)使用APR實(shí)現(xiàn)。
弄明白緣由就好辦了。由于習(xí)慣使用6.0的配置方式(即JSEE實(shí)現(xiàn)),因此只要把conf\server.xml里的protocol修改一下就行了-->
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150"
<!--開啟ssl-->
SSLEnabled="true"
scheme="https"
<!--安全的-->
secure="true"
<!--設(shè)置是否雙向認(rèn)證,默認(rèn)是false,true代表雙向認(rèn)證-->
clientAuth="true"
<!--TLS認(rèn)證-->
sslProtocol="TLS"
ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
TLS_ECDHE_RSA_WITH_RC4_128_SHA,
TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_AES_128_GCM_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA,
TLS_RSA_WITH_RC4_128_SHA,
TLS_RSA_WITH_RC4_128_MD5"
<!--服務(wù)器證書文件路徑--> keystoreFile="D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore"
<!--服務(wù)器證書密碼-->
keystorePass="123456"
<!--用來驗(yàn)證客戶端證書的的根證書,此例子中就是服務(wù)器證書--> truststoreFile="D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore"
<!--根證書密碼-->
truststorePass="123456"/>
8.驗(yàn)證
1.導(dǎo)入證書,在谷歌瀏覽器中搜索證書,找到管理證書,導(dǎo)入生成的mykey.p12文件
文章來源:http://www.zghlxwxcb.cn/news/detail-592109.html
2.啟動tomcat訪問 https:localhost:8843
能看到以下結(jié)果即為成功
文章來源地址http://www.zghlxwxcb.cn/news/detail-592109.html
到了這里,關(guān)于11. 利用Tomcat服務(wù)器配置HTTPS雙向認(rèn)定的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!