標籤:
開啟Tomcat https服務
發布企業級應用的時候遇到一個問題,就是IOS7.1之後app的URL必須是https開頭的協議,所以伺服器必須支援https協議。
實驗環境:Mac OSX 或者 win7,Tomcat 7.0,JDK 1.7
一.環境搭建
1. 安裝tomcat
a.:http://tomcat.apache.org/download-70.cgi
b.下載你機器的Tomcat版本
2. 安裝JDK
tomcat需要安裝與其配套的JDK否則無法運行。
- 配置tomcatJDK路徑
4運行測試tomcat
瀏覽器中輸入:http://localhost:8080
如果出現了tomcat的歡迎頁面說明配置正確了,如果瀏覽器為空白說明你配置錯誤,你應該檢查控制台輸出的錯誤或警告資訊,然後進行改正。
5、安裝vcredist_x86
這個的東西是安裝openssl的環境,安裝oenssl前需安裝此環境。
6、安裝openssL
a網上搜尋Win32OpenSSL-1_0_1g.exe,下載一個。
一路下一步,選擇安裝路徑進行安裝 (我選擇的是D:\OpenSSL-Win32\)
二、製作自簽名CA 憑證(根憑證)
CA認證的製作有兩個步驟:
1、建立一個私密金鑰檔案:
opensslgenrsa -out myCA.key 2048
私密金鑰檔案名稱為myCA.key。
2、然後建立根憑證:
openssl req -x509 -new -key myCA.key -out myCA.cer -days 730 -subj/CN="My CustomCA"
根憑證檔案名稱為myCA.cer,機構名稱為 My Custom CA。
三、製作自簽名SSL 憑證(葉認證)
1、首先建立一個私密金鑰:
opensslgenrsa -out server.key 2048
私密金鑰檔案名稱為server.key。
2、然後建立CSR:
opensslreq -new -out server.req -key server.key -subj /CN=127.0.0.1/CN=192.168.31.128/CN=localhost
這裡假設伺服器的IP為192.168.2.1。輸出檔案為 server.req。
3、然後用CSR去建立 SSL 憑證:
opensslx509 -req -in server.req -out server.cer -CAkey myCA.key -CA myCA.cer -days36500 -CAcreateserial -CAserial server.serial
這裡我們假設有效期間為100年,輸出檔案為server.cer,序號檔案為 server.serial(撤銷認證時使用)。
4、將.key 和 .cer 檔案匯出為.p12 認證:
opensslpkcs12 -export -in server.cer -inkey server.key -out server.p12 -name"server"
根據命令提示,需要輸入兩次認證密碼。這裡我們假設密碼為 keypass。輸出檔案名為 server.p12。
5、將.p12 檔案匯入到 java keystore 中:
keytool-importkeystore -v -srckeystore server.p12 -srcstoretype pkcs12-srcstorepass keypass -destkeystore server.keystore -deststoretype jks-deststorepass keypass
這裡我們假設keystore 檔案名稱為 server.keystore,keystore密碼為 keypass。
四、使用SSL 憑證
將最後得到的keystore 檔案 (server.keystore) 放在網頁伺服器上。例如 Tomcat 目錄的conf 目錄下。
然後修改server.xml:
<Connectorport="8443" protocol="org.apache.coyote.http11.Http11Protocol"SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="D:/CA/server.keystore" keystorePass=" keypass"
clientAuth="false" sslProtocol="TLS" />
重啟Tomcat,通過以下地址訪問 https 服務:
https://localhost:8443/ 或者https://192.168.2.1:8443/。
伺服器開啟https協議