操做系統是Window下。java
第一步安裝軟件web
一、安裝Tomcat6.0.35(Tomcat7.0.34測試經過)apache
二、安裝JDK6(1.6.0_10-rc2,其它版本沒測試)
瀏覽器
三、安裝openssl
tomcat
第二步配置軟件服務器
一、將jdk、jre和openssl的bin目錄設置到path環境變量下app
第三步生成證書webapp
一、建立一個目錄,進入cmd命令行下,經過cd命令進入該目錄工具
二、在指定的目錄下運行命令:openssl genrsa -out server.key 1024生成服務器密鑰文件。測試
若是目錄下生產server.key的文件,而且文件大小不爲0,則說明成功。
若是沒成功,查看輸出的內容中是否有提示「\usr\local\ssl\openssl.cnf」找不到的問題,若是遇到這個問題,說明你並無按照第四步的要求將openssl設置到path中,解決的辦法有2個,第一個完成第四步openssl的path設定,第二個是將openssl的bin目錄下的文件「openssl.cfg」修改個名字,而後在c盤下建立「\usr\local\ssl\」目錄,將文件複製進去。
三、再運行命令:openssl req -new -out server.csr -key server.key根據密鑰文件生成簽署文件。
其中各個設置項中,除了Common Name其它的各項均可覺得空,不過爲了後期你好辨別證書,最好不要設置空,其中Common Name的值必須是你的服務器ip或者是域名,本機測試的話能夠用localhost,可是若是要經過移動設備來訪問就不能設置成localhost。
四、再運行命令:openssl genrsa -out ca.key 1024生成客戶端密鑰文件。
五、再運行命令: openssl req -new -x509 -days 365 -key ca.key -out ca.crt生成客戶端的簽署文件。
填寫的內容和第三步一致便可,其中organizationName必須和第三步的一致
六、在當前目錄下建立demoCA文件夾,並在demoCA下建立文件index.txt和serial,serial內容爲01,index.txt爲空,以及文件夾newcerts
七、在命令行中輸入:openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key讓客戶端的簽署證書可以被網站服務器的簽署證書認識
八、運行命令openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12把服務端簽署證書轉換瀏覽器能夠識別的PCS12格式,密碼使用上面輸入的密碼「123456」。
九、運行命令java -cp jetty-5.1.10.jar org.mortbay.util.PKCS12Import server.p12 server.jks,使用jetty中的PKCS12Import工具類完成轉換,密碼同上.(jetty-5.1.10.jar須要放置到當前文件夾中)
若是出現錯誤:說明你的jetty-5.1.10.jar沒有複製到命令行的當前文件夾下。
十、若是你好奇,能夠經過命令行keytool -v -list -keystore server.jks 查看下文件的簽署內容。
以上過程總共生成7個文件,咱們只關心其中的3個文件,分別是server.p12(tomcat配置用)、server.jks(tomcat配置用)、ca.crt(客戶端證書,須要iOS設備下載安裝)。
第四步配置Tomcat服務器
一、打開Tomcat的目錄,找到conf下的server.xml文件,打開找到被註釋的8443端口部分,修改爲以下內容
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false"
keystoreFile="D:/apache-tomcat-6.0.35/webapps/ROOT/ca/server.p12" keystorePass="123456" keystoreType="PKCS12"
truststoreFile="D:/apache-tomcat-6.0.35/webapps/ROOT/ca/server.jks" truststorePass="123456" truststoreType="JKS"/>
注意:keystoreFile、keystorePass爲文件生成的位置和生成證書時輸入的密碼。
個人工程是發佈到ROOT下的,須要你將幾個文件同時複製到該文件下:server.p十二、server.jks、ca.crt;其中server.p十二、server.jks是tomcat的server.xml配置文件要用到的,而ca.crt文件是要發佈出去,以供iOS設備下載安裝的客戶端證書。
另外服務器端也須要安裝server.crt證書(若是是僅僅爲iOS下載應用服務,這個證書能夠不安裝),這個證書須要安裝到受信任的根目錄下。步驟以下:
雙擊server.crt->安裝證書->下一步->選擇」將全部的證書放入下列存儲」->瀏覽選擇「受信任的根證書頒發機構」->剩下的一路點「是」便可。
先關的軟件,以及每一個步驟的詳細的頁面截圖和說明,請到下面地址進行下載:
http://download.csdn.net/detail/zenjamin/7341345