Dan*_*all 7 java windows security certificate pki
大多数CA都在销售不同"产品"的代码签名证书,如Verisign或Certum:
Microsoft Authenticode - "允许您签署EXE,OCX,DLL,bla ......"
Java CodeSign - "允许您签署Java代码"
软件发行商证书 - "允许您签署软件"
好吧,我真的对此感到困惑.所有这些产品有什么区别 - 除了价格?自从我很好奇以来,我曾几次询问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 Developer"或"Windows Developer"或"Software Developer"?
也许证书仍有差异?当我使用Authenticode-certs签名时,我可能在JAR中没有足够的权限吗?
(PS:我不会在商业上使用我的软件!)
正如您所猜测的那样,没有技术差异,提供的证书适用于任何代码签名上下文(除了 macOS/iOS,它们使用 Apple 颁发的证书)。CA 只是尝试以适合开发人员环境的格式提供证书。例如,用于 Java 开发人员签名 JAR 文件的 JKS 文件、用于 Authenticode 的 SPC 文件(即 DER 编码的 PKCS#7 证书)或 PKCS#12 文件。
代码签名工具通常接受各种密钥和证书格式:
无论使用哪种格式,这些工具都会为给定文件生成相同的签名(当然签名时间和时间戳除外)。
归档时间: |
|
查看次数: |
1954 次 |
最近记录: |