เข้ารหัสและเซ็นชื่อด้วยรหัสลับเฉพาะ


20

ฉันมีคีย์สมาร์ทการ์ด OpenPGP (YubiKey NEO) รวมถึงคีย์ลับเฉพาะที่ติดตั้งในพวงกุญแจ GnuPG ของฉัน

ฉันต้องการเข้ารหัสและเซ็นชื่อไฟล์ด้วยกุญแจของการ์ดไม่ใช่กุญแจในพวงกุญแจของฉัน ฉันจะระบุคีย์ที่ฉันต้องการลงชื่อด้วยได้อย่างไร?

หากรหัสลับของระบบไฟล์ของฉันคือDEADBEEFและรหัสสมาร์ทการ์ดของฉันคือDEADBEE5ฉันจะเซ็นชื่อด้วยคีย์นั้นได้อย่างไร

คำตอบ:


11

คุณควรระบุ--default-key:

gpg -s --default-key DEADBEE5 input > output

และตรวจสอบภายหลังด้วย

gpg -d < output | head -1

จากgpg manหน้า ( --signส่วน):

คีย์ที่จะใช้สำหรับการเซ็นชื่อจะถูกเลือกตามค่าเริ่มต้นหรือสามารถตั้งค่าได้ด้วยตัวเลือก --local-user และ --default-key


gpg: conflicting commandsเมื่อฉันพยายามเข้ารหัสและลงนาม
— Naftuli Kay

@NaftuliTzviKay ขออภัย --sign-key สำหรับการเซ็นชื่อคีย์อื่นด้วยคีย์เฉพาะ ฉันอัปเดตคำตอบ (และทดสอบก่อนเวลานี้)
— Anthon

--default-*ทำให้รู้สึกเล็กน้อยในบรรทัดคำสั่ง ตัวเลือกเหล่านี้ใช้สำหรับไฟล์ปรับแต่ง
— Hauke ​​Laging

1
ความแตกต่างระหว่าง--local-userและ--default-keyคือว่า--local-userจะให้ข้อผิดพลาดหากคุณระบุคีย์ที่ไม่มีอยู่ ด้วย--default-keyมันจะไม่สนใจคีย์ที่ไม่มีอยู่และใช้คีย์แรกในพวงกุญแจ
— wisbucky

15

คีย์การเซ็นชื่อถูกเลือกด้วย-u/ --local-user:

gpg --local-user 0xDEADBEE5 --sign file

ตัวเลือกนี้สามารถให้ได้หลายครั้งเพื่อรวมลายเซ็นของหลายคีย์:

gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file

ตามหน้า man การใช้--local-userเหมือนกับการใช้--default-userในคำตอบของฉัน
— Anthon

1
@ อันธพาลมันนำไปสู่ผลลัพธ์เดียวกัน ไม่ได้หมายความว่า--default-*ควรจะแนะนำสำหรับการใช้งานนี้ ฉันอยู่ในรายชื่อผู้รับจดหมาย GnuPG มาหลายปีแล้ว ฉันไม่เคยเห็นอะไรแบบนั้นมาก่อน
— Hauke ​​Laging

ดีใช่ดูเหมือนว่าปัญหาขึ้นมาครั้งเดียวใน GnuPG ผู้ใช้และที่คุณที่หนึ่งที่ให้คำตอบกับคุณอ่านหน้าคน ;-) สำหรับฉันการระบุตัวเลือกด้วย-keyชื่อจะให้ความรู้สึกที่เหมาะสมมากกว่าเมื่อฉันต้องการใช้คีย์เฉพาะกว่าการระบุบางอย่างด้วย-userYMMV
— Anthon

4
ฉันคิดว่า @Athon มีความหมาย--default-keyในความคิดเห็นของเขาด้านบน การทำงานกับสิ่งนั้นความแตกต่างอย่างหนึ่งระหว่าง--local-userและ--default-keyในประสบการณ์ของฉันก็คือความล้มเหลวครั้งแรกถ้าไม่มีคีย์การจับคู่ในขณะที่สองจะกลับไปที่คีย์อื่น ๆ สำหรับเหตุผลที่ฉันต้องระวังมากของการวาง--default-keyในสคริปต์
— Jack O'Connor

ฉันทดสอบและยืนยันความคิดเห็นของ @ JackO'Connor ด้วย gpg 2.2.4 คนที่--default-keyพูดว่าIf there is no secret key available for any of the specified values, GnuPG will not emit an error message but continue as if this option wasn't given.
— wisbucky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.