我假设这是可能的,因为两者都使用RSA进行加密。我应该能够读取X.509并将其存储为一个新的OpenPGP密钥。
我的软件的合作者需要OpenPGP。另一个协作者提供X.509。
我在找一种转换钥匙的方法。这有可能吗,一个人会怎么做?
发布于 2017-05-30 19:49:06
简短的版本:你可以在某种程度上,但很少有很好的用途这样做。
您可以提取构成密钥的数字,并从理论上将它们组合成一个新的X.509和/或OpenPGP密钥,但这些密钥在各自的系统中仍然是不兼容的,不同的密钥。实际上,monkeysphere项目提供了两个方向的工具(openpgp2pem和pem2openpgp,但请确保在退出和转换键之前阅读文章的其余部分)。
X.509和OpenPGP都不仅仅是密钥的文件格式:它们为密钥管理和认证、元数据、标识符、.另外,这两种系统使用的加密操作模式略有不同,对于加密和签名的消息具有非常不同(因而不兼容)的格式。在如何处理证书方面,他们甚至有很大的差异( X.509的层次结构与OpenPGP的任意图)。
换句话说:您对共享相同OpenPGP素数的OpenPGP密钥的X.509“表示”所做的任何操作都不能与OpenPGP变量一起使用,相反的情况则是如此。在一个系统中颁发的证书在另一个系统中不起作用(并且不能转换!)
由于这两个键“表示”无论如何都是不兼容的,必须单独管理,所以我强烈建议从一开始就创建不同的键集。毕竟,这增加了另一层安全,以防其中一个密钥被破坏,因为另一个密钥没有损坏。除了执行不寻常的操作外,跟踪问题总是容易出错和可疑。
可能有很好的用例,例如monkeysphere项目需要那些转换来通过OpenPGP密钥验证SSH连接。但是,出于上述原因,我不认为签名和加密消息和文件的一般用法是一个很好的用例。
https://stackoverflow.com/questions/44265262
复制相似问题