2017-08-14 78 views
-2

從一個請求,我得到一個JSON這樣的:如何使用我作爲JSON獲得的自簽名證書?

{ 
    "authentications": [ 
     { 
      "type": "clientCertificate", 
      "secret": "...", 
      "pem": "-----BEGIN ENCRYPTED PRIVATE KEY----- 
        abc.. 
        -----END ENCRYPTED PRIVATE KEY----- 
        -----BEGIN CERTIFICATE----- 
        abc... 
        -----END CERTIFICATE-----\n" 
     } 
    ] 
} 

現在我要離開這個創建一個證書,並用它來comunicate到服務器。有人可以幫我嗎?

+0

也有一些是** ** SERIOUSLY錯在這裏。對等方不僅向您發送自簽名證書而且還發送私鑰。這是一種*表面證據*安全違規行爲。它不應該發生。 – EJP

回答

1

看起來像PEM。你可以用bouncycastle來閱讀PEM。

UPDATE:

這裏是你如何讀取具有certificat鏈中的關鍵一例子:

 PEMReader in = new PEMReader(reader, dlg); 
     Object obj = in.readObject(); 
     if (obj == null) { 
      // Some PEM files have garbarge at the top 
      for (int i = 0; i < 9 && obj == null; ++i) { 
       obj = in.readObject(); 
      } 
     } 
     keys = null; 
     if (obj instanceof KeyPair) { 
      keys = (KeyPair)obj; 
      obj = in.readObject(); 
     } 
     List<X509Certificate> list = new ArrayList<X509Certificate>(); 
     while (obj != null) { 
      if (obj instanceof X509Certificate) { 
       list.add((X509Certificate)obj); 
      } 
      obj = in.readObject(); 
     } 
+1

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/17028467) –