【发布时间】:2017-01-28 23:34:05
【问题描述】:
我试图了解下载档案时验证信任背后的关键高级细节。
这是我对如何完成的理解:
在软件开发者方面:
从威瑞信等公共 CA 获取证书
生成存档的哈希,然后使用证书中的私钥加密此字符串,这就是“签名”
托管存档以供下载,以及一个单独的文件,其中包含证书中的公钥 + 步骤 2 中生成的签名。
在(用户)客户端:
下载解压压缩包,下载签名+公钥文件
使用下载的公钥解密下载的签名,保存这个值
遍历操作系统中嵌入的公共根证书。对于每个根证书,解密签名值并将结果与步骤 5 中的结果进行比较。
-
一旦在 6 中找到匹配项,您已验证作者的私钥来自您在步骤 6 中找到匹配的 CA 的信任链。
- 这一切都假设软件开发人员使用了我们在客户操作系统中嵌入根证书的 CA。
问题:
- 上述方法是否合理,还是我忽略了关键细节?
- 给定一个您控制的空白客户端,如果我想将公钥 + 签名 + 存档组合成一个文件,我可以让客户端理解和解析,是否有任何广泛支持的格式可用于组织这些数据?
【问题讨论】:
标签: security certificate x509 truststore