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

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

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

    世界因你而精彩  
    日歷
    <2008年11月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456
    統計
    • 隨筆 - 169
    • 文章 - 1
    • 評論 - 138
    • 引用 - 0

    導航

    常用鏈接

    留言簿(9)

    隨筆分類(163)

    隨筆檔案(154)

    文章檔案(1)

    新聞檔案(1)

    相冊

    收藏夾(1)

    個人雜雜

    友情鏈接

    自學考試

    資料搜索

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 359363
    • 排名 - 153

    最新評論

    閱讀排行榜

    評論排行榜

     
     導出和導入證書

     

    為了解釋清楚如何輸出和輸入證書,我會使用我自己的 HTTPS 服務器。這個服務器在第一部分中討論過。然后,跟著下面的內容開始:

    1、運行 HTTPS 服務器,像在第一部分中討論的那樣。

    2、運行 ReadHttpsURL1:java ReadHttpsURL1 localhost。你同樣會得到上面所述的異常。

    3、使用下面的 keytool 命令導出服務器證書:

    o 從 serverkeys 文件中導出別名為 qusay 的證書

    o 將導出的證書保存在 server.cert 文件中,這個文件會由 keytool 創建

    如你看到的那樣,我根據要求輸入了密碼。成功輸入密碼之后,服務器證書被成功的導出并保存在 server.cert 中。

    Prompt> keytool -export -keystore serverkeys -alias qusay -file server.cert

    Enter keystore password: hellothere

    Certificate stored in file

    4、將文件 server.cert 拷貝到 ReadHttpsURL1 所在的目錄。使用 keytool 創建一個新的 keystore 并將服務器的 server.cert 證書導入其中。這里的命令示例:

    Prompt> keytool -import -keystore trustedcerts -alias qusay -file server.cert

    這個命令會產生下面那樣的輸出。它要求輸入密碼,這是一個新的密碼,用于 trustedcerts 這個 keystore 的。這個 keystore 由 keytool 創建。在輸出信息的最后,它詢問我是否愿意相信這個證書,我回答 yes。

    Enter keystore password: clientpass

    Owner: CN=localhost, OU=Training and Consulting, O=javacourses.com, L=Toronto, ST=Ontario, C=CA

    Issuer: CN=localhost, OU=Training and Consulting, O=javacourses.com, L=Toronto, ST=Ontario, C=CA

    Serial number: 3dcf988a

    Valid from: Mon Nov 11 06:46:18 EST 2002 until: Sun Feb 09 06:46:18 EST 2003

    Certificate fingerprints:

    MD5: 37:35:4D:3A:2B:7E:B5:09:A5:41:B3:FA:E4:3C:1D:C4

    SHA1: CB:7C:77:36:79:A2:37:26:E2:98:61:C2:9D:10:50:69:

    99:F9:B9:1B

    Trust this certificate? [no]: yes

    Certificate was added to keystore

    5、現在運行 ReadHttpsURL1 并告訴它哪里能找到證書。使用下面的命令:

    Prompt> java -Djavax.net.ssl.trustStore=trustedcerts ReadHttpsURL1 localhost

    這將會與你的 HTTPS 服務器聯接、校驗證書,如果正確,它會下載默認頁面 index.html。

    注意:信任管理器負責決定遠端的證書是否值得信任。它使用下面的規則:

    1、如果 javax.net.sll.trustStore 系統屬性指定了信任庫,那么信任管理器會使用提供的文件來檢查證書。如果那個系統屬性存在但指定的文件不存在,那么就沒有使用任何信任庫,會拋出一個 CertificateException 異常。

    2、如果 javax.net.sll.trustStore 系統屬性沒有定義,那么它會去尋找默認的信任庫:

    如果在你的 java.home 目錄的 lib/security 子目錄下存在名為 jssecacerts 的信任庫,那么使用的就是它。

    如果 jssecacerts 不存在,但是 cacerts 存在 (它隨 J2SDK 一起發行,含有數量有限的可信任的基本證書),使用的就是 cacerts。

    在我的 Windows 2000 客戶機中,java.home 目錄是 c:\Program File\java\jre1.4.1\lib\security,在上例中,如果你將 trustedcerts 更名為 jssecacerts 并將其移動到 lib/security 子目錄中,那么你以后就不需要在命令行指定 javax.net.ssl.trustStore 屬性了。

    如果你不知道 java.home 在哪里,這里有一小段代碼可以讓你找到它:

                

    public class FindJavaHome {

    public static void main(String argv[]) {

    System.out.println(System.getProperty("java.home"));

    }

    }




    =========================
    說明:

    cacerts: 自定義信任庫密碼是wshr.ut
    testkeystore:證書庫存放了服務器證書和對應的私鑰.
    my.cer: 被CA簽名后的服務器證書,以導入testkeystore
    HBCA.cer: CA的根證書,以導入到cacerts,testkeystore,需要導入IE.
    測試單證02.pfx:   CA簽發的一個個人證書,需要導入到IE
    MyHTTPSServerAuth.java   : 實現SSL服務的JAVA代碼.

    我得jdk是j2sdk1.4.2_01的,我把上面的那些全放在JDK的bin目錄下方便使用那個keytool來調試.
    證書時我搭的一個CA來簽的,.

    部分過程:
    C:\j2sdk1.4.2_01\bin>keytool -genkey -dname "CN=www.my.com,OU=hbca,O=hbca,L=wuhan,S=hubei,C=CN" -alias test -keyalg RSA -keystore testkeystore -keypass wshr.ut -storepass wshr.ut

    C:\j2sdk1.4.2_01\bin>keytool -certreq -keystore testkeystore -alias test -file test.csr -storepass wshr.ut

    C:\j2sdk1.4.2_01\bin>keytool  -import -alias CA -file hbca.cer  -keystore testkeystore
    輸入keystore密碼:  wshr.ut
    Owner: C=CN, O=TEST, CN=HBCA
    發照者: C=CN, O=TEST, CN=HBCA
    序號: 2aed19e4a2900b69e9a307700439a1d1
    有效期間: Thu Sep 22 11:36:25 CST 2005 至: Sat Jun 01 11:36:25 CST 2019
    認證指紋:
             MD5:  DB:32:5B:CA:EB:79:D2:40:F4:5C:65:87:4F:8B:93:8D
             SHA1: C3:68:DC:A5:1E:DC:A9:07:60:CF:5D:38:A3:4C:10:67:28:20:6F:A3
    信任這個認證? [否]:  y
    認證已添加至keystore中

    C:\j2sdk1.4.2_01\bin>keytool  -import -alias test -file my.cer  -keystore testkeystore
    輸入keystore密碼:  wshr.ut
    認證回復已安裝在 keystore中
    C:\j2sdk1.4.2_01\bin>keytool  -import -alias test -file hbca.cer  -keystore cacerts
    輸入keystore密碼:  wshr.ut
    Owner: C=CN, O=TEST, CN=HBCA
    發照者: C=CN, O=TEST, CN=HBCA
    序號: 2aed19e4a2900b69e9a307700439a1d1
    有效期間: Thu Sep 22 11:36:25 CST 2005 至: Sat Jun 01 11:36:25 CST 2019
    認證指紋:
             MD5:  DB:32:5B:CA:EB:79:D2:40:F4:5C:65:87:4F:8B:93:8D
             SHA1: C3:68:DC:A5:1E:DC:A9:07:60:CF:5D:38:A3:4C:10:67:28:20:6F:A3
    信任這個認證? [否]:  y
    認證已添加至keystore中

    posted on 2008-11-03 15:42 張秀蘭 閱讀(1583) 評論(0)  編輯  收藏 所屬分類: 資料查找
     
    Copyright © 張秀蘭 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 亚洲AV综合色区无码一区爱AV | 人妻无码久久一区二区三区免费| 国产jizzjizz免费看jizz| 狠狠色伊人亚洲综合网站色| 久久久久久99av无码免费网站| 国产91在线|亚洲| 成年午夜视频免费观看视频| 亚洲日韩中文字幕无码一区| 日韩高清在线免费观看| 日日摸日日碰夜夜爽亚洲| av无码东京热亚洲男人的天堂| 免费毛片毛片网址| 中文字幕不卡亚洲| 日本黄色动图免费在线观看| 久久亚洲精品成人AV| 国产精品久久免费| 亚洲国产精品久久久久秋霞小| 国产精品极品美女免费观看| 一级毛片aaaaaa视频免费看| 亚洲国产精品无码久久一区二区| 99精品一区二区免费视频| 77777午夜亚洲| 精品亚洲视频在线观看| 久久国产精品2020免费m3u8| 2020天堂在线亚洲精品专区| 国产aa免费视频| 久久国产乱子免费精品| 日韩免费观看一区| 亚洲宅男精品一区在线观看| 免费精品国产自产拍观看| 免费人成网站在线观看不卡| 一级毛片直播亚洲| 99免费在线视频| 亚洲午夜精品在线| 免费无码看av的网站| 国产真人无码作爱免费视频| 亚洲手机中文字幕| 亚洲精品专区在线观看| 亚洲一级毛片免费观看| 男女猛烈无遮掩视频免费软件| 亚洲精品综合一二三区在线|