检索自签名 jar 的证书时出现问题
我有一个使用 java keytool 生成的密钥进行自签名的 jar。在运行时,我尝试使用以下代码检索证书:
ProtectionDomain pd = MyApplication.class.getProtectionDomain();
Certificate[] cert = pd.getCodeSource().getCertificates();
当我的 jar 在独立的命令行 java 应用程序中使用时,这可以正常工作。但是,当我在部署在 Weblogic 服务器中的 Web 应用程序中使用此 jar 时,getCertificates() 调用返回 null。为什么?
I have a jar that's self signed with keys that I generated using the java keytool. At runtime I attempt to retrieve the certificates with the following code:
ProtectionDomain pd = MyApplication.class.getProtectionDomain();
Certificate[] cert = pd.getCodeSource().getCertificates();
This works fine when my jar is used in a standalone, command line java application. However, when I use this jar in a web application that's deployed in Weblogic server, the getCertificates() call returns null. Why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于容器已配置为解压缩 .WAR 文件,因此它从 WEB-INF/classes 目录加载类,而不是直接加载 .WAR 文件。所以代码源是一个目录,所以它没有证书。
Because the container has been configured to unzip the .WAR file, so it is loading your classes from the WEB-INF/classes directory instead of the .WAR file directly. So the code source is a directory so it doesn't have a certificate.