Java環(huán)境中配置SSL雙向認(rèn)證
在Java 環(huán)境中配置SSL 雙向認(rèn)證在Java 環(huán)境中配置Https 雙向認(rèn)證,需要使用JDK 自帶的keytool 工具,在命令行方式下,生成服務(wù)器證書申請(qǐng)文CSR ,然后到CA 簽發(fā)服務(wù)器證書。
在Java 環(huán)境中配置SSL 雙向認(rèn)證
在Java 環(huán)境中配置Https 雙向認(rèn)證,需要使用JDK 自帶的keytool 工具,在命令行方式下,生成服務(wù)器證書申請(qǐng)文CSR ,然后到CA 簽發(fā)服務(wù)器證書。
以下為在Tomcat 和Weblogic 中配置Https 雙向認(rèn)證的步驟,環(huán)境為JDK1.5。
1.在Tomcat 中配置HTTPS 雙向認(rèn)證
在Tomcat5.0中配置Https 雙向認(rèn)證的步驟如下:
1. 產(chǎn)生keystore 文件:

keytool -genkey -alias tomcat -keyalg RSA -keystore keystore
此時(shí)可在當(dāng)前目錄下看到keystore 文件。
申請(qǐng)服務(wù)器證書時(shí),CN 需要和網(wǎng)站的域名或者IP 相同,否則IE7會(huì)認(rèn)為該證書是為別的網(wǎng)站頒發(fā)的。
2. 生成服務(wù)器證書申請(qǐng)文件CSR :

keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore keystore
此時(shí)可在當(dāng)前目錄下看到文件certreq.csr 。
把certreq.csr 文件內(nèi)容和DN 提交到CA 管理員,即可申請(qǐng)到服務(wù)器證書。
DN 為:CN=192.168.1.25, OU=research, O=cwca, L=YC, ST=NX, C=CN。
從CA 獲得的服務(wù)器證書為user.p7b ,可從其中分別導(dǎo)出base64格式的根證和服務(wù)器證書:NXCA.cer 和client.cer 。
,3. 將根證書導(dǎo)入到keystore 文件中:

keytool -import -trustcacerts -alias root -file NXCA.cer -keystore keystore
4. 將服務(wù)器證書導(dǎo)入到keystore 文件中:

keytool -import -alias tomcat -file client.cer -keystore keystore
5. 進(jìn)行Tomcat 的配置:
把keystore 文件拷入?TALINA_HOME/conf目錄下;
修改文件?TALINA_HOME/conf/server.xml,知道 keystoreFile="/conf/keystore" keystorePass="12345678" truststoreFile="/conf/keystore" truststorePass="12345678" 修改結(jié)果如下圖: 6. 啟動(dòng)Tomcat ,輸入https://192.168.1.25:8443/,即可訪問應(yīng)用; Https 默認(rèn)端口為443,如果把監(jiān)聽端口改為443,則訪問時(shí)就不需要加端口號(hào)了。 Tomcat5.0和Tomcat6.0的配置過程相同。 如果clientAuth="false",則服務(wù)器不需要客戶端證書; 如果clientAuth="true",則客戶端必須提供證書才能進(jìn)行訪問。 2.在Weblogic 中配置HTTPS 雙向認(rèn)證 在Weblogic8.1中配置Https 雙向認(rèn)證的步驟如下: 1. 產(chǎn)生keystore 文件: keytool -genkey -alias weblogic -keyalg RSA -keystore weblogic.jks 此時(shí)可在當(dāng)前目錄下看到weblogic.jks 文件。 2. 生成服務(wù)器證書申請(qǐng)文件CSR : keytool -certreq -keyalg RSA -alias weblogic -file certreq.csr -keystore weblogic.jks 此時(shí)可在當(dāng)前目錄下看到文件certreq.csr 。 把certreq.csr 文件內(nèi)容和DN 提交到CA 管理員,即可申請(qǐng)到服務(wù)器證書。 DN 為:CN=192.168.1.25, OU=research, O=cwca, L=YC, ST=NX, C=CN。 從CA 獲得的服務(wù)器證書為user.p7b ,可從其中分別導(dǎo)出base64格式的根證和服務(wù)器證書:NXCA.cer 和TESTSERVER.cer 。 3. 導(dǎo)入根證書NXCA.cer 到weblogic.jks 中 keytool -import -alias testroot -trustcacerts -file NXCA.cer -keystore weblogic.jks 4. 導(dǎo)入服務(wù)器證書TESTSERVER.cer 到weblogic.jks 中 keytool -import -trustcacerts -alias weblogic -file TESTSERVER.cer -keystore weblogic.jks 5. 進(jìn)入Weblogic 管理頁面進(jìn)行配置: A. 進(jìn)入Weblogic 控制臺(tái):http://localhost:7001/console B. 選擇:mydomain->Servers->myserver->General頁面,找到屬性:SSL Listen Port Enabled ,將其選中,如圖: 在此可以修改SSL 監(jiān)聽端口為443。 C. 進(jìn)入D:?aweblogic81目錄,新建文件夾jks ,把weblogic.jks 拷入其中。 D. 進(jìn)入myserver->Keystores & SSL頁面,做如下配置: 屬性Keystore Configuration-> Identity中: Custom Identity Keystore的值為:D:?aweblogic81jksweblogic.jks; Type 值為:jks ; 輸入兩次Keystore 密碼; 屬性Keystore Configuration-> Trust 的屬性值和Identity 相同; 屬性SSL Configuration->Identity中: Private Key Alias的值為Keystore 的別名weblogic ; 輸入兩次Keystore 密碼; 配置如下圖: 配置完成,點(diǎn)擊頁面右下角的Apply 即可。 E. 以上為SSL 單項(xiàng)認(rèn)證,如果要配置SSL 雙向認(rèn)證,在Keystores & SSL 頁面中: 點(diǎn)擊屬性Advanced Options的show ,如圖: 找到屬性Two Way Client Cert Behavior, 將其值改為:Client Certs Requested And Enforced, 如圖: 點(diǎn)擊頁面右下角的Apply 即可。 F. 重啟Weblogic 服務(wù),在IE 地址欄中輸入:https://192.168.1.25/ROOT/index.jsp, 即可訪問應(yīng)用。 Weblogic8.1以上版本與此配置方法相同。 3.在Websphere6.1中配置HTTPS 雙向認(rèn)證 1. 產(chǎn)生keystore 文件: keytool -genkey -alias server -keyalg RSA -keystore keystore 2. 生成服務(wù)器證書申請(qǐng)文件CSR : keytool -certreq -keyalg RSA -alias server -file certreq.csr -keystore keystore 3. 將根證書導(dǎo)入到keystore 文件中: keytool -import -trustcacerts -alias root -file NXCA.cer -keystore keystore 4. 將服務(wù)器證書導(dǎo)入到keystore 文件中: keytool -import -alias tomcat -file client.cer -keystore keystore 5. Webphere6.1雙向認(rèn)證設(shè)置,打開Webphere6.1控制臺(tái),點(diǎn)擊左側(cè)窗口安全性,點(diǎn)開后里邊 有ssl 證書和密鑰管理選項(xiàng)點(diǎn)擊它。 然后點(diǎn)擊管理端點(diǎn)安全配置,點(diǎn)擊 點(diǎn)擊密鑰庫和證書,然后點(diǎn)擊新建 新建密鑰庫和證書, 填入名稱,keystore 文件的路徑,keystore 文件的密碼,類型選為jks


















