我对证书还很陌生,但是我必须这样做(在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/