Authenticode,SPC和Java CodeSign之间的区别?
大多数CA都在销售不同“产品”的代码签名证书,如Verisign或Certum:
> Microsoft Authenticode – “允许您签署EXE,OCX,DLL,bla ……” 好吧,我真的对此感到困惑.所有这些产品有什么区别 – 除了价格?自从我很好奇以来,我曾几次询问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可执行文件进行签名的工具. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |