2010-09-07 61 views
7

大多数CA都卖不同的 “产品” 代码签名证书,如Verisign或Certum:Authenticode,SPC和Java CodeSign之间的区别?

  • Microsoft验证 - “让你签EXE,OCX,DLL,喇嘛......”

  • Java的协同设计 - “让你签名Java代码”

  • 软件发行者证书 - “您注册软件”

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

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

现在...我试图用keytool将这个PFX导入Java,然后我尝试签名JAR。它的工作!

然后有神秘的“Software Publisher certificate”作为产品。我不知道我能/应该用什么签名... 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:我没有商业使用我的软件)

+0

你知道,密切关注证书(我们开发和销售PKI库),我有同样的问题,没有回应。这似乎是市场营销BS,因为您正确注意到,密钥用法是相同的,从技术角度来看,证书是相同的。也许他们试图欺骗一些用户购买多个不同的证书,或者直接以适用的格式(PKCS#7/PKCS#8,JKS,PKCS#12)发布它们。 – 2010-09-07 06:28:25

+0

感谢您的评论。那么你觉得呢?如果CA发现我也签署了JAR软件,可能会吊销我的证书吗?由于有这些“产品”,我很不确定它是否符合他们的法律条款。 – 2010-09-07 20:55:22

+0

对不起,以前没有回答 - 你的问题没有被发现。我现在正在调查这个问题,对于GlobalSign CA,他们的文档中没有明确禁止使用Adobe AIR的Authenticode证书。但它可能会发生,他们认为它违反了订户协议(虽然在那里没有这样的限制)。所以我现在自己有这个问题(试图决定是否需要购买另一种签名类型的证书)并且没有解决方案。 – 2010-11-03 15:36:29

回答

2

不存在技术差异,你猜到了。通过适当的工具链,可以使用签名Java应用程序的证书来签署Windows可执行文件。

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

1

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

我们一直在做这个多年没有任何消极后果。