1

下面的链接有一个很好的问题和答案:

如何为 Windows 上的代码签名创建自签名证书?

我对列出的两个过程((a)创建自签名证书颁发机构和(b)创建代码签名(SPC)证书)有点困惑。我们是先做 a 然后再做 b 还是非此即彼?

创建自签名证书颁发机构 (CA)

makecert -r -pe -n "CN=My CA" -ss CA -sr CurrentUser -a sha256 -cy authority -sky signature -sv MyCA.pvk MyCA.cer

创建代码签名 (SPC) 证书

makecert -pe -n "CN=My SPC" -a sha256 -cy end -sky 签名 -ic MyCA.cer -iv MyCA.pvk -sv MySPC.pvk MySPC.cer

4

2 回答 2

1

重要免责声明:这当然假设这些证书仅供内部使用;如果您想要一个受客户信任的代码签名证书,您将跳过步骤 (a) 并支付一个实际的 CA(其证书已被您的客户信任)为您签署您的代码签名证书。

您首先创建一个(自签名)CA 证书 (a),然后使用它来签署您的代码签名证书 (b)。

可以跳过步骤 (a) 而只创建一个自签名的代码签名证书,但是创建自己的 CA 证书有很多好处:

  • 这更接近地反映了您可能在“野外”遇到的设置,其中代码签名证书(或几乎任何其他类型)将由单独的、受信任的颁发证书签名。
  • 如果您要生成多个证书并使用 CA 证书对其进行签名,则只需将一个证书 (CA) 安装为“受信任的根”,并且可以更好地控制对它的访问。这限制了在您的证书必须被吊销的情况下,您需要进行的滥用范围和损害控制。
于 2013-02-14T12:44:40.667 回答
0

你为什么不试试呢?或阅读文档

第一个命令生成证书颁发机构,另一个证书链接到该证书颁发机构。这就是所谓的信任链,因此,如果您信任 CA 证书,那么您就信任由此构建的所有证书。

第二个命令确实会根据 CA 证书生成证书。

于 2013-02-14T12:46:08.657 回答