keytool tomcat6配置HTTPS雙向證書SSL認(rèn)證
keytool tomcat6配置HTTPS雙向證書SSL認(rèn)證(詳見網(wǎng)址http://www.doc88.com/p-007207708994.html)在Tomcat6中配置SSL雙向認(rèn)證是相當(dāng)容易
keytool tomcat6配置HTTPS雙向證書SSL認(rèn)證(詳見網(wǎng)址http://www.doc88.com/p-007207708994.html)
在Tomcat6中配置SSL雙向認(rèn)證是相當(dāng)容易的,本文將介紹如何使用JDK的keytool來為Tomcat配置雙向SSL認(rèn)證。
系統(tǒng)需要:
JDK 5.0
Tomcat 6.0.16
定為到你要生成keystore的路徑
第一步:為服務(wù)器生成證書
使用keytool為Tomcat生成證書,假定目標(biāo)機(jī)器的域名是“l(fā)ocalhost”,keystore文件存放在“C:tomcat.keystore”,口令為“password”,使用如下命令生成:
keytool -genkey -v -alias tomcat -keyalg RSA -keystore tomcat.keystore
----linux---- keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/ca/tomcat.keystore -validity 365
---windows---keytool -genkey -v -alias tomcat -keyalg RSA -keystore "D:/Program Files/ca/forLinux/tomcat.keystore"
如果Tomcat所在服務(wù)器的域名不是“l(fā)ocalhost”,應(yīng)改為對(duì)應(yīng)的域名,如“www.sina.com.cn”,否則瀏覽器會(huì)彈出警告窗口,提示用戶證書與所在域不匹配。在本地做開發(fā)測試時(shí),應(yīng)填入“l(fā)ocalhost”。
第二步:為客戶端生成證書
下一步是為瀏覽器生成證書,以便讓服務(wù)器來驗(yàn)證它。為了能將證書順利導(dǎo)入至IE和Firefox,證書格式應(yīng)該是PKCS12,因此,使用如下命令生成:
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore c:my.p12
----windows---- keytool -genkey -v -alias zhanglc3 -keyalg RSA -storetype PKCS12 -keystore "D:/Program Files/ca/client/zhanglc3.p12"
----linux---- keytool -genkey -v -alias zhangyj -keyalg RSA -storetype PKCS12 -keystore /usr/local/ca/client/zhangyj.p12 -dname "CN=zhangyj,OU=ft,O=ft,L=bj,ST=bj,C=CN" -keypass zhang123456 -storepass zhang123456
----my---- echo -e "192.168.100.227nftnftnbjnbjnCNny" | keytool -genkey -v -alias zhang3 -keyalg RSA -storetype PKCS12 -keystore /usr/local/ca/client/zhang3.p12 -keypass zhang123456 -storepass zhang123456
對(duì)應(yīng)的證書庫存放在“C:my.p12”,客戶端的CN可以是任意值。稍候,我們將把這個(gè)“my.p12”證書庫導(dǎo)入到IE和Firefox中。
第三步,讓服務(wù)器信任客戶端證書
由于是雙向SSL認(rèn)證,服務(wù)器必須要信任客戶端證書,因此,必須把客戶端證書添加為服務(wù)器的信任認(rèn)證。由于不能直接將PKCS12格式的證書導(dǎo)入,我們必須先把客戶端證書導(dǎo)出為一個(gè)單獨(dú)的CER文件,使用如下命令:
keytool -export -alias mykey -keystore my.p12 -storetype PKCS12 -storepass password -rfc -file c:my.cer
---windows--- keytool -export -alias zhanglc3 -keystore "D:/Program Files/ca/client/zhanglc3.p12" -storetype PKCS12 -storepass zhang123456 -rfc -file "D:/Program Files/ca/cer/zhanglc3.cer"
---linux--- keytool -export -alias zhanglc -keystore /usr/local/ca/client/zhanglc.p12 -storetype PKCS12 -storepass zhang123456 -rfc -file /usr/local/ca/CER/zhanglc.cer
通過以上命令,客戶端證書就被我們導(dǎo)