Ped*_*dro 7 encryption ssl gnupg openpgp public-key-encryption
我正试图理清我对数字签名和加密的使用.我知道有两种主要方法可以做到这一点:PGP方式和SSL方式.
我想知道是否可以为SSL证书和GnuPG使用相同的私钥,前提是这是一个RSA 2048位密钥.
我已经有一个由CA签名的SSL证书,所以我希望将该证书的私钥用作GnuPG主私钥.
我知道我们不能以这种方式在SSL和GnuPG之间进行断言,但我想只有一个私钥(因此只需要保护一个数据)
谢谢
Bru*_*uno 10
你可以做到这一点,但这不一定是好的做法.
首先,当您说"SSL证书"时,您可能意味着"X.509证书".SSL/TLS大多数时候使用X.509证书,但它也可以使用OpenPGP证书(据我所知,只有GnuTLS支持它们).
请注意,我也使用表达式"OpenPGP证书".大多数人称它们为"(开放式)PGP公钥",但它们实际上是证书:它们是公钥,标识符和某些属性的组合,由附加其签名的其他实体签名,以便形成整体证书.严格来说,它不仅仅是一个公钥.
X.509证书和PGP证书之间的主要区别在于X.509只能有一个签名(发行者的签名),而多个签名可以添加到PGP证书上.(PGP模型可用于类似PKI的分层模型,而PKI模型不能用于处理Web信任模型.)
此Java代码演示了如何将一组PGP密钥"转换"为自签名X.509证书.原则上,您还可以将其转换为CSR以从CA获取X.509证书.这样做是否是个好主意是另一回事.
首先,偶尔重新生成新的密钥对通常是个好主意.通常,这是用于SSL的X.509证书具有有效期结束的原因之一(PGP签名也可以在时间上受到限制).
您还可以有效地将所有鸡蛋放在同一个篮子里.如果其中一个密钥被泄露,则X.509和PGP证书都将受到损害.
更重要的是,重复使用相同的密钥进行签名和加密被认为是不好的做法:将它们用于两个不同的应用程序(SSL/TLS和GnuPG)只会使问题变得更糟.
| 归档时间: |
|
| 查看次数: |
6971 次 |
| 最近记录: |