目錄
- 開始制作CA根證書
- 建立私鑰
- 建立證書請求
- 生成CA自簽證書
- 制作伺服器證書
- 向 本地keystore 密鑰庫中導入證書
- 導入伺服器證書
- 單獨導出 CA 作為信任證書
- 用戶端安裝證書:
- Tomcat 伺服器導入證書
- 修改預設的http端口和https端口
- 強制使用Https
- 最終效果
内網項目啟用Https配置手冊
軟體需求:
- OpenSSL https://www.openssl.org/
- 已經安裝了Java Jdk環境
制作前的需求:
- 已經配置了Jdk環境變量
- 安裝好OpenSSL後配置了環境變量

回到頂部
開始制作CA根證書
在任意盤符(我這裡選擇G盤)下建立一個檔案夾 這裡我建立一個ca的檔案夾用來存儲生成的CA憑證
回到頂部
建立私鑰
生成私鑰指令:openssl genrsa -out ca/ca-key.pem 1024
回到頂部
建立證書請求
指令:openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem
回到頂部
生成CA自簽證書
指令:openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650(10年有效期)
回到頂部
制作伺服器證書
用 java 自帶的 keytool工具生成密鑰(密碼123456)
指令:keytool -genkey -alias example -validity 365 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore example.jks
轉存失敗重新上傳取消
用keytool工具生成證書請求(涉及到的證書名字是 example)
指令:keytool -certreq -alias example -sigalg MD5withRSA -file example.csr -keypass 123456 -keystore example.jks -storepass 123456
根據證書請求,用CA簽證,生成伺服器證書
指令:openssl x509 -req -in example.csr -out example.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -days 365 -set_serial 1
回到頂部
向 本地keystore 密鑰庫中導入證書
指令:keytool -import -v -trustcacerts -keypass 123456 -storepass 123456 -alias root -file ca/ca-cert.pem -keystore example.jks
轉存失敗重新上傳取消
回到頂部
導入伺服器證書
指令:keytool -import -v -trustcacerts -storepass 123456 -alias example -file example.pem -keystore example.jks
回到頂部
單獨導出 CA 作為信任證書
指令:keytool -import -alias example-ca -trustcacerts -file ca/ca-cert.pem -keystore exampletrust.jks
這裡輸入的密碼是:123456 證書的密碼
檢視生成的檔案:
回到頂部
用戶端安裝證書:
指令:openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12
這裡輸入的密碼是 123456(證書密碼)
檢視生成證書:ca檔案夾下面
ca.p12檔案就是生成的證書
輕按兩下打開導入——》目前使用者——》下一步——》輸入密碼(123456)——》
打開ie浏覽器,在 internet 選項``内容中清除ssl狀态,重新開機浏覽器再重新通路,就不會再有不信任的提示。
點選下一步完成即可!
回到頂部
Tomcat 伺服器導入證書
首先複制剛才生成的那兩個檔案:
複制到tomcate 目錄下面:例如放到conf檔案夾下
打開server.xml檔案 複制下面内容到指定位置:
複制内容:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="250" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/example.jks"
keystorePass = "123456" truststoreFile="conf/exampletrust.jks"
truststorePass="123456"/>
放置位置:(注意放置位置一定要對!!!!!)
說明:123456表示的是證書密碼 443是https預設端口
回到頂部
修改預設的http端口和https端口
預設Tomcat HTTP端口8080 HTTPS預設端口8443
修改下列位置8080——》80 8443——》443
=-------------------------------------------
回到頂部
強制使用Https
打開conf檔案夾下面的web.xml(檔案尾部!!!!) 添加以下代碼到指定位置
<security-constraint> <web-resource-collection> <web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
回到頂部
最終效果
谷歌:
轉存失敗重新上傳取消
IE