標籤:style http io ar os 使用 sp java 檔案
作業系統是Window下。
第一步安裝軟體
1、安裝Tomcat6.0.35(Tomcat7.0.34測試通過)
2、安裝JDK6(1.6.0_10-rc2,其它版本沒測試)
3、安裝openssl
第二步配置軟體
1、將jdk、jre和openssl的bin目錄設定到path環境變數下
第三步產生認證
1、建立一個目錄,進入cmd命令列下,通過cd命令進入該目錄
2、在指定的目錄下運行命令: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\”目錄,將檔案複製進去。
3、再運行命令:openssl req -new -out server.csr -key server.key根據密鑰檔案產生簽署檔案。
其中各個設定項中,除了Common Name其它的各項都可以為空白,不過為了後期你好辨別認證,最好不要設定空,其中Common Name的值必須是你的伺服器ip或者是網域名稱,本機測試的話可以用localhost,但是如果要通過行動裝置來訪問就不能設定成localhost。
4、再運行命令:openssl genrsa -out ca.key 1024產生用戶端密鑰檔案。
5、再運行命令: openssl req -new -x509 -days 365 -key ca.key -out ca.crt產生用戶端的簽署檔案。
填寫的內容和第三步一致即可,其中organizationName必須和第三步的一致
6、在目前的目錄下建立demoCA檔案夾,並在demoCA下建立檔案index.txt和serial,serial內容為01,index.txt為空白,以及檔案夾newcerts
7、在命令列中輸入:openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key讓用戶端的簽署認證能夠被網站伺服器的簽署認證認識
8、運行命令openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12把服務端簽署認證轉換瀏覽器可以識別的PCS12格式,密碼使用上面輸入的密碼“123456”。
9、運行命令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沒有複製到命令列的當前檔案夾下。
10、如果你好奇,可以通過命令列keytool -v -list -keystore server.jks 查看下檔案的簽署內容。
以上過程總共產生7個檔案,我們只關心其中的3個檔案,分別是server.p12(tomcat配置用)、server.jks(tomcat配置用)、ca.crt(用戶端認證,需要iOS裝置下載安裝)。
第四步配置Tomcat伺服器
1、開啟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.p12、server.jks、ca.crt;其中server.p12、server.jks是tomcat的server.xml設定檔要用到的,而ca.crt檔案是要發布出去,以供iOS裝置下載安裝的用戶端認證。
另外伺服器端也需要安裝server.crt認證(如果是僅僅為iOS下載應用服務,這個認證可以不安裝),這個認證需要安裝到受信任的根目錄下。步驟如下:
雙擊server.crt->安裝認證->下一步->選擇”將所有的認證放入下列儲存”->瀏覽選擇“可信任的根憑證授權單位”->剩下的一路點“是”即可。
先關的軟體,以及每個步驟的詳細的頁面和說明,請到下面地址進行下載:
http://download.csdn.net/detail/zenjamin/7341345
tomcat 搭建IOS應用發行伺服器