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

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

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

      各種數字證書區別

      cer后綴的證書文件有兩種編碼-->DER二進制編碼或者BASE64編碼(也就是.pem)

      p7b一般是證書鏈,里面包括1到多個證書
      pfx是指以pkcs#12格式存儲的證書和相應私鑰。

      在Security編程中,有幾種典型的密碼交換信息文件格式:
      DER-encoded certificate: .cer, .crt
      PEM-encoded message: .pem
      PKCS#12 Personal Information Exchange: .pfx, .p12
      PKCS#10 Certification Request: .p10
      PKCS#7 cert request response: .p7r
      PKCS#7 binary message: .p7b

      .cer/.crt是用于存放證書,它是2進制形式存放的,不含私鑰。
      .pem跟crt/cer的區別是它以Ascii來表示。
      pfx/p12用于存放個人證書/私鑰,他通常包含保護密碼,2進制方式
      p10是證書請求
      p7r是CA對證書請求的回復,只用于導入
      p7b以樹狀展示證書鏈(certificate chain),同時也支持單個證書,不含私鑰。

      其中,我介紹如何從p12/pfx文件中提取密鑰對及其長度:
      1,首先,讀取pfx/p12文件(需要提供保護密碼)
      2,通過別名(Alias,注意,所有證書中的信息項都是通過Alias來提取的)提取你想要分析的證書鏈
      3,再將其轉換為一個以X509證書結構體
      4,提取里面的項,如果那你的證書項放在第一位(單一證書),直接讀取 x509Certs[0](見下面的代碼)這個X509Certificate對象
      5,X509Certificate對象有很多方法,tain198127網友希望讀取RSA密鑰(公私鑰)及其長度(見http://www.matrix.org.cn/thread.shtml?topicId=43786&forumId=55&#reply),那真是太Easy了,
                  X509Certificate keyPairCert = x509Certs[0];
                  int iKeySize = X509CertUtil.getCertificateKeyLength(keyPairCert);
                  System.out.println("證書密鑰算法="+keyPairCert.getPublicKey().getAlgorithm());
                  System.out.println("證書密鑰長度="+iKeySize);
      提取了他所需要的信息。

       

      X.509定義了兩種證書:公鑰證書和屬性證書   
        PKCS#7和PKCS#12使用的都是公鑰證書   
        PKCS#7的SignedData的一種退化形式可以分發公鑰證書和CRL   
        一個SignedData可以包含多張公鑰證書   
        PKCS#12可以包含公鑰證書及其私鑰,也可包含整個證書鏈   


      簡介
      Java自帶的keytool工具是個密鑰和證書管理工具。它使用戶能夠管理自己的公鑰/私鑰對及相關證書,用于(通過數字簽名)自我認證(用戶向別的用戶/服務認證自己)或數據完整性以及認證服務。它還允許用戶儲存他們的通信對等者的公鑰(以證書形式)。

      keytool 將密鑰和證書儲存在一個所謂的密鑰倉庫(keystore)中。缺省的密鑰倉庫實現將密鑰倉庫實現為一個文件。它用口令來保護私鑰。

      Java KeyStore的類型
      JKS和JCEKS是Java密鑰庫(KeyStore)的兩種比較常見類型(我所知道的共有5種,JKS, JCEKS, PKCS12, BKS,UBER)。

      JKS的Provider是SUN,在每個版本的JDK中都有,JCEKS的Provider是SUNJCE,1.4后我們都能夠直接使用它。

      JCEKS在安全級別上要比JKS強,使用的Provider是JCEKS(推薦),尤其在保護KeyStore中的私鑰上(使用TripleDes)。

      PKCS#12是公鑰加密標準,它規定了可包含所有私鑰、公鑰和證書。其以二進制格式存儲,也稱為 PFX 文件,在windows中可以直接導入到密鑰區,注意,PKCS#12的密鑰庫保護密碼同時也用于保護Key。

      BKS 來自BouncyCastle Provider,它使用的也是TripleDES來保護密鑰庫中的Key,它能夠防止證書庫被不小心修改(Keystore的keyentry改掉1個 bit都會產生錯誤),BKS能夠跟JKS互操作,讀者可以用Keytool去TryTry。

      UBER比較特別,當密碼是通過命令行提供的時候,它只能跟keytool交互。整個keystore是通過PBE/SHA1/Twofish加密,因此keystore能夠防止被誤改、察看以及校驗。以前,Sun JDK(提供者為SUN)允許你在不提供密碼的情況下直接加載一個Keystore,類似cacerts,UBER不允許這種情況。

       

      證書導入
      Der/Cer證書導入:

      要從某個文件中導入某個證書,使用keytool工具的-import命令:

      keytool -import -file mycert.der -keystore mykeystore.jks

      如果在 -keystore 選項中指定了一個并不存在的密鑰倉庫,則該密鑰倉庫將被創建。

      如果不指定 -keystore 選項,則缺省密鑰倉庫將是宿主目錄中名為 .keystore 的文件。如果該文件并不存在,則它將被創建。

      創建密鑰倉庫時會要求輸入訪問口令,以后需要使用此口令來訪問。可使用-list命令來查看密鑰倉庫里的內容:

      keytool -list -rfc -keystore mykeystore.jks

       


      P12格式證書導入:

      keytool無法直接導入PKCS12文件。

      第一種方法是使用IE將pfx證書導入,再導出為cert格式文件。使用上面介紹的方法將其導入到密鑰倉庫中。這樣的話倉庫里面只包含了證書信息,沒有私鑰內容。


      第二種方法是將pfx文件導入到IE瀏覽器中,再導出為pfx文件。
             新生成的pfx不能被導入到keystore中,報錯:keytool錯誤: java.lang.Exception: 所輸入的不是一個 X.509 認證。新生成的pfx文件可以被當作keystore使用。但會報個錯誤as unknown attr1.3.6.1.4.1.311.17.1,查了下資料,說IE導出的就會這樣,使用Netscape就不會有這個錯誤.

      第三種方法是將pfx文件當作一個keystore使用。但是通過微軟的證書管理控制臺生成的pfx文件不能直接使用。keytool不認此格式,報keytool錯誤: java.io.IOException: failed to decrypt safe contents entry。需要通過OpenSSL轉換一下:

      1)openssl pkcs12 -in mycerts.pfx -out mycerts.pem

      2)openssl pkcs12 -export -in mycerts.pem -out mykeystore.p12

      通過keytool的-list命令可檢查下密鑰倉庫中的內容:

      keytool -rfc -list -keystore mykeystore.p12 -storetype pkcs12

      這里需要指明倉庫類型為pkcs12,因為缺省的類型為jks。這樣此密鑰倉庫就即包含證書信息也包含私鑰信息。

      P7B格式證書導入:

      keytool無法直接導入p7b文件。

      需要將證書鏈RootServer.p7b(包含根證書)導出為根rootca.cer和子rootcaserver.cer 。

      將這兩個證書導入到可信任的密鑰倉庫中。

      keytool -import -alias rootca -trustcacerts -file rootca.cer -keystore testkeytrust.jks

      遇到是否信任該證書提示時,輸入y

      keytool -import -alias rootcaserver -trustcacerts -file rootcaserver.cer -keystore testkeytrust.jks

       


      總結:

      1)P12格式的證書是不能使用keytool工具導入到keystore中的

      2)The Sun's PKCS12 Keystore對從IE和其他的windows程序生成的pfx格式的證書支持不太好.

      3)P7B證書鏈不能直接導入到keystore,需要將里面的證書導出成cer格式,再分別導入到keystore。

       

      原文鏈接:http://www.rzrgm.cn/testlife007/p/6888191.html

      posted @ 2021-12-07 11:41  孤獨青鳥  閱讀(1896)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久亚洲精品中文字幕馆| 好吊视频专区一区二区三区| 天天澡日日澡狠狠欧美老妇 | 国产自产在线视频一区| 性一交一乱一乱一视频| 亚洲高清国产拍精品熟女| 久久人人97超碰人人澡爱香蕉| 米易县| 无码三级av电影在线观看| 一区二区三区不卡国产| 亚洲精品国产字幕久久麻豆| 亚洲色欲色欱WWW在线| 国产精品无码a∨麻豆| 午夜亚洲AV日韩AV无码大全| 桂林市| 粉嫩国产一区二区三区在线| 亚洲成人av综合一区| 国产成人av免费网址| 国产精品夜夜春夜夜爽久久小说 | 国产精品成人av在线观看春天| 大乳丰满人妻中文字幕日本| 日本高清不卡一区二区三| 亚洲AV高清一区二区三区尤物| 欧美精品一产区二产区| 欧美大香线蕉线伊人久久| 日韩免费码中文在线观看| 国产精品久久蜜臀av| 欧美激情精品久久久久久| 蜜臀在线播放一区在线播放| 国产精品中文字幕一区| 国产乱码精品一区二区三区中文| 色狠狠综合天天综合综合 | 国产成人综合久久亚洲av| 一本无码在线观看| 加勒比中文字幕无码一区| 一本一道av无码中文字幕麻豆 | 午夜福利国产一区二区三区| 亚洲乱码中文字幕小综合| 亚洲国产精品一区二区第一页| 国产中文字幕久久黄色片| 一出一进一爽一粗一大视频|