ฉันได้ติดตั้งระบบปฏิบัติการใหม่ (Ubuntu 16.04) และมีไดเรกทอรี. GNupg อันเก่าที่ประกอบด้วย:
gpg-agent.conf
gpg-agent-info-<hostname>
gpg.conf
private-keys-v1.d
pubring.gpg
secring.gpg
S.gpg-agent
trustdb.gpg
ฉันต้องการนำเข้ากุญแจสาธารณะและกุญแจส่วนตัวเก่าของฉันไปยัง gnupg ใหม่ (ฉันไม่ได้คัดลอกไดเรกทอรี. gnupg ไปยังการติดตั้งใหม่เพราะฉันเข้าใจว่า gnupg2 ใหม่มีความแตกต่างในรูปแบบฐานข้อมูลที่เป็นส่วนหนึ่งของตัวเลือกการเข้ารหัส EC ใหม่)
การทำงานต่อไปนี้ใช้สำหรับพับลิกคีย์ แต่ล้มเหลวสำหรับคีย์ลับ:
gpg --export --keyring=~/.gnupg.old/pubring.gpg | gpg --import
gpg --export-secret-keys --keyring=~/.gnupg.old/secring.gpg | gpg --import
หลังตอบด้วย:
gpg: can't open `~/.gnupg/secring.gpg' <== New Secret Keyring
gpg: WARNING: nothing exported
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
สังเกตว่ามันไม่สามารถเปิดวงแหวนลับใหม่ของฉันได้ มันให้ข้อผิดพลาดเดียวกันกับการพยายามที่จะส่งออกไปยังไฟล์:
gpg --export-secret-keys --keyring=~/.gnupg.old/secring.gpg > secret.asc
gpg: can't open `~/.gnupg/secring.gpg' <== New Secret Keyring
gpg: WARNING: nothing exported
เนื่องจากคีย์ลับของฉันมีส่วนส่วนตัวของคีย์หลักที่ถูกถอดออกฉันก็ลองเหมือนกันด้วย--export-secret-subkeys
แต่การตอบกลับก็เหมือนกัน การใส่รหัสคีย์ (ที่อยู่อีเมล) ของฉันหลังจากการส่งออกก็ไม่ทำงานเช่นกัน ในทางกลับกันฉันสามารถเขียนรายการปุ่ม:
gpg --list-keys --keyring=~/.gnupg.old/secring.gpg
gpg: Oops; key lost!
node 0x1e7ee00 01/00 type=secret-key
node 0x1e9cbd0 00/00 type=user-id "Me <Me@home.com>" ....
node 0x1e99dd0 00/00 type=signature class=13 keyid=XXXXXXXX ts=1383637282
node 0x1e9c510 00/00 type=secret-subkey
node 0x1eaa210 00/00 type=signature class=18 keyid=XXXXXXXX ts=1449138073
node 0x1eaf1f0 00/00 type=secret-subkey
node 0x1eaf580 00/00 type=signature class=18 keyid=XXXXXXXX ts=138363647
(ฉันสมมติว่า "คีย์หายไป" หมายถึงคีย์หลักลับที่ถูกปล้น) ใครสามารถบอกวิธีแก้ปัญหานี้ได้บ้าง
ด้วยความช่วยเหลือของ @Jens (ด้านล่าง) งานต่อไปนี้:
gpg --no-default-keyring --secret-keyring=~/.gnupg.old/secring.gpg --export-secret-keys | gpg --import
--no-default-keyring
และ--secret-keyring
ก่อน--list-secret-keys
สร้างผลผลิตที่เป็นที่รู้จัก ดังนั้นให้ฉันดูสิ่งที่ฉันได้ตอนนี้