我对证书还很陌生,但是我必须这样做(在Java中):

1)我手中有请求者的证书:

X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");


2)我需要使用该证书请求另一个网址(甚至可能吗?),例如:

URL url = new URL(server);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            if (connection instanceof HttpsURLConnection) {
                ((HttpsURLConnection) connection).setSSLSocketFactory(???);
            }


我的问题是:如何将1)的证书与2)的请求链接?

干杯。

最佳答案

您将无法执行此操作。为了建立经过身份验证的SSL连接,您需要证书的公共和私有组件。进行类似您建议的操作将是一个安全漏洞,允许服务器伪装成不是的实体。

关于java - 从X509Certificate获取HttpsURLConnection的SSL上下文,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3344488/

10-10 13:56