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

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

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

    posts - 72, comments - 66, trackbacks - 0, articles - 0

    關于keytool用法

    Posted on 2008-04-16 15:33 Fingki.li 閱讀(4750) 評論(0)  編輯  收藏 所屬分類: About security
    做SSL以來,一直在使用keytool,下面把它用法整理如下,以備以后查看。
    1,產生一個密鑰對
            keytool -genkey -alias mykeypair -keypass mykeypairpwd
        過程如下:
            liqingfeng@liqingfeng:~/WORK_APP/keytooltest$ keytool -genkey -alias mykeypair -keypass mykeypairpwd
            輸入keystore密碼:  123456
            您的名字與姓氏是什么?
              [Unknown]:  fingki
            您的組織單位名稱是什么?
              [Unknown]:  server
            您的組織名稱是什么?
              [Unknown]:  server
            您所在的城市或區域名稱是什么?
              [Unknown]:  bj
            您所在的州或省份名稱是什么?
              [Unknown]:  bj
            該單位的兩字母國家代碼是什么
              [Unknown]:  CN
            CN=fingki, OU=server, O=server, L=bj, ST=bj, C=CN 正確嗎?
              [否]:  y

            liqingfeng@liqingfeng:~/WORK_APP/keytooltest$
        這樣將產生一個keypair,同時產生一個keystore.默認名是.keystore,存放到user-home目錄
        假如你想修改密碼,可以用:keytool -keypasswd -alias mykeypair -keypass mykeypairpwd -new newpass

    2,產生一個密鑰對,存放在指定的keystore中(加上-keystore 參數)
        keytool -genkey -alias mykeypair -keypass mykeypairpwd -keystore mykeystore
        過程與上面的相同。
        執行完后,在當前目錄下產生一個名為mykeystore的keystore,里面有一個別名為mykeypair的keypair。

    3,檢查一個keystore中的內容
            keytool -list -v -alias mykeypair -keystore mykeystore
            參數    -v指明要列出詳細信息
                    -alias指明列出指定的別名為mykeypair的keypair信息(不指定則列出所有)
                    -keystore指明要列出名字為mykeystore的keystore中的信息
        過程如下:
            liqingfeng@liqingfeng:~/WORK_APP/keytooltest$ keytool -list -v -keystore mykeystore
            輸入keystore密碼:  123456

            Keystore 類型: jks
            Keystore 提供者: SUN

            您的 keystore 包含 1 輸入

            別名名稱: mykeypair
            創建日期: 2008-4-16
            輸入類型:KeyEntry
            認證鏈長度: 1
            認證 [1]:
            Owner: CN=fingki, OU=server, O=server, L=bj, ST=bj, C=CN
            發照者: CN=fingki, OU=server, O=server, L=bj, ST=bj, C=CN
            序號: 48058c3c
            有效期間: Wed Apr 16 13:18:52 GMT+08:00 2008 至: Tue Jul 15 13:18:52 GMT+08:00 2008
            認證指紋:
                 MD5:  FD:C3:97:DC:84:A0:D8:B2:08:6F:26:7F:31:33:C3:05
                 SHA1: A3:21:6F:C6:FB:5F:F5:2D:03:DA:71:8C:D3:67:9D:1C:E1:27:A5:11


            *******************************************
            *******************************************


            liqingfeng@liqingfeng:~/WORK_APP/keytooltest$    
     4,Keystore的產生:
        當使用-genkey 或-import或-identitydb命令添加數據到一個keystore,而當這個keystore不存在時,產生一個keystore.默認名是.keystore,存放到user-home目錄.
        當用-keystore指定時,將產生指定的keystore.
    5,Keystore的實現:
        Keytool 類位于java.security包下,提供一個非常好的接口去取得和修改一個keystore中的信息. 目前有兩個命令行:keytool和jarsinger,一個GUI工具Policy 可以實現keystore.由于keystore是公開的,用戶可以用它寫一些額外的安全應用程序.
        Keystore還有一個sun公司提供的內在實現.它把keystore作為一個文件來實現.利用了一個keystore類型(格式)"JKS".它用單獨的密碼保護每一個私有鑰匙.也用可能不同的密碼保護整個keystore的完整性.
        支持的算法和鑰匙大小:
        keytool允許用戶指定鑰匙對和注冊密碼服務供應者所提供的簽名算法.缺省的鑰匙對產生算法是"DSA".假如私有鑰匙是"DSA"類型,缺省簽名算法是"SHA1withDSA",假如私有鑰匙是"RSA"類型,缺省算法是"MD5withRSA".
        當產生一個DSA鑰匙對,鑰匙必須在512-1024位之間.對任何算法的缺省鑰匙大小是1024位.
    6,關于證書
        一個證書是一個實體的數字簽名,還包含這個實體的公共鑰匙值.
            公共鑰匙 :是一個詳細的實體的數字關聯,并有意讓所有想同這個實體發生信任關系的其他實體知道.公共鑰匙用來檢驗簽名;
            數字簽名:是實體信息用實體的私有鑰匙簽名(加密)后的數據.這條數據可以用這個實體的公共鑰匙來檢驗簽名(解密)出實體信息以鑒別實體的身份;       
            簽名:用實體私有鑰匙加密某些消息,從而得到加密數據;
            私有鑰匙:是一些數字,私有和公共鑰匙存在所有用公共鑰匙加密的系統的鑰匙對中.公共鑰匙用來加密數據,私有鑰匙用來計算簽名.公鑰加密的消息只能用私鑰解密,私鑰簽名的消息只能用公鑰檢驗簽名。
            實體:一個實體可以是一個人,一個組織,一個程序,一臺計算機,一個商業,一個銀行,或其他你想信任的東西. 
        實際上,我們用[1]中的命令已經生成了一個自簽名的證書,沒有指定的參數都使用的是默認值。
        我們也可以用如下命令生成一個自簽名的證書:
            keytool -genkey -dname "CN=fingki,OU=server,O=server,L=bj,ST=bj,C=CN" -alias myCA -keyalg RSA -keysize 1024 -keystore myCALib -keypass 654321 -storepass 123456 -validity 3650
            這條命令將生成一個別名為myCA的自簽名證書,證書的keypair的密碼為654321,證書中實體信息為 "CN=fingki,OU=server,O=server,L=bj,ST=bj,C=CN",存儲在名為myCALib的keystore中(如果沒有將自動生成一個),這個keystore的密碼為123456,密鑰對產生的算法指定為RSA,有效期為10年。
    7,將證書導出到證書文件
        keytool -export -alias myCA -file myCA.cer -keystore myCALib -storepass 123456 -rfc
        使用該命令從名為myCALib的keystore中,把別名為myCA的證書導出到證書文件myCA.cer中。(其中-storepass指定keystore的密碼,-rfc指定以可查看編碼的方式輸出,可省略)。

    8,通過證書文件查看證書信息
        keytool -printcert -file myCA.cer
    9,密鑰庫中證書條目口令的修改
        Keytool -keypasswd -alias myCA -keypass 654321 -new newpass -storepass 123456 -keystore myCALib
    10,刪除密鑰庫中的證書條目
        keytool -delete -alias myCA -keystore myCALib
    11,把一個證書文件導入到指定的密鑰庫
        keytool -import -alias myCA -file myCA.cer -keystore truststore
        (如果沒有名為truststore的keystore,將自動創建,將會提示輸入keystore的密碼)
    12,更改密鑰庫的密碼
        keytool -storepasswd -new 123456  -storepass 789012 -keystore truststore
        其中-storepass指定原密碼,-new指定新密碼。


    主站蜘蛛池模板: 狠狠色伊人亚洲综合成人| 亚洲精品无码你懂的网站| 亚洲最大免费视频网| 日韩精品无码免费专区网站| 亚洲午夜精品久久久久久浪潮| 中美日韩在线网免费毛片视频| 国产日产亚洲系列最新| jizz在线免费观看| 亚洲乱亚洲乱妇无码麻豆| 久久精品中文字幕免费| 亚洲黄色一级毛片| 欧美大尺寸SUV免费| 亚洲丰满熟女一区二区哦| 无码专区一va亚洲v专区在线| kk4kk免费视频毛片| 久久精品国产亚洲AV无码娇色| 4444www免费看| 亚洲色大网站WWW永久网站| 又粗又大又硬又爽的免费视频| 又大又硬又粗又黄的视频免费看| 中文字幕亚洲激情| 日韩午夜理论免费TV影院| 亚洲a级片在线观看| 成人性生交视频免费观看| 羞羞漫画登录页面免费| 亚洲桃色AV无码| 国产h肉在线视频免费观看| 风间由美在线亚洲一区| 狠狠色伊人亚洲综合成人| 很黄很黄的网站免费的| 精品久久久久久亚洲中文字幕| 亚洲精品成人片在线播放 | 一级白嫩美女毛片免费| 亚洲国产精品VA在线看黑人| 久久天天躁狠狠躁夜夜免费观看| 妇女自拍偷自拍亚洲精品| 亚洲伦另类中文字幕| 国产一级大片免费看| 97av免费视频| 免费人成视频在线播放| 亚洲毛片免费观看|