加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 03:08:04 所属栏目:Java 来源:网络整理
导读:大多数CA都在销售不同“产品”的代码签名证书,如Verisign或Certum: Microsoft Authenticode – “允许您签署EXE,OCX,DLL,bla ……” Java CodeSign – “允许您签署Java代码” 软件发行商证书 – “允许您签署软件” 好吧,我真的对此感到困惑.所有这些产品
大多数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可执行文件进行签名的工具.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读