我们有一个代码签名证书,从GlobalSign购买,用于Authenticode签名(他们称之为Authenticode签名)。现在我们需要签署Java applet,很快Adobe AIR模块(applet?)。问题是:从技术角度看,如果由同一个CA (例如Comodo或GlobalSign)颁发,则用于认证的证书和用于Java的证书或用于AIR的证书之间有什么区别吗?如果不同的证书是可替换的,我看不到购买不同证书的意义。
我理解证书的密钥用法字段必须相同(代码签名),但这些证书中的扩展代码用法或策略或其他扩展可能不同。如果有人拥有由一个CA颁发的两种或两种以上类型的代码签名证书,我将不胜感激。
发布于 2011-08-03 14:41:33
似乎任何代码签名证书都适用于所提到的任何平台。我向GlobalSign支持部门询问了其中的不同之处--他们没有回应,但不久之后,他们改变了他们的网页,现在你将为所有平台购买一个代码签名证书。
发布于 2010-11-13 01:21:28
在http://www.adobe.com/devnet/air/articles/signing_air_applications.html上有一个明确的声明:
“开发人员可以使用任何CA提供的任何3类高保证证书对Adobe AIR应用程序进行签名。”
不幸的是,我找不到适用于Java的类似工具。但是,不管各种平台的最低证书要求如何,您最好的办法可能是联系现有的证书提供商,询问他们为这些平台提供的证书之间是否有任何有意义的差异。
Verisign网站上的一些废话表明,证书交付给购买者的格式是他们提供的产品之间唯一的真正区别,但他们实际上并没有直接说明这一点,所以谁知道呢?
发布于 2010-11-06 02:32:49
根据我从RFC5280收集到的信息,密钥使用扩展只能决定证书是否可用于代码签名。在RFC中似乎没有任何东西可以约束您是签署Java代码还是AIR或其他任何东西。这似乎意味着,如果您可以对一段代码(或任何其他类型的非关键数据)进行签名,则可以对任何代码进行签名。
也就是说,您的证书中可能存在特定于CA的扩展。如果不看证书,就很难判断是否存在限制。
从技术角度来看,只要客户端(即浏览器,如果我们讨论的是applet)能够识别CA,并且对密钥用法和证书类型(DIGITAL_SIGNATURE和OBJECT_SIGNING)的组合感到满意,那么您就应该没问题。
https://stackoverflow.com/questions/4078199
复制相似问题