++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
部署步驟:
在/opt/jboss-4.2.3.GA/server/default/conf目錄下執行以下指令:
爲服務器生成證書:
keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore -validity 36500
爲服務器生成PKCS12證書:
keytool -genkey -v -alias clients -keyalg RSA -storetype PKCS12 -keystore clients.p12 -validity 36500
由於是雙向SSL認證,服務器必須要信任客戶端證書,因此,必須把客戶端證書添加爲服務器的信任認證。由於不能直接將PKCS12格式的證書庫導入,必須先把客戶端證書導出爲一個單獨的CER文件:
keytool -export -alias clients -keystore clients.p12 -storetype PKCS12 -storepass fishcorecpe -rfc -file clients.cer
將客戶端證書導入到服務器的證書庫,添加爲一個信任證書:
keytool -import -v -file clients.cer -keystore tomcat.keystore
通過list命令查看服務器的證書庫,可以看到兩個證書,一個是服務器證書,一個是受信任的客戶端證書:
keytool -list -keystore tomcat.keystore
爲便於客戶端使用,將PKCS12格式證書中的私鑰提取並轉存爲PEM格式:
openssl pkcs12 -nocerts -nodes -in clients.p12 -out clients.pem 用這個
驗證 openssl pkcs12 -clcerts -nokeys -in clients.p12 -out clientsv.pem將證書和私鑰合併存儲在一個證書鏈文件中:
cat clients.cer clients.pem >fishcore.pem
將fishcore.pem複製到fishcorecpe固件相同目錄下。
修改fishcore.conf中acsurl爲https格式。
修改/opt/jboss-4.2.3.GA/server/default/deploy/jboss-web.deployer下server.xml文件中Connector port="8443"相關內容爲以下:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" address="${jboss.bind.address}"
maxThreads="150" scheme="https" secure="true"
clientAuth="true" keystoreFile="${jboss.server.home.dir}/conf/tomcat.keystore" keystorePass="fishcorecpe"
truststoreFile="${jboss.server.home.dir}/conf/tomcat.keystore" truststorePass="fishcorecpe" sslProtocol="TLS" />
保存,重啓openacs後,可以直接運行fishcorecpe,將以https進行交互.
參考: http://blog.sina.com.cn/s/blog_5f64eccd0100p0pc.html
http://blog.sina.com.cn/s/blog_4c95c67e0100xy3m.html
http://www.diybl.com/course/4_webprogram/jsp/jsp_js/200855/113649.html
本文和fishcorecpe中所有涉及的密鑰均爲 fishcorecpe
使用其他方式生成證書的情況,請google後並生成所有必需的證書後,根據fishcorecpe軟件的readme中的配置參數說明進行配置驗證。