gpt4 book ai didi

java - Authenticode、SPC 和 Java CodeSign 之间的区别?

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

大多数 CA 都在不同的“产品”中销售代码签名证书,例如 Verisign 或 Certum:

  • Microsoft Authenticode - “允许您签署 EXE、OCX、DLL、bla...”

  • Java CodeSign - “允许您签署 Java 代码”

  • 软件发行商证书 - “允许您签署软件”

好吧,我真的对此感到困惑。所有这些产品之间有什么区别 - 除了价格?由于好奇,我问了 Verisign 和其他 CA 几次,但没有得到答复。

我从 Certum CA 获得了 Authenticode 证书。我在 Internet Explorer 中注册了它,将其导出为 PKCS#12 PFX,并且可以按照 promise 对 EXE、DLL 等进行签名。

现在...我尝试使用 keytool 将此 PFX 导入 Java,然后尝试签署 JAR。它奏效了!

然后是神秘的“软件发行商证书”作为产品。我不知道我可以/应该用那个签名什么... Mac? Linux? “Microsoft Authenticode”不是软件发布者证书吗?不是EXE“软件”吗?这真的让我很困惑。

所以,我现在的问题是:当我订购了 Microsoft Authenticode 证书时,使用它来签名是否违法? JAR 文件或任何其他内容(如果可能)?这些证书之间似乎没有技术差异。所有这些产品都应该具有相同的代码设计 EKU-OID“1.3.6.1.5.5.7.3.3”,这在 EXE、JAR、Adobe Air 和那里还存在的东西之间没有任何区别。那么,如果所有“代码签名”证书在技术上都是平等的,那我为什么还要决定我是想成为“Java 开发人员”还是“Windows 开发人员”还是“软件开发人员”?

也许证书上仍然存在差异?当我使用 Authenticode-certs 进行签名时,也许我在 JAR 中没有足够的权限?

(PS:我没有将我的软件用于商业用途!)

最佳答案

如您所料,技术上没有区别。使用适当的工具链,可以使用用于签署 Java 应用程序的证书来签署 Windows 可执行文件。

例如参见 Jsign ,一种使用 Java keystore 或标准 PKCS#12 keystore 对 Windows 可执行文件进行签名的工具。

关于java - Authenticode、SPC 和 Java CodeSign 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3655263/

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