如何使用我作为JSON获得的自签名证书?

问题描述:

从一个请求,我得到一个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

看起来像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) –