如何在java中读取用户的证书

时间:2016-09-20 10:30:00

标签: javascript java linux x509certificate websphere-portal

有没有办法在客户端浏览器中读取安装的可信证书?我想阅读发布和发布的信息。我正在使用Java来运行web-sphere来运行应用程序。

我已经编写了以下用于阅读证书的代码。当代码执行时,我得到空值。

public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

String cyphersuite = (String) req.getAttribute("javax.servlet.request.cipher_suite");        
        if (cyphersuite != null) {
            X509Certificate[] x509=(X509Certificate[])req.getAttribute("javax.servlet.request.X509Certificate");
            System.out.println("x509   "+x509);         
        }
}

1 个答案:

答案 0 :(得分:1)

你做不到。编写服务器代码并检查请求对象时,客户选择发送的读取信息。浏览器不会将任意证书信息发送回它们所连接的服务器。如果浏览器要发送此类信息,则服务器可以执行识别用户访问过的其他站点等操作。这将侵犯隐私。

此外,如果客户端尝试连接到您的服务器并且无法验证证书,则永远不会创建与您的应用程序的连接。上面的代码执行的唯一方法是用户已经信任证书。那时没有理由做任何检查。