SSL证书与签名证书相同吗?

25

代码签名证书和SSL证书是相同的吗?

2个回答

22

代码签名证书基本上与 SSL 证书相同。两者都用于签署一些数据以证明该数据(软件包或网页内容)来自证书的“主题”。我能想到两个主要区别:

  1. 它们在证书中具有不同的“增强密钥使用” OID。代码签名证书仅可用于签署代码。没有任何东西可以阻止您使用错误的证书进行签名,但客户端(例如 Web 浏览器)将检查证书中列出的所有“增强键使用”并拒绝签名,如果证书不包含适当的 OID(例如“代码签名”)。这意味着一个证书可能同时拥有“代码签名”和“服务器身份验证”OID,以便可用于两种情况。但出于安全原因,没有人应该这样做。

  2. SSL 证书在过期后会失效。但代码签名证书会获得一些特殊处理。例如,如果您在10年前购买了某个软件,用于签名的代码签名证书可能在今天过期。但结合时间戳服务,仍然可以证明软件包是在10年前正确签名的。


-7

不。当然,SO不会让我只回答“不”,所以我们必须解释一下。

基本上,代码签名证书为您提供了一个私钥,该私钥可以与由已知机构认证的公钥进行验证。您使用该密钥进行数字签名,另一端可以验证您在签名时拥有来自可信源的证书。

SSL证书只是一个经过签名的“文档”,可以验证其来自可信源。您无法使用它进行加密或签名,因为它没有任何仅属于您的密钥材料;它只是一个经过签名的文档,说明“我证明我相信这个人说他是谁。”


8
抱歉,您在这里完全错误。 SSL证书始终有一个私钥。 当在Web服务器上使用时,私钥在服务器上,并由Web服务器软件(如Apache,IIS等)用于加密连接。 - jcoffland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接