是否可以从pgp公钥/私钥创建一个ssl证书?

Sam*_*oto 7 ssl openssl gnupg pgp

我有一个朋友信任的pgp公共/私人(RSA)密钥对.我有一个运行的网络服务器,我想生成一个ssl证书,其公钥与我的pgp公钥匹配.

这有任何意义吗 ?那可能吗 ?这样安全吗?

Bru*_*uno 7

如果您的PGP密钥中的密钥格式也支持X.509格式,则可以.RSA就是其中之一.

这是一个Java实现,它使用BouncyCastle将PGP证书转换为自签名X.509证书(您需要在加载之前加载BouncyCastle安全提供程序).

请注意,大多数人称之为PGP公钥的事实上是PGP证书.公钥本身是包含在这些证书中的RSA密钥(或其他格式).因此,可以获取关键材料并在另一个中使用它.但是,通过这样做,您将丢失使PGP证书成为证书的信息:密钥与身份的绑定以及其他人添加的签名(遵循PGP模型).

您可能会将PGP证书的额外信息放入X.509证书中您自己的扩展中.

这样做是否有意义可能取决于你想要达到的目标.重复使用相同的密钥材料或多或少意味着"你"(PGP证书背后的ID)和你的网络服务器变得一致,因为如果一个私钥被泄露,另一个私有密钥也是如此(例如,Apache Httpd,要求私钥在存储在服务器上时不受密码保护,尽管通常只能由root用户访问.此外,这可能对访问该网站的访问者没有多大帮助,除非他们想要在"未知证书"警告框中挖掘以检查与您的公钥匹配(他们可能知道).