<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      使用keytool 生成證書

      keytool 簡介

      keytool 是java 用于管理密鑰和證書的工具,官方文檔
      其功能包括:

      • 創建并管理密鑰
      • 創建并管理證書
      • 作為CA 為證書授權
      • 導入導出證書

      主要格式
      keytool 采用 keystore 文件來存儲密鑰及證書,其中可包括私鑰、信任證書;
      keystore 文件主要使用 JKS格式(也可支持其他格式),帶密鑰存儲;其中私鑰的存儲也有獨立的密碼;
      其他格式

      一、生成私鑰和證書

      keytool -genkeypair -alias serverkey -keystore server.keystore

      按提示 輸入keystore 存儲密碼、私鑰密碼、個人信息,之后會生成 server.keystore文件
      若不想輸入參數,可提供參數:

      keytool -genkeypair -alias serverkey -keypass 111111 -storepass 111111 \
          -dname "C=CN,ST=GD,L=SZ,O=vihoo,OU=dev,CN=vihoo.com" \
          -keyalg RSA -keysize 2048 -validity 3650 -keystore server.keystore

      參數說明

      • storepass keystore 文件存儲密碼
      • keypass 私鑰加解密密碼
      • alias 實體別名(包括證書私鑰)
      • dname 證書個人信息
      • keyalt 采用公鑰算法,默認是DSA
      • keysize 密鑰長度(DSA算法對應的默認算法是sha1withDSA,不支持2048長度,此時需指定RSA)
      • validity 有效期
      • keystore 指定keystore文件

      二、查看keystore詳情

      查看詳情命令

      keytool -list -keystore -storepass 111111 server.keystore

      輸出結果

      Keystore type: JKS
      Keystore provider: SUN
      Your keystore contains 1 entry
      serverkey, Sep 25, 2016, PrivateKeyEntry, 
      Certificate fingerprint (SHA1): 65:75:C9:08:A0:83:21:A1:D7:8D:DA:CD:3D:FB:C2:E0:50:96:29:62

      加上-v選項可查看更詳細信息

      Keystore type: JKS
      Keystore provider: SUN
      Your keystore contains 1 entry
      Alias name: serverkey
      Creation date: Jul 22, 2017
      Entry type: PrivateKeyEntry
      Certificate chain length: 1
      Certificate[1]:
      Owner: C=CN, ST=GD, L=SZ, O=vihoo, OU=dev, CN=vihoo.com
      Issuer: C=CN, ST=GD, L=SZ, O=vihoo, OU=dev, CN=vihoo.com
      Serial number: 5c5eb42
      Valid from: Sat Jul 22 10:45:45 CST 2017 until: Tue Jul 20 10:45:45 CST 2027
      Certificate fingerprints:
           MD5:  27:ED:70:EF:4C:E3:7F:ED:6A:83:67:32:6D:10:24:38
           SHA1: 79:08:97:6E:62:EE:0F:E6:81:56:66:43:9C:9D:A4:11:EF:CC:28:0C
           SHA256: 3B:AC:56:8E:60:C2:C8:07:61:19:C7:4A:D3:AF:1F:60:77:24:94:7C:87:6E:C8:E7:17:14:E4:7A:34:0A:CD:8F
           Signature algorithm name: SHA256withRSA
           Version: 3
      Extensions: 
      #1: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: B4 10 A9 26 5D 6C 4C 46   B4 69 ED 31 2B 20 D1 F4  ...&]lLF.i.1+ ..
      0010: 58 3C 8F 94                                        X<..
      ]
      ]

       

      三、證書導入導出

      導出證書

      keytool -exportcert -keystore server.keystore -file server.cer -alias serverkey -storepass 111111

      參數說明

      • exportcert 表示導出證書
      • alias 指示別名
      • file 指示導出文件
      • storepass 指示keystore密鑰

      此時導出的證書為DER編碼格式,使用openssl 可以輸出

      openssl x509 -in server.cer -inform der -noout -text

      加上 -rfc選項,可輸出PEM編碼格式的證書

      keytool -exportcert -keystore server.keystore -rfc -file server.cer -alias serverkey -storepass 111111

      輸出格式如:

      -----BEGIN CERTIFICATE-----
      MIIDUTCCAjmgAwIBAgIEBcXrQjANBgkqhkiG9w0BAQsFADBZMRIwEAYDVQQDEwl2
      ...
      -----END CERTIFICATE-----

      導入證書
      一般為導入信任證書(SSL客戶端使用)

      keytool -importcert -keystore client_trust.keystore -file server.cer -alias client_trust_server -storepass 111111 -noprompt

      參數說明

      • importcert 表示導入信任證書
      • file 指示導入證書,支持pem/der格式
      • keystore 指示目標keystore文件
      • storepass 指示新的keystore密鑰
      • alias 指示trust證書在keystore中的別名
      • noprompt 指示不彈出提示

      導入后的證書為 trustedCertEntry 實體類型,而私鑰證書為 PrivateKeyEntry

      四、查看證書

      打印證書

      keytool -printcert -file server.cer

      輸出

      Owner: CN=ZZ, OU=DEV, O=pp.com, L=GZ, ST=GD, C=CN
      Issuer: CN=ZZ, OU=DEV, O=pp.com, L=GZ, ST=GD, C=CN
      Serial number: 797f3140
      Valid from: Sun Sep 25 16:43:55 CST 2016 until: Sat Dec 24 16:43:55 CST 2016
      Certificate fingerprints:
           MD5:  FB:7D:29:4C:A9:F3:07:0E:CC:74:0D:9B:D4:D6:4D:91
           SHA1: 65:75:C9:08:A0:83:21:A1:D7:8D:DA:CD:3D:FB:C2:E0:50:96:29:62
           SHA256: E9:8B:A5:43:5F:40:FA:C5:64:3B:0A:11:1D:BE:D1:07:3C:A1:E2:50:88:71:A7:5C:EC:43:22:98:1B:AA:B6:EB
           Signature algorithm name: SHA1withDSA
           Version: 3
      Extensions: 
      #1: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: 0E C3 62 D3 75 3A 3C B7   D9 C4 BD 8E 63 E7 6C EC  ..b.u:<.....c.l.
      0010: AF 8A 29 72                                        ..)r
      ]
      ]

       

      五、轉換格式

      jks格式 轉 pkcs12

      keytool -importkeystore -srckeystore server.keystore -destkeystore server.p12 -srcalias serverkey -destalias serverkey \
          -srcstoretype jks -deststoretype pkcs12 -srcstorepass 111111 -deststorepass 111111 -noprompt

      參數說明

      • importkeystore 指示導入導出keystore文件,可用于同類型或不同類型的導入導出
      • srckeystore 指示源keystore文件
      • srcalias 指示源實體別名
      • srcstoretype 指示源store類型(jks/pkcs12..)
      • srcstorepass 指示源store密碼
      • noprompt 不彈出提示

      pkcs12 轉jks格式與此同理

      六、場景示例

      1. 制作Java SSL 雙向證書

      storepass=111111
      keypass=111111
      server_dname="C=CN,ST=GD,L=SZ,O=vihoo,OU=dev,CN=vihoo.com"
      client_dname="C=CN,ST=GD,L=SZ,O=vihoo,OU=dev,CN=vihooc.com"
      echo "generate server keystore"
      keytool -genkeypair -alias serverkey -keypass $keypass -storepass $storepass \
          -dname $server_dname \
          -keyalg RSA -keysize 2048 -validity 3650 -keystore server.keystore
      echo "generate client keystore"
      keytool -genkeypair -alias clientkey -keypass $keypass -storepass $storepass \
          -dname $client_dname \
          -keyalg RSA -keysize 2048 -validity 3650 -keystore client.keystore
      echo "export server certificate"
      keytool -exportcert -keystore server.keystore -file server.cer -alias serverkey -storepass $storepass
      echo "export client certificate"
      keytool -exportcert -keystore client.keystore -file client.cer -alias clientkey -storepass $storepass
      echo "add server cert to client trust keystore"
      keytool -importcert -keystore client_trust.keystore -file server.cer -alias client_trust_server \
          -storepass $storepass -noprompt
      echo "add client cert to server trust keystore"
      keytool -importcert -keystore server_trust.keystore -file client.cer -alias server_trust_client \
          -storepass $storepass -noprompt

       

      2. Java 證書與 nginx 證書互轉

      Java通常使用JKS作為證書存儲格式,而Nginx往往采用PEM證書格式,如何實現互轉?

      Nginx 證書 轉 JKS

      • A pem證書和私鑰合成p12

        openssl pkcs12 -export -in server.crt -inkey server.key -passin pass:111111 -password pass:111111 \
        -name server -out server.p12
        注意定義-name 選項,這將作為keystore識別實體的參數
      • B p12 證書轉jks 證書

        keytool -importkeystore -srckeystore server.p12 -destkeystore server.keystore \
        -srcstoretype pkcs12 -deststoretype jks -srcalias server -destalias server \
        -deststorepass 111111 -srcstorepass 111111

        如果p12 文件中未指定實體名稱,使用keytool轉換時則不需提供srcalias/destalias參數,而輸出的keystore實體名稱默認為1

      JKS 證書 轉 Nginx證書

      • A jks 證書轉p12

        keytool -importkeystore -srckeystore server.keystore  -destkeystore server.p12 \
        -srcstoretype jks -deststoretype pkcs12 -srcalias server -destalias server \
        -deststorepass 111111 -srcstorepass 111111
      • B p12 證書提取pem證書和私鑰

        openssl pkcs12 -in server.p12 -clcerts -nokeys -password pass:111111 -out server.crt
        openssl pkcs12 -in server.p12  -nocerts -password pass:111111 -passout pass:111111 -out server.key

        其中得到的私鑰文件為PKCS#8 加密格式,證書和密鑰均為PEM文件編碼。

      3. 其他

      已有的Nginx證書,如何快速在Java中添加信任 
      通過keytool -importcert 命令可直接導入信任證書

      keytool 通用格式為 jks,如何獲取私鑰
      通過程序讀取,參考stackoverflow
      JavaSE樣例

      posted @ 2016-10-26 23:15  美碼師  閱讀(46837)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 日韩在线视频一区二区三| 国产精品自在自线视频| 亚洲国产成人精品无码区在线观看| 国产精品aⅴ免费视频| 亚洲中文字幕久久精品品| 丰满熟女人妻一区二区三| 国产亚洲精品97在线视频一| 精品人妻中文字幕av| 暖暖影院日本高清...免费| 黄色国产精品一区二区三区| 日韩精品中文字一区二区| 特级做a爰片毛片免费看无码 | 午夜爽爽爽男女免费观看影院 | 真人作爱免费视频| 天堂中文8资源在线8| 蜜臀91精品国产高清在线| 亚洲一本大道在线| 国产精品青青青高清在线| 国产一区二区一卡二卡| 国产又色又爽又刺激在线观看| 在线观看免费网页欧美成| 午夜DY888国产精品影院| 国产草草影院ccyycom| 国产免费又黄又爽又色毛| 亚洲高清有码在线观看| 午夜免费无码福利视频麻豆| 天堂网在线.www天堂在线资源| 阜新市| 中文字幕成人精品久久不卡| 吉川爱美一区二区三区视频 | 性色av无码久久一区二区三区| 又色又污又爽又黄的网站| 亚洲欧美国产日韩天堂区| 国产在线国偷精品产拍| 成年美女黄网站色大片免费看| 免费国产一区二区不卡| 中文字幕一区有码视三区| 欧美三级a做爰在线观看| 久久精品国产清自在天天线| 波多野结衣久久一区二区| 黑人巨大亚洲一区二区久|