使用数字签名进行身份验证

时间:2013-12-05 18:05:51

标签: security authentication cryptography digital-certificate

我知道一些身份验证理论,但想知道它是如何真正付诸实践的。

必须定期分发这些软件补丁。为了确保只有真实内容到达我们的用户,我们建议在分发之前签署我们的内容。

计划是生成公钥​​ - 私钥对。补丁首先由我们的私钥签名,收件人然后使用我们的公钥验证下载的补丁。我们签名的想法是生成补丁的哈希并使用我们的私钥加密哈希。加密的哈希(签名)将在分发之前与补丁捆绑在一起。

我们进一步建议,从CA获取公钥的数字证书并将其发布在我们的场所的证书服务器上是一种很好的做法。我们被告知CA将使用其私钥创建此证书。我们的用户需要从我们的服务器下载公钥证书,并使用CA的公钥对其进行身份验证。因此,我们的用户可以确信他们拥有我们正确的公钥来验证补丁的真实性。

最后问题是:

  1. 如何/下载CA的确切公钥以验证从我们的服务器下载的公钥证书?

  2. 这些证书的格式是什么?这些是纯文本文件还是XML还是??

1 个答案:

答案 0 :(得分:0)

按顺序回答您的问题:

  1. 使用浏览器和SSL。在这种情况下,您依赖于浏览器中已有的证书库。同时发布您自己证书的指纹可能是个好主意。请注意,您还要在软件中分发证书或证书链。如果软件下载是可信的,那么您甚至可能不需要外部证书颁发机构。但在这种情况下,您可以非常安全地保护CA的私钥。

  2. 使用ASN.1 DER编码创建X5.09证书。 DER是二进制编码(文本ASN.1定义指定内容)。证书通常也以PEM格式分发。这是二进制证书的base 64编码,带有额外的页眉和页脚。