• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    tomcat實現SSL配置

    發布: 2007-6-23 18:14 | 作者: ioly  | 來源: ChinaUnix  | 查看: 22次 | 進入軟件測試論壇討論

    領測軟件測試網

       編輯tomcat的配置文件server.xml,去掉下面SSL Connector的注釋,修改為如下:

    <!-- Define an SSL HTTP/1.1 Connector on port 8443 -->;

    <Connector className="org.apache.catalina.connector.http.HttpConnector"

            port="8443" minProcessors="5" maxProcessors="75"

            enableLookups="true"

      acceptCount="10" debug="0" scheme="https" secure="true">;

      <Factory className="org.apache.catalina.net.SSLServerSocketFactory"

            clientAuth="false" keystoreFile="tomcat.keystore"

            keystorePass="tomcat" protocol="TLS"/>;

    </Connector>;

    keystoreFile的路徑是TOMCAT的安裝路徑下的tomcat.keystore(使用keytool生成的證書庫文件)

    >;keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore tomcat.keystore

    keystoreFile保存了服務器端的證書庫,用于客戶端認證。

    常用的配置屬性:

    clientAuth

    如果想要Tomcat為了使用這個socket而要求所有SSL客戶出示一個客戶證書,置該值為true。

    keystoreFile

    如果創建的keystore文件不在Tomcat認為的缺省位置(一個在Tomcat運行的home目錄下的叫.keystore的文件),則加上該屬性?梢灾付ㄒ粋絕對路徑或依賴$CATALINA_BASE環境變量的相對路徑。

    keystorePass

    如果使用了一個與Tomcat預期不同的keystore(和證書)密碼,則加入該屬性。

    keystoreType

    如果使用了一個PKCS12 keystore,加入該屬性。有效值是JKS和PKCS12。

    sslProtocol

    socket使用的加密/解密協議。如果使用的是Sun的JVM,則不建議改變這個值。據說IBM的1.4.1版的TLS協議的實現和一些流行的瀏覽器不兼容。這種情況下,使用SSL。

    ciphers

    此socket允許使用的被逗號分隔的密碼列表。缺省情況下,可以使用任何可用的密碼。

    algorithm

    使用的X509算法。缺省為Sun的實現(SunX509)。對于IBM JVMS應該使用ibmX509。對于其它JVM,參考JVM文檔取正確的值。

    truststoreFile

    用來驗證客戶證書的TrustStore文件。

    truststorePass

    訪問TrustStore使用的密碼。缺省值是keystorePass。

    truststoreType

    如果使用一個不同于正在使用的KeyStore的TrustStore格式,加入該屬性。有效值是JKS和PKCS12。

    使用https://localhost:8443 就可以進行ssl連接的檢測

    ----------------------------------------------------------------------------------------

    上訴的SSL連接是客戶端單向認證服務器,如果雙向認證,將server.xml文件的Connector配置

    clientAuth="false"

    Java服務器端的證書庫,服務器認證客戶端時使用的根證書庫。

    證書庫位置:JAVA_HOME/jre/lib/security/cacerts keystore密碼為:changeit

    將客戶端個人證書的根證書導入服務器的證書庫,就可以認證客戶端。

    服務器端證書的生成:

    >;keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore tomcat.keystore

    >;keytool -certreq -alias tomcat -file Server.csr -keystore tomcat.keystore 生成證書請求文件

    使用openssl命令用根證書簽名,再導入簽名證書

    >;keytool -import -trustcacerts -alias tomcat -file Server.pem -keystore tomcat.keystore

    注意-trustcacerts選項,使用服務器的證書庫認證該證書,首先要將根證書導入cacerts中。

    ----------------------------------------------------------------------------------------

    Tomcat配置SSL,我出現的問題

    我用openssl創建了CA證書,Server證書,Client證書。

    使用keytool將Server證書導入tomcat.keystore文件中,將Tomcat的配置文件server.xml關于SSL的配置設為keystoreFile=tomcat.keystore.SSL連接時,客戶端認證tomcat.keystore中的服務器證書。

    將CA證書導入$JAVA_HOME\jre\lib\security\cacerts這個keystore中,用于驗證客戶端證書。

    在IE中安裝CA證書和Client證書(pkcs12,包含私鑰的個人證書形式)。

    建立SSL連接https://localhost:8443,連接失敗。

    經過反復思量,知道問題所在,SSL連接時,客戶端認證服務器時,需要驗證服務器的簽名,那么tomcat.keystore中就應該有Server的私鑰。所以導入Server證書時,應該導入包含私鑰的Server證書。

    keytool命令不能導入私鑰文件,可以通過在keystore中生成自簽名證書,導出證書請求,用CA證書簽名后,在導回的方法。

    導回簽名證書的過程

    >;keytool -import -trustcacerts -alias tomcat -file Server.pem -keystore tomcat.keystore

    注意-trustcacerts選項,使用服務器的證書庫認證該證書,首先要將根證書導入Java的根證書庫中:JAVA_HOME\jre\lib\security\cacerts中。

    ----------------------------------------------------------------------------------------

    分析IE實現實現SSL連接的中的證書雙向認證過程

    在地址欄中輸入https://localhost:8443

    客戶端向服務器發送hello消息,tomcat服務器偵聽8443端口,收到SSL連接的hello消息,服務器發送server certificate,并且發送client certificate request.客戶端IE收到server certificate后取出issuer項,和IE受信任的根證書庫中證書的subject比對,找到合適的根證書認證server certificate。并且同時向服務器發送client certificate,服務器收到client certificate后,tomcat服務器查找根證書庫cacerts中的根證書的suject,找到合適的根證書認證client certificate.在認證的同時完成密鑰協商?蛻舳苏J證結束后,IE會彈出"安全警報"對話框,用戶可以查看服務器證書,以及服務器證書是否受信任,可以選擇是否繼續SSL連接。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>