gpt4 book ai didi

java - 当我从命令行启动 java 应用程序时,我可以防止数字签名警告吗?

转载 作者:可可西里 更新时间:2023-11-01 09:26:27 25 4
gpt4 key购买 nike

有什么方法可以避免在命令行运行Java应用程序时出现“无法验证应用程序的数字签名”的警告信息?

我正在寻找一个命令行解决方案,它允许在持续集成服务器上启动这样的应用程序,因此我需要一个不需要手动干预的解决方案。

此外,我不希望对任何 应用程序禁用此警告,因为这可能存在安全风险。

不确定是否有帮助,但我知道签名的“名称”、“发布者”和“来自”字段的值。

screenshot of java digital signature warning

请确定,我不是在询问如何签署此申请。

更新1

我想解决方案是使用 keytool 从命令行导入证书,但由于某种原因它确实无法正确导入它,因为在此之后它没有出现在控制面板小程序中,并且应用程序仍然需要它。

keytool -importcert -file my.cer -alias alf2 -storepass changeme -noprompt

它是否与默认 keystore 相关,我如何确保导入正确的 keystore?

更新2

在网上进行大量研究后,我取得了一些进展,至少在 Windows 7Java 6 上工作:keytool -importcert -file my.cer -keystore "%USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs"-storepass ""-noprompt -v

我看起来 Sun 未能在文档中指定默认 keystore 的真实位置以及默认密码为空的事实。

但这还没有结束,因为当它在自动化用户帐户上运行时它失败了,它失败是因为该用户还没有 keystore 并且因为命令行工具 keytool 不能使用空密码创建 keystore ,要求至少 6 个字符。 see Sun's forum tread...

最佳答案

trusted.certs 文件是基于用户(配置文件)的。使用 keytool 也可以将受信任的根 CA 添加到“cacert”文件,其中存储了 java 的默认受信任 CA。XP 上的 cacert 文件位置(取决于 Java 版本):C:\Program Files\Java\jre6\lib\security

更多细节在这里:

默认密码是:changeit

关于java - 当我从命令行启动 java 应用程序时,我可以防止数字签名警告吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com