导入到受信任列表的Java自签名证书仍然会在第一时间显示安全警告

问题描述 投票:0回答:1

我对自签名证书的模糊主题有疑问。我使用keytool创建了一个密钥库,然后创建了一个自签名证书。目前发生的情况是,第一次使用Java Web Start下载Java应用程序时会显示安全提示,并且在接受之后,证书将按预期保存在Java控制面板可信列表中。显然,战争中的应用程序jar文件已使用相同的密钥库进行签名。

但是,我原本以为如果我手动将证书手动导入Java控制面板可信列表,那么安全提示不应该显示,甚至不是第一次。但是,即使我已经手动将证书手动导入到可信列表中,安全提示也会在第一次弹出。

这是通过设计发生的吗?意思是,用户总是会被迫选择“不再显示此警告选项”至少一次?还是我可能错过了什么? Java控制面板中的安全级别尽可能低。此外,Java Web Start URL已添加到“例外站点”列表中。安全提示符如下图所示。

Security Warning

java java-web-start client-certificates
1个回答
-1
投票

我找到了一种避免安全警告的方法,即使是第一次弹出也是如此。我已经在Windows 10和Java 7以及Java 8中进行了测试,因此在Java的更高版本或其他操作系统中可能会有不同的结果。此外值得注意的是,除非您的内部网或生产环境的安全性得到保证,否则不建议在安全风险方面进行此操作。

除非遵循以下步骤,否则将始终弹出上述安全警告:

  1. 使用keytool创建自签名证书,并使用用于创建YourCertificate.crt的相同密钥库在Java Web Start捆绑包中唱出所有jar文件
  2. 单击“设置”打开Java控制面板并删除缓存,然后单击“删除文件”并选择“删除应用程序”选项,然后单击“确定”
  3. 要在运行应用程序之前导入您的证书,请转到“安全”选项卡,然后单击“管理证书”,然后单击“导入”并选择“YourCertificate.crt”并单击“打开”。 (还建议将您的域添加到例外站点列表)
  4. 现在,您的自签名证书是可信证书
  5. 转到“高级”选项卡,然后在“混合代码(沙盒与受信任)”安全验证中选择“禁用验证”
  6. 运行使用相同密钥库签名的Java Web Start应用程序,并且不会显示安全警告。
© www.soinside.com 2019 - 2024. All rights reserved.