我在本地运行 Apache Tomcat,并使用 OpenSSL 安装了自签名证书。我还有一个正在运行的 servlet。
我想做的是: servlet 接收 POST 参数并将回显使用服务器的私钥签名的参数。即,将输入参数视为一个整数,并对其进行私钥的幂次。
问题:是否有可能从 servlet 访问服务器的私钥?如果部署在其他主机上,则可能无法直接访问它。那么有什么方法可以请求服务器使用其私钥“签署”一些数据吗?
提前致谢。
最佳答案
如果我正在编写 Weberver,我会竭尽全力防止代码从证书存储中读取 - 我当然不会为它提供 API 调用!
通常证书作为文件存储在网络服务器的文件系统上(并非总是如此),但对于具有任何严格安全性的站点,这将被加密并需要密码短语才能解密。由于您使用的是自签名证书,它可能未加密 - 只需将证书从文件导入 keystore 即可。
关于java - 从 Servlet 访问 SSL 私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4048892/