【问题标题】:How to use a self-signed certificate which i get as JSON?如何使用我以 JSON 形式获得的自签名证书?
【发布时间】:2018-01-22 06:55:13
【问题描述】:

从一个请求中我得到一个这样的 JSON:

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

现在我必须从中创建一个证书并使用它与服务器通信。有人可以帮我吗?

【问题讨论】:

  • 这里有一些严重错误。对等方不仅向您发送自签名证书,还向您发送私钥。这是初步的安全违规。它不应该发生。

标签: java android json authentication certificate


【解决方案1】:

看起来像 PEM。您可以使用bouncycastle 阅读 PEM。

更新:

下面是一个示例,说明如何使用证书链读取密钥对:

        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();
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 2014-06-04
    相关资源
    最近更新 更多