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

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

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

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    tomcat https

    Posted on 2011-06-25 23:06 瘋狂 閱讀(1439) 評論(0)  編輯  收藏 所屬分類: java 、java安全

    HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密

    的詳細內容就需要SSL
      SSL協議的握手過程
    SSL 協議既用到了公鑰加密技術又用到了對稱加密技術,對稱加密技術雖然比公鑰加密技術的速度快,可是公鑰加密技術提供了更好的身份認證技術。SSL 的握手協議非常有效的讓客戶和服

    務器之間完成相互之間的身份認證,其主要過程如下:   
    ①客戶端的瀏覽器向服務器傳送客戶端 SSL 協議的版本號,加密算法的種類,產生的隨機數,以及其他服務器和客戶端之間通訊所需要的各種信息。   
    ②服務器向客戶端傳送 SSL 協議的版本號,加密算法的種類,隨機數以及其他相關信息,同時服務器還將向客戶端傳送自己的證書。   
    ③客戶利用服務器傳過來的信息驗證服務器的合法性,服務器的合法性包括:證書是否過期,發行服務器證書的 CA 是否可靠,發行者證書的公鑰能否正確解開服務器證書的“發行者的數字

    簽名”,服務器證書上的域名是否和服務器的實際域名相匹配。如果合法性驗證沒有通過,通訊將斷開;如果合法性驗證通過,將繼續進行第四步。   
    ④用戶端隨機產生一個用于后面通訊的“對稱密碼”,然后用服務器的公鑰(服務器的公鑰從步驟②中的服務器的證書中獲得)對其加密,然后將加密后的“預主密碼”傳給服務器。   
    ⑤如果服務器要求客戶的身份認證(在握手過程中為可選),用戶可以建立一個隨機數然后對其進行數據簽名,將這個含有簽名的隨機數和客戶自己的證書以及加密過的“預主密碼”一起傳

    給服務器。   
    ⑥如果服務器要求客戶的身份認證,服務器必須檢驗客戶證書和簽名隨機數的合法性,具體的合法性驗證過程包括:客戶的證書使用日期是否有效,為客戶提供證書的CA 是否可靠,發行CA

    的公鑰能否正確解開客戶證書的發行 CA 的數字簽名,檢查客戶的證書是否在證書廢止列表(CRL)中。檢驗如果沒有通過,通訊立刻中斷;如果驗證通過,服務器將用自己的私鑰解開加密的

    “預主密碼”,然后執行一系列步驟來產生主通訊密碼(客戶端也將通過同樣的方法產生相同的主通訊密碼)。   
    ⑦服務器和客戶端用相同的主密碼即“通話密碼”,一個對稱密鑰用于 SSL 協議的安全數據通訊的加解密通訊。同時在 SSL 通訊過程中還要完成數據通訊的完整性,防止數據通訊中的任何

    變化。   
    ⑧客戶端向服務器端發出信息,指明后面的數據通訊將使用的步驟⑦中的主密碼為對稱密鑰,同時通知服務器客戶端的握手過程結束。   
    ⑨服務器向客戶端發出信息,指明后面的數據通訊將使用的步驟⑦中的主密碼為對稱密鑰,同時通知客戶端服務器端的握手過程結束。   
    ⑩SSL 的握手部分結束,SSL 安全通道的數據通訊開始,客戶和服務器開始使用相同的對稱密鑰進行數據通訊,同時進行通訊完整性的檢驗。

     


    下面是在tomcat下實現https,使用jdk自帶的keytool工具生成自簽名證書。

    1 生成keystore文件,keystore文件用來存儲密鑰和證書
       keystore的詳細參數可使用 可使用keystore命令查看。
      
    keytool -genkeypair -keyalg rsa -keysize 2048 -sigalg sha1withrsa -validity 3600 -alias www.joe.com -keystore e:\ssl\joe.keystore
    輸入keystore密碼:
    再次輸入新密碼:
    您的名字與姓氏是什么?
      [Unknown]:  www.joe.com
    您的組織單位名稱是什么?
      [Unknown]:  joe
    您的組織名稱是什么?
      [Unknown]:  joe
    您所在的城市或區域名稱是什么?
      [Unknown]:  bj
    您所在的州或省份名稱是什么?
      [Unknown]:  bj
    該單位的兩字母國家代碼是什么
      [Unknown]:  cn
    CN=www.joe.com, OU=joe, O=joe, L=bj, ST=bj, C=cn 正確嗎?
      [否]:  y

    輸入<www.joe.com>的主密碼
            (如果和 keystore 密碼相同,按回車):
    2 導出自簽名證書。正是平臺需要導出csr文件并去權威的ca認證機構獲取受信任證書,一般是收費的。
       keytool -exportcert -alias www.joe.com -keystore e:\ssl\joe.keystore -file e:\ssl\joe.cer -rfc
    輸入keystore密碼:
    保存在文件中的認證 <e:\ssl\joe.cer>
    下面配置tomcat(server.xml)使其支持https.
    <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
                   maxThreads="150" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS"  keystoreFile="conf/joe.keystore" keystorePass="123456"/>
       

    3 修改操作系統host文件,添加127.0.0.1 www.joe.com

    4 新建web應用httpstest
    并添加indexjsp:
     <body>
        <%
         for(Enumeration en = request.getAttributeNames();en.hasMoreElements();){
         String name = (String)en.nextElement();
         out.println(name);
         out.println("="+request.getAttribute(name));
         out.println();
         }
        %>
      </body>

    5 為了讓瀏覽器信任我們的證書,需要在瀏覽器導入我們的證書為信任根證書。
    6 訪問:https://www.joe.com/httpstest
    輸出:
    javax.servlet.request.ssl_session =4e05eb849ac41a45b56725488b68c28cc8c2ea94e2ec599852e1665297b2822b
    javax.servlet.request.key_size =128
    javax.servlet.request.cipher_suite =SSL_RSA_WITH_RC4_128_MD5 (通訊的加密信息,由瀏覽器和服務器協商確定)。

     

    主站蜘蛛池模板: 日本三级2019在线观看免费| 蜜桃AV无码免费看永久| 久久综合AV免费观看| 久久精品国产亚洲网站| 香蕉视频在线免费看| 国产精品亚洲片在线| 国产亚洲中文日本不卡二区| 和日本免费不卡在线v| 在线综合亚洲中文精品| 性xxxx视频播放免费| 亚洲av无码兔费综合| 亚洲AV蜜桃永久无码精品| 久久精品亚洲综合| 日本人成在线视频免费播放| 久久久无码精品亚洲日韩京东传媒| 最近2019免费中文字幕视频三| 亚洲精品中文字幕乱码| 妞干网在线免费视频| 特级毛片全部免费播放| 国产亚洲一区二区在线观看| 日韩在线不卡免费视频一区| 亚洲人成网站看在线播放| 日韩在线免费播放| 亚洲人成影院午夜网站| 免费看少妇作爱视频| 久久久久久av无码免费看大片| 亚洲国产a∨无码中文777| av免费不卡国产观看| 免费无码AV一区二区| 四虎免费在线观看| 成人免费夜片在线观看| 久久精品国产亚洲av麻豆小说| 大地资源网高清在线观看免费| 久久久久久亚洲精品成人| 成年午夜视频免费观看视频 | 亚洲精品成人在线| 日韩免费的视频在线观看香蕉| 日本亚洲免费无线码| 亚洲欧洲精品无码AV| 成人毛片18女人毛片免费96| 日本一区午夜艳熟免费|