大多数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:我不会在商业上使用我的软件!)