检索自签名 jar 的证书时出现问题

发布于 2024-10-17 21:16:46 字数 335 浏览 10 评论 0原文

我有一个使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

征﹌骨岁月お 2024-10-24 21:16:46

由于容器已配置为解压缩 .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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文