如何查询 OpenPGP public 密钥的版本
How to query version of an OpenPGP public key
在阅读 OpenPGP 的 RFC 4880 时,我阅读了 OpenPGP 密钥的第 3 版和第 4 版。除了指定数据包格式外,我不明白这些版本的含义。
如何找到密钥的版本?我知道对于代码我们可以使用 Bounce Castle 的 PGPPublicKey
的 getVersion()
,但是有没有像 keytool
这样的命令我可以使用?
版本3和版本4的OpenPGP密钥包没有太大区别,甚至格式也很相似。在版本 4 中,有效期被移至特殊签名,指纹计算也发生了变化。 OpenPGP, RFC 4880, 5.5.2. Public-Key Packet Formats. For signature packets, the differences are more significant.
中详细描述了更改(和格式)
使用gpg --list-packets
或pgpdump
查找包版本,例如:
$ gpg --export a4ff2279 | gpg --list-packets
:public key packet:
version 4, algo 1, created 1356475387, expires 0
pkey[0]: [8192 bits]
pkey[1]: [17 bits]
keyid: 4E1F799AA4FF2279
[snip]
OpenPGP 版本 3 密钥现在已被弃用很长一段时间,并且很少使用。
在阅读 OpenPGP 的 RFC 4880 时,我阅读了 OpenPGP 密钥的第 3 版和第 4 版。除了指定数据包格式外,我不明白这些版本的含义。
如何找到密钥的版本?我知道对于代码我们可以使用 Bounce Castle 的 PGPPublicKey
的 getVersion()
,但是有没有像 keytool
这样的命令我可以使用?
版本3和版本4的OpenPGP密钥包没有太大区别,甚至格式也很相似。在版本 4 中,有效期被移至特殊签名,指纹计算也发生了变化。 OpenPGP, RFC 4880, 5.5.2. Public-Key Packet Formats. For signature packets, the differences are more significant.
中详细描述了更改(和格式)使用gpg --list-packets
或pgpdump
查找包版本,例如:
$ gpg --export a4ff2279 | gpg --list-packets
:public key packet:
version 4, algo 1, created 1356475387, expires 0
pkey[0]: [8192 bits]
pkey[1]: [17 bits]
keyid: 4E1F799AA4FF2279
[snip]
OpenPGP 版本 3 密钥现在已被弃用很长一段时间,并且很少使用。