<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 303  文章 - 883  trackbacks - 0
    <2007年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    歡迎光臨! 
    閑聊 QQ:1074961813

    隨筆分類(357)

    我管理的群

    公共blog

    • n維空間
    • Email : java3d@126.com 群 : 12999758

    參與管理的論壇

    好友的blog

    我的其他blog

    朋友的網站

    搜索

    •  

    最新評論

    from:http://www.designxf.com/Article/200607/5791810.htm

    Tomcat雙向認證的問題這么多,貼一篇我總結的Tomcat雙向認證方法

    tomcat
    實現SSL配置?

    編輯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,加入該屬性。有效值是JKSPKCS12。?
    sslProtocol
    socket
    使用的加密/解密協議。如果使用的是SunJVM,則不建議改變這個值。據說IBM1.4.1版的TLS協議的實現和一些流行的瀏覽器不兼容。這種情況下,使用SSL。?
    ciphers
    socket允許使用的被逗號分隔的密碼列表。缺省情況下,可以使用任何可用的密碼。?
    algorithm
    使用的X509算法。缺省為Sun的實現(SunX509)。對于IBM?JVMS應該使用ibmX509。對于其它JVM,參考JVM文檔取正確的值。?
    truststoreFile
    用來驗證客戶證書的TrustStore文件。?
    truststorePass
    訪問TrustStore使用的密碼。缺省值是keystorePass。?
    truststoreType
    如果使用一個不同于正在使用的KeyStoreTrustStore格式,加入該屬性。有效值是JKSPKCS12。?


    使用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證書。

    使用keytoolServer證書導入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連接。


    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2007-03-11 11:21 小尋 閱讀(15658) 評論(0)  編輯  收藏 所屬分類: j2se/j2ee/j2me
    主站蜘蛛池模板: 亚洲伊人久久大香线蕉结合| 亚洲色图激情文学| 国产偷国产偷亚洲高清在线| 色视频色露露永久免费观看| 亚洲娇小性色xxxx| 久久WWW色情成人免费观看| 亚洲性色成人av天堂| 在人线av无码免费高潮喷水| 亚洲熟妇av午夜无码不卡| 国产三级在线免费观看| 久久亚洲欧洲国产综合| 国产日韩AV免费无码一区二区| 国产av无码专区亚洲国产精品| 91在线免费视频| 亚洲a一级免费视频| 1000部国产成人免费视频| 亚洲精品视频免费| aa在线免费观看| 久久亚洲私人国产精品| 美女视频黄的全免费视频 | 免费网站观看WWW在线观看| 亚洲开心婷婷中文字幕| 99热在线观看免费| 2019亚洲午夜无码天堂| 免费人成激情视频| 99久久国产精品免费一区二区| 亚洲欧洲在线观看| 24小时免费直播在线观看| 色费女人18女人毛片免费视频| 亚洲午夜未满十八勿入网站2| 一级毛片免费毛片一级毛片免费| 亚洲不卡视频在线观看| 亚洲VA综合VA国产产VA中| 18禁超污无遮挡无码免费网站| 亚洲AV色吊丝无码| 亚洲美日韩Av中文字幕无码久久久妻妇| a级毛片在线免费看| 亚洲综合色一区二区三区| 亚洲午夜国产片在线观看| 久久国产免费观看精品3| 亚洲GV天堂无码男同在线观看|