【发布时间】:2015-12-13 16:54:13
【问题描述】:
所以,我正在寻求一些帮助,主要是了解代码签名和加密的过程,因为我在这两个主题上仍然摇摆不定。
我认为我理解的:
- 首先需要一个 KEY,它是使用某种加密算法 (RSA/SHA1/etc) 生成的
- 使用此密钥,我们创建一个证书签名请求或 CSR(与 X509 相关?),其中包含我们将在证书上的所有信息(名称、位置、电子邮件、域)
- KEY 和 CSR 都被发送到根 CA,然后根 CA 以 .pem 或 .p12 文件的形式(使用 CSR 和密钥生成)颁发证书。
- 关于中间 CA 和更多证书的信息
-
除了中间 CA 之外,还可以使用此证书签署一个文件,这样文件上基本上就有您的姓名,并且收件人可以确信这是您希望他们收到的内容。
对比:
- 与获得证书的过程相同
- 证书内的公钥用于使用 aes 加密文件的内容,因此在安装加密文件之前必须在目标上安装证书。 (这看起来很安全,但不是人们想要的,人们无法阅读或解码但仍然具有功能的密码)
- 我想你不能使文件完全加密是有道理的,因为它需要被解码才能在目标上执行。我不介意了吗?
问题:当我使用证书签署代码时,有效负载是否也会被加密?这与网站的 SSL 安全性有何不同,确保连接的安全性和隐私性?似乎他们都使用相同的技术来完成许多不同的任务。
【问题讨论】:
-
正常的 SSL/TLS 连接不使用签名(除了可选的 MAC),而只使用不同形式的加密。代码签名是仅不加密的签名。 RSA 可用于加密和签名,但其他大多数都不能。
-
@ArtjomB。那么获取 SSL 连接证书的整个过程是如何工作的呢?您颁发了证书,这意味着您可以“受信任”,因此启动了 TLS 连接?
标签: security ssl encryption certificate code-signing