天天看點

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

目錄

  • ​​開始制作CA根證書​​
  • ​​建立私鑰​​
  • ​​建立證書請求​​
  • ​​生成CA自簽證書​​
  • ​​制作伺服器證書​​
  • ​​向 本地keystore 密鑰庫中導入證書​​
  • ​​導入伺服器證書​​
  • ​​單獨導出 CA 作為信任證書​​
  • ​​用戶端安裝證書:​​
  • ​​Tomcat 伺服器導入證書​​
  • ​​修改預設的http端口和https端口​​
  • ​​強制使用Https​​
  • ​最終效果​

内網項目啟用Https配置手冊

軟體需求:

  1. OpenSSL ​​https://www.openssl.org/​​
  2. 已經安裝了Java Jdk環境

制作前的需求:

  1. 已經配置了Jdk環境變量
  2. 安裝好OpenSSL後配置了環境變量
内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

​​回到頂部​​

開始制作CA根證書

在任意盤符(我這裡選擇G盤)下建立一個檔案夾 這裡我建立一個ca的檔案夾用來存儲生成的CA憑證

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

​​回到頂部​​

建立私鑰

生成私鑰指令:openssl genrsa -out ca/ca-key.pem 1024

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

​​回到頂部​​

建立證書請求

指令:openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

​​回到頂部​​

生成CA自簽證書

指令:openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650(10年有效期)

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

​​回到頂部​​

制作伺服器證書

用 java 自帶的 keytool工具生成密鑰(密碼123456)

指令:keytool -genkey -alias example -validity 365 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore example.jks

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文
内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

轉存失敗重新上傳取消

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

用keytool工具生成證書請求(涉及到的證書名字是 example)

指令:keytool -certreq -alias example -sigalg MD5withRSA -file example.csr -keypass 123456 -keystore example.jks -storepass 123456

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

根據證書請求,用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

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

​​回到頂部​​

向 本地keystore 密鑰庫中導入證書

指令:keytool -import -v -trustcacerts -keypass 123456 -storepass 123456 -alias root -file ca/ca-cert.pem -keystore example.jks

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文
内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

轉存失敗重新上傳取消

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

​​回到頂部​​

導入伺服器證書

指令:keytool -import -v -trustcacerts -storepass 123456 -alias example -file example.pem -keystore example.jks

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

​​回到頂部​​

單獨導出 CA 作為信任證書

指令:keytool -import -alias example-ca -trustcacerts -file ca/ca-cert.pem -keystore exampletrust.jks

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

這裡輸入的密碼是:123456 證書的密碼

檢視生成的檔案:

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

​​回到頂部​​

用戶端安裝證書:

指令:openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

這裡輸入的密碼是 123456(證書密碼)

檢視生成證書:ca檔案夾下面

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

ca.p12檔案就是生成的證書

輕按兩下打開導入——》目前使用者——》下一步——》輸入密碼(123456)——》

打開ie浏覽器,在 internet 選項``内容中清除ssl狀态,重新開機浏覽器再重新通路,就不會再有不信任的提示。

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

點選下一步完成即可!

​​回到頂部​​

Tomcat 伺服器導入證書

首先複制剛才生成的那兩個檔案:

複制到tomcate 目錄下面:例如放到conf檔案夾下

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

打開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"/>      
内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

放置位置:(注意放置位置一定要對!!!!!)

說明:123456表示的是證書密碼  443是https預設端口

​​回到頂部​​

修改預設的http端口和https端口

預設Tomcat HTTP端口8080 HTTPS預設端口8443

修改下列位置8080——》80      8443——》443

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

=-------------------------------------------

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

​​回到頂部​​

強制使用Https

打開conf檔案夾下面的web.xml(檔案尾部!!!!)  添加以下代碼到指定位置

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文
<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>      

​​回到頂部​​

最終效果

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

谷歌:

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文
内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

轉存失敗重新上傳取消

内網Https 自簽Https證書 配合Tomcat 實作内網Https詳細圖文

IE

繼續閱讀