如何从 GPG 密钥环导出数字 RSA 密钥 (d)
How to export the numeric RSA secret key (d) from a GPG keyring
我正在使用 GPG2 和这个命令来导出我的 GPG 密钥环:
$ gpg --export-secret-key | gpg --list-packets -vvv --debug 0xffff
这会打印(除其他外)RSA 密钥:
:secret sub key packet:
version 4, algo 1, created 1576011813, expires 0
pkey[0]: ABD2...
pkey[1]: 010001
iter+salt S2K, algo: 7, SHA1 protection, hash: 2, salt: D476FD990128BDB1
protect count: 3014656 (183)
protect IV: 0c 7c 1a d8 ec e3 f0 d4 ac ba bf 46 2a 15 e4 cd
skey[2]: [v4 protected]
keyid: E8F5DC1127CAB70F
的输出
$ gpg --export-secret-key | pgpdump -i -l -m -p
是:
Old: Secret Subkey Packet(tag 7)(966 bytes)
Ver 4 - new
Public key creation time - Tue Dec 10 22:03:33 CET 2019
Pub alg - RSA Encrypt or Sign(pub 1)
RSA n(2048 bits) - ab d2 ...
Sym alg - AES with 128-bit key(sym 7)
Iterated and salted string-to-key(s2k 3):
Hash alg - SHA1(hash 2)
Salt - c2 a0 1f 8f 94 52 f0 a3
Count - 3014656(coded count 183)
IV - 4c 28 ae 9d d6 77 68 f4 67 ce b3 17 4b cf 20 f6
Encrypted RSA d
Encrypted RSA p
Encrypted RSA q
Encrypted RSA u
Encrypted SHA1 hash
看起来pkey[0]
是n,pkey[1]
是e(0x010001 == 65537), skey[2]
是 d。如何打印 d 的未加密数字(十六进制)值? (我知道密钥密码。)
请注意,我想获得未加密的实际 d 值,并且我对在另一台计算机上导入密钥不感兴趣 运行 GPG。
如 https://superuser.com/a/1012873 所示,使用 gpg --edit-key ...
(passwd
, Enter, old passphrase, 输入、输入、输入、save
、输入) ,问题中的两个命令都打印 d、p、q 和 u.
然后我可以用gpg --edit-key ...
再次添加密码。
我正在使用 GPG2 和这个命令来导出我的 GPG 密钥环:
$ gpg --export-secret-key | gpg --list-packets -vvv --debug 0xffff
这会打印(除其他外)RSA 密钥:
:secret sub key packet:
version 4, algo 1, created 1576011813, expires 0
pkey[0]: ABD2...
pkey[1]: 010001
iter+salt S2K, algo: 7, SHA1 protection, hash: 2, salt: D476FD990128BDB1
protect count: 3014656 (183)
protect IV: 0c 7c 1a d8 ec e3 f0 d4 ac ba bf 46 2a 15 e4 cd
skey[2]: [v4 protected]
keyid: E8F5DC1127CAB70F
的输出
$ gpg --export-secret-key | pgpdump -i -l -m -p
是:
Old: Secret Subkey Packet(tag 7)(966 bytes)
Ver 4 - new
Public key creation time - Tue Dec 10 22:03:33 CET 2019
Pub alg - RSA Encrypt or Sign(pub 1)
RSA n(2048 bits) - ab d2 ...
Sym alg - AES with 128-bit key(sym 7)
Iterated and salted string-to-key(s2k 3):
Hash alg - SHA1(hash 2)
Salt - c2 a0 1f 8f 94 52 f0 a3
Count - 3014656(coded count 183)
IV - 4c 28 ae 9d d6 77 68 f4 67 ce b3 17 4b cf 20 f6
Encrypted RSA d
Encrypted RSA p
Encrypted RSA q
Encrypted RSA u
Encrypted SHA1 hash
看起来pkey[0]
是n,pkey[1]
是e(0x010001 == 65537), skey[2]
是 d。如何打印 d 的未加密数字(十六进制)值? (我知道密钥密码。)
请注意,我想获得未加密的实际 d 值,并且我对在另一台计算机上导入密钥不感兴趣 运行 GPG。
如 https://superuser.com/a/1012873 所示,使用 gpg --edit-key ...
(passwd
, Enter, old passphrase, 输入、输入、输入、save
、输入) ,问题中的两个命令都打印 d、p、q 和 u.
然后我可以用gpg --edit-key ...
再次添加密码。