<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
    統(tǒng)計(jì)
    • 隨筆 - 169
    • 文章 - 1
    • 評(píng)論 - 138
    • 引用 - 0

    導(dǎo)航

    常用鏈接

    留言簿(9)

    隨筆分類(163)

    隨筆檔案(154)

    文章檔案(1)

    新聞檔案(1)

    相冊(cè)

    收藏夾(1)

    個(gè)人雜雜

    友情鏈接

    自學(xué)考試

    資料搜索

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 359147
    • 排名 - 153

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

     
     導(dǎo)出和導(dǎo)入證書

     

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

    1、運(yùn)行 HTTPS 服務(wù)器,像在第一部分中討論的那樣。

    2、運(yùn)行 ReadHttpsURL1:java ReadHttpsURL1 localhost。你同樣會(huì)得到上面所述的異常。

    3、使用下面的 keytool 命令導(dǎo)出服務(wù)器證書:

    o 從 serverkeys 文件中導(dǎo)出別名為 qusay 的證書

    o 將導(dǎo)出的證書保存在 server.cert 文件中,這個(gè)文件會(huì)由 keytool 創(chuàng)建

    如你看到的那樣,我根據(jù)要求輸入了密碼。成功輸入密碼之后,服務(wù)器證書被成功的導(dǎo)出并保存在 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 創(chuàng)建一個(gè)新的 keystore 并將服務(wù)器的 server.cert 證書導(dǎo)入其中。這里的命令示例:

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

    這個(gè)命令會(huì)產(chǎn)生下面那樣的輸出。它要求輸入密碼,這是一個(gè)新的密碼,用于 trustedcerts 這個(gè) keystore 的。這個(gè) keystore 由 keytool 創(chuàng)建。在輸出信息的最后,它詢問我是否愿意相信這個(gè)證書,我回答 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、現(xiàn)在運(yùn)行 ReadHttpsURL1 并告訴它哪里能找到證書。使用下面的命令:

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

    這將會(huì)與你的 HTTPS 服務(wù)器聯(lián)接、校驗(yàn)證書,如果正確,它會(huì)下載默認(rèn)頁面 index.html。

    注意:信任管理器負(fù)責(zé)決定遠(yuǎn)端的證書是否值得信任。它使用下面的規(guī)則:

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

    2、如果 javax.net.sll.trustStore 系統(tǒng)屬性沒有定義,那么它會(huì)去尋找默認(rèn)的信任庫(kù):

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

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

    在我的 Windows 2000 客戶機(jī)中,java.home 目錄是 c:\Program File\java\jre1.4.1\lib\security,在上例中,如果你將 trustedcerts 更名為 jssecacerts 并將其移動(dòng)到 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: 自定義信任庫(kù)密碼是wshr.ut
    testkeystore:證書庫(kù)存放了服務(wù)器證書和對(duì)應(yīng)的私鑰.
    my.cer: 被CA簽名后的服務(wù)器證書,以導(dǎo)入testkeystore
    HBCA.cer: CA的根證書,以導(dǎo)入到cacerts,testkeystore,需要導(dǎo)入IE.
    測(cè)試單證02.pfx:   CA簽發(fā)的一個(gè)個(gè)人證書,需要導(dǎo)入到IE
    MyHTTPSServerAuth.java   : 實(shí)現(xiàn)SSL服務(wù)的JAVA代碼.

    我得jdk是j2sdk1.4.2_01的,我把上面的那些全放在JDK的bin目錄下方便使用那個(gè)keytool來調(diào)試.
    證書時(shí)我搭的一個(gè)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
    發(fā)照者: C=CN, O=TEST, CN=HBCA
    序號(hào): 2aed19e4a2900b69e9a307700439a1d1
    有效期間: Thu Sep 22 11:36:25 CST 2005 至: Sat Jun 01 11:36:25 CST 2019
    認(rèn)證指紋:
             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
    信任這個(gè)認(rèn)證? [否]:  y
    認(rèn)證已添加至keystore中

    C:\j2sdk1.4.2_01\bin>keytool  -import -alias test -file my.cer  -keystore testkeystore
    輸入keystore密碼:  wshr.ut
    認(rèn)證回復(fù)已安裝在 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
    發(fā)照者: C=CN, O=TEST, CN=HBCA
    序號(hào): 2aed19e4a2900b69e9a307700439a1d1
    有效期間: Thu Sep 22 11:36:25 CST 2005 至: Sat Jun 01 11:36:25 CST 2019
    認(rèn)證指紋:
             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
    信任這個(gè)認(rèn)證? [否]:  y
    認(rèn)證已添加至keystore中

    posted on 2008-11-03 15:42 張秀蘭 閱讀(1583) 評(píng)論(0)  編輯  收藏 所屬分類: 資料查找
     
    Copyright © 張秀蘭 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 亚洲国产精品成人午夜在线观看 | 国拍在线精品视频免费观看 | 亚洲av再在线观看| 亚欧在线精品免费观看一区| www免费插插视频| 亚洲精品动漫免费二区| 亚洲国产精品线观看不卡| 亚洲乱码国产一区三区| 亚洲精品乱码久久久久久蜜桃 | 亚洲国产一区在线| 亚洲色偷偷偷鲁综合| va亚洲va日韩不卡在线观看| 午夜dj在线观看免费视频| 无码区日韩特区永久免费系列| 日韩电影免费在线观看| rh男男车车的车车免费网站| 日本系列1页亚洲系列| 亚洲乱码无人区卡1卡2卡3| 亚洲成AV人综合在线观看| 亚洲成人在线电影| 亚洲国产精品一区二区第一页| 亚洲国产精品自产在线播放| 免费大香伊蕉在人线国产| 国产麻豆剧传媒精品国产免费| 成人无遮挡毛片免费看| 18禁无遮挡无码网站免费| 性做久久久久久久免费看| 青青草免费在线视频| 成年女人看片免费视频播放器| 欧美三级在线电影免费| 在线免费观看污网站| 日产乱码一卡二卡三免费| 国产自产拍精品视频免费看| 妞干网在线免费视频| 国产美女a做受大片免费| 四虎影在线永久免费四虎地址8848aa | 免费A级毛片av无码| 最近中文字幕大全免费视频| 五月婷婷在线免费观看| 国产精品怡红院永久免费| 一二三四视频在线观看中文版免费|