Câu hỏi Làm cách nào để nhập khóa cá nhân vào GPG để nó trở thành khóa mặc định?


Tôi đang cố gắng chia sẻ cặp khóa GnuPG bằng cách nhập nó vào mỗi máy. Đây là cách tôi đang làm nó:

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

Các khóa đã được xuất với -a.

Sau khi thực hiện việc này, khóa công khai được hiển thị chính xác khi tôi thực hiện gpg --list-keys, nhưng khóa riêng không phải là (gpg --list-secret-keys).

Tôi đang làm gì sai?

Nhân tiện: Tôi đang làm điều này với Puppet, vì vậy bất kỳ giải pháp nào không yêu cầu tôi phải nhập nội dung vào (--edit-key và tương tự) sẽ được đánh giá cao.


24
2017-08-13 11:07


gốc


Bạn có thể xây dựng thêm một chút về những gì sai với gpg --list-secret-keys đầu ra? Không có lá cờ cho GPG để đánh dấu một khóa được mặc định. Nó chỉ chọn cái đầu tiên trong danh sách đó là mặc định. Nếu bạn cần thay đổi hành vi đó, tôi có thể cung cấp câu trả lời. - gertvdijk


Các câu trả lời:


Để thay đổi hành vi GnuPG trên khóa nào nó chọn khi ký / mã hóa, hãy sử dụng default-key thông số cấu hình với ID khóa làm giá trị.

Vì vậy, ví dụ, với

$ 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

thêm một dòng vào ~/.gnupg/gpg.conf:

default-key 12345678

hoặc, cách khác, sử dụng ID khóa dài (được khuyến nghị là ID khóa ngắn có thể có xung đột):

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

và thêm một dòng vào ~/.gnupg/gpg.conf:

default-key ABCDEFAB12345678

22
2017-08-20 12:24