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

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

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

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

  • 软件出版商证书 - “允许您签署软件”

  • 那么,我真的很困惑这一点。 所有这些产品之间有什么区别 - 除了PRICE? 自从我好奇之后,我问Verisign和其他CA几次,但没有回答。

    我从Certum CA获得Authenticode证书。 我将它注册到Internet Explorer中,将其作为PKCS#12 PFX导出,并可以按照承诺签署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之间没有任何区别,并且在那里还存在着什么。 因此,如果所有“CodeSigning”证书在技术上都是相同的,为什么我必须决定是否想成为“Java开发人员”或“Windows开发人员”或“软件开发人员”?

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

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


    你猜测没有技术上的差异。 通过适当的工具链,可以使用签名Java应用程序的证书来签署Windows可执行文件。

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


    我写了一篇关于转换Java证书并将其用于Authenticode的短文。 你可以在这里找到它:http://blog.botha.us/sarel/?p=21

    我们多年来一直这样做,没有任何消极后果。

    链接地址: http://www.djcxy.com/p/2823.html

    上一篇: Difference between Authenticode, SPC and Java CodeSign?

    下一篇: ORM mapper for windows 7 phone