ฉันจะนำเข้าคีย์ส่วนตัวใน GPG เพื่อให้เป็นคีย์เริ่มต้นได้อย่างไร


26

ฉันพยายามแชร์คู่คีย์ GnuPG โดยนำเข้าในแต่ละเครื่อง นี่คือวิธีที่ฉันทำ:

gpg --allow-secret-key-import --import secret.gpg.key
gpg --import public.gpg.key

-aคีย์ได้ถูกส่งออกด้วย

หลังจากทำสิ่งนี้กุญแจสาธารณะจะแสดงอย่างถูกต้องเมื่อฉันทำgpg --list-keysแต่คีย์ส่วนตัวไม่ได้ ( gpg --list-secret-keys)

ผมทำอะไรผิดหรือเปล่า?

โดยวิธีการ: ฉันกำลังทำเรื่องนี้กับ Puppet ดังนั้นคำตอบใด ๆ ที่ไม่ต้องการให้ฉันพิมพ์เนื้อหาใน ( --edit-keyและสิ่งที่คล้ายกัน) จะได้รับการชื่นชม


คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับสิ่งที่ผิดปกติไปอีกเล็กน้อยได้gpg --list-secret-keysไหม? ไม่มีการตั้งค่าสถานะสำหรับ GPG เพื่อทำเครื่องหมายคีย์ให้เป็นค่าเริ่มต้น เพียงแค่เลือกอันแรกในรายการนั้นให้เป็นค่าเริ่มต้น หากคุณต้องการเปลี่ยนพฤติกรรมนั้นฉันสามารถให้คำตอบได้
gertvdijk

คำตอบ:


24

ในการเปลี่ยนพฤติกรรม GnuPG กับคีย์ที่เลือกในการเซ็นชื่อ / การเข้ารหัสให้ใช้default-keyพารามิเตอร์การกำหนดค่าที่มีรหัสคีย์เป็นค่า

ตัวอย่างเช่นด้วย

$ gpg --list-secret-keys 
/home/gert/.gnupg/secring.gpg
-----------------------------
sec   4096R/13371337 2011-01-01 [expires: 2014-01-01]
uid                  Gert van Dijk (1st key) <name@example.tld>
ssb   4096R/31337313 2011-01-01

sec   4096R/12345678 2013-04-23 [expires: 2014-01-01]
uid                  Gert van Dijk (2nd key) <name@example.tld>
ssb   4096R/87654321 2013-04-23

เพิ่มบรรทัดใน~/.gnupg/gpg.conf:

default-key 12345678

หรือมิฉะนั้นให้ใช้รหัสคีย์แบบยาว (แนะนำให้ใช้เพราะรหัสคีย์แบบสั้นอาจมีการชนกันได้):

$ gpg --list-secret-keys --with-colon
sec::4096:1:ABCDEFAB12345678:2013-01-01:2014-01-01:::Gert van Dijk (2nd key) <user@example.tld>:::

และเพิ่มบรรทัดใน~/.gnupg/gpg.conf:

default-key ABCDEFAB12345678

1
โดยค่าเริ่มต้นรายการแรกของรายการgpg --list-secret-keysจะถูกใช้เป็นรหัสเริ่มต้น - ถูกต้องหรือไม่
Ini
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.