tomcat 添加 ssl 證書




1. 將證書提供方給的證書(server.crt)及密鑰文件(server.key)上傳到服務器 tomcat 的 conf 目錄

2. 在tomcat conf 目錄下執行如下命令

(1) 生成P12證書(需要設置密碼)

        # openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name server

OpenSSL是一個安全套接字層密碼庫,其包括常用的密碼算法、常用的密鑰生成和證書封裝管理功能及SSL協議,並提供了豐富的應用程序以供測試。

(2) 通過P12證書,生成jks 文件(包含密鑰和證書信息,也許輸入p12證書密碼,以及設置jks的密碼)

        # keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -destkeystore server.jks

Keytool是一個Java數據證書的管理工具 ,Keytool將密鑰(key)和證書(certificates)存在一個稱為keystore的文件中。 
在keystore里,包含兩種數據: 
① 密鑰實體(Key entity)——密鑰(secret key)又或者是私鑰和配對公鑰(采用非對稱加密) 
② 可信任的證書實體(trusted certificate entries)——只包含公鑰

3. tomcat7 配置SSL 證書

(1) 修改conf/server.xml 配置文件

其中 KeystorePass 為生成jks文件時,設置的密碼

(2) 配置強制跳轉(http -> https):修改配置文件 conf/web.xml

在:</welcome-file-list>下面添加:

<login-config>
    <!-- Authorization setting for SSL -->
    <auth-method>CLIENT-CERT</auth-method>
    <realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
    <!-- Authorization setting for SSL -->
    <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>

4. 重啟tomcat服務,完成

5. 參考資料

本文檔基於Linux tomcat7.0.70版本編寫整理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM