有没有办法在客户端浏览器中读取安装的可信证书?我想阅读发布和发布的信息。我正在使用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);
}
}
答案 0 :(得分:1)
你做不到。编写服务器代码并检查请求对象时,客户选择发送的读取信息。浏览器不会将任意证书信息发送回它们所连接的服务器。如果浏览器要发送此类信息,则服务器可以执行识别用户访问过的其他站点等操作。这将侵犯隐私。
此外,如果客户端尝试连接到您的服务器并且无法验证证书,则永远不会创建与您的应用程序的连接。上面的代码执行的唯一方法是用户已经信任证书。那时没有理由做任何检查。