Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption GnuPG/PGP和SSL:共享相同的私钥?_Encryption_Ssl_Public Key Encryption_Gnupg_Openpgp - Fatal编程技术网

Encryption GnuPG/PGP和SSL:共享相同的私钥?

Encryption GnuPG/PGP和SSL:共享相同的私钥?,encryption,ssl,public-key-encryption,gnupg,openpgp,Encryption,Ssl,Public Key Encryption,Gnupg,Openpgp,我正在尝试整理我对数字签名和加密的使用。我知道有两种主要方法可以做到这一点:PGP方法和SSL方法 我想知道的是,如果这是一个RSA 2048位密钥,是否可以对SSL证书和GnuPG使用相同的私钥 我已经有一个由CA签署的SSL证书,所以我希望使用该证书的私钥作为GnuPG主私钥 我知道我们不能以这种方式在SSL和GnuPG之间进行断言,但我希望只有一个私钥(因此只需要保护一段数据) 谢谢您可以这样做,但这不一定是好的做法 首先,当您说“SSL证书”时,您可能指的是“X.509证书”。SSL/T

我正在尝试整理我对数字签名和加密的使用。我知道有两种主要方法可以做到这一点:PGP方法和SSL方法

我想知道的是,如果这是一个RSA 2048位密钥,是否可以对SSL证书和GnuPG使用相同的私钥

我已经有一个由CA签署的SSL证书,所以我希望使用该证书的私钥作为GnuPG主私钥

我知道我们不能以这种方式在SSL和GnuPG之间进行断言,但我希望只有一个私钥(因此只需要保护一段数据)


谢谢

您可以这样做,但这不一定是好的做法

首先,当您说“SSL证书”时,您可能指的是“X.509证书”。SSL/TLS大部分时间使用X.509证书,但它也可以使用(据我所知,只有GNUTL支持它们)

注意,我还使用了表达式“OpenPGP证书”。大多数人称之为“(开放式)PGP公钥”,但实际上它们是证书:它们是公钥、标识符和某些属性的组合,由附加签名的其他实体签名,从而形成整体证书。严格地说,它不仅仅是一个公钥

X.509证书和PGP证书之间的主要区别在于,X.509只能有一个签名(颁发者的签名),而PGP证书上可以添加多个签名。(PGP模型可用于类似PKI的分层模型,而PKI模型不能用于处理信任网模型。)

演示如何将一组PGP密钥“转换”为自签名的X.509证书。原则上,您也可以将其转换为CSR,以从CA获得X.509证书。这样做是否好是另一回事

首先,偶尔重新生成新的密钥对通常是个好主意。通常,这是用于SSL的X.509证书具有有效期结束日期的原因之一(PGP签名也可以在时间上受到限制)

你还可以有效地把所有鸡蛋放在同一个篮子里。如果其中一个密钥被泄露,您的X.509和PGP证书都将被泄露


更重要的是,将它们用于两个不同的应用程序(SSL/TLS和GnuPG)只会使问题变得更糟。

证书不是“SSL证书”,与SSL无关(尽管它们可以在SSL中使用,也可以在OpenPGP密钥中使用)。正如“只有一个私钥进行保护”的想法听起来很好一样,你真的把“你的一个鸡蛋放在许多篮子里”可以这么说(反冗余):如果你的web服务器被黑客攻击,现在你神圣的PGP密钥被破坏了!如果你的笔记本电脑被盗/被破解,你现在就有了一把钥匙,可以随时用来密探你的网站!最好是职责分离。谢谢,现在有意义了。是的,我不是真正的安全专家,所以我还不熟悉所有术语(SSL、PGP、密钥、X.509)。请注意:我们的SecureBackbox还支持SSL/TLS中的OpenPGP密钥。我也在尝试这种方法,似乎无法验证自签名的X.509证书是否链接(签名人)到特定的OpenPGP密钥。我该怎么做?问题是:为了便于参考,我最后的评论在这里得到了回答: