如何使用我作为JSON获得的自签名证书?
问题描述:
从一个请求,我得到一个JSON这样的:如何使用我作为JSON获得的自签名证书?
{
"authentications": [
{
"type": "clientCertificate",
"secret": "...",
"pem": "-----BEGIN ENCRYPTED PRIVATE KEY-----
abc..
-----END ENCRYPTED PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
abc...
-----END CERTIFICATE-----\n"
}
]
}
现在我要离开这个创建一个证书,并用它来comunicate到服务器。有人可以帮我吗?
答
看起来像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) –
也有一些是** ** SERIOUSLY错在这里。对等方不仅向您发送自签名证书而且还发送私钥。这是一种*表面证据*安全违规行为。它不应该发生。 – EJP