Authenticode,SPC和Java CodeSign之间的区别?

前端之家收集整理的这篇文章主要介绍了Authenticode,SPC和Java CodeSign之间的区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
大多数CA都在销售不同“产品”的代码签名证书,如Verisign或Certum:

> Microsoft Authenticode – “允许您签署EXE,OCX,DLL,bla ……”
> Java CodeSign – “允许您签署Java代码
>软件发行商证书 – “允许您签署软件”

好吧,我真的对此感到困惑.所有这些产品有什么区别 – 除了价格?自从我很好奇以来,我曾几次询问Verisign和其他CA.但没有得到答案.

我从Certum CA获得了Authenticode证书.我在Internet Explorer中注册它,将其导出为PKCS#12 PFX,并且可以按照承诺签署EXE,….

现在……我尝试用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和周围也存在的地方之间没有任何区别.因此,如果所有“CodeSigning”证书在技术上都相同,那么为什么我必须决定是否要成为“Java Developer”或“Windows Developer”或“Software Developer”?

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

(PS:我不会在商业上使用我的软件!)

解决方法

你猜对了没有技术差异.使用适当的工具链,可以使用用于签名Java应用程序的证书来签署Windows可执行文件.

请参阅示例Jsign,一种使用Java密钥库或标准PKCS#12密钥库对Windows可执行文件进行签名的工具.

猜你在找的Java相关文章