java web应用程序是否有办法通过http请求获取有关安装在计算机上的安全证书的信息,并在计算机上安装特定证书时有选择地授予访问权限。
基本上要求是,Web应用程序应该只接受来自公司笔记本电脑的请求,否则必须使用适当的错误文本拒绝访问。
(这些可能是胜利的笔记本电脑,其机器上安装了某些证书,或者它们可以来自某组静态ips。)
答案 0 :(得分:2)
是的,这可以使用HTTPS客户端证书。确切的设置和配置取决于您的应用程序服务器和特定要求,但常见的情况是您创建公司内部CA(证书颁发机构)以颁发可能限于特定客户端IP地址的客户端证书并配置您的应用程序服务器HTTPS连接器,要求客户端证书并信任由您自己的CA颁发的证书。
完成正确的配置后,客户端证书将通过servlet请求属性提供给Web应用程序:
X509Certificate[] certificates = (X509Certificate[])
request.getAttribute("javax.servlet.request.X509Certificate");
答案 1 :(得分:0)
正如jambjo所说 - 你可以通过HTTPS获得客户端证书,如他所描述的那样。我建议通过静态IP,证书更难以欺骗,并且如果您将来需要以不同方式重新配置网络,则允许更灵活。
其他一些想法: