从X509Certificate获取HttpsURLConnection的SSL上下文

时间:2010-07-27 14:09:26

标签: java servlets ssl https x509

我对证书很新,但我必须做这样的事情(在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)的请求联系起来?

欢呼声。

1 个答案:

答案 0 :(得分:2)

你将无法做到这一点。要建立经过身份验证的SSL连接,您需要证书的公共和私有组件。像你所建议的那样做一些安全漏洞,允许服务器伪装成一个不是它的实体。