Tôi đã cài đặt lại hệ điều hành của mình (Ubuntu 16.04) và có một thư mục .gnupg cũ có chứa:
gpg-agent.conf
gpg-agent-info-<hostname>
gpg.conf
private-keys-v1.d
pubring.gpg
secring.gpg
S.gpg-agent
trustdb.gpg
Tôi muốn nhập khóa công khai & khóa riêng của mình vào gnupg mới. (Tôi không đơn giản sao chép thư mục .gnupg vào bản cài đặt mới, vì tôi hiểu rằng gnupg2 mới có một số khác biệt về định dạng cơ sở dữ liệu là một phần của các tùy chọn mã hóa EC mới.)
Sau đây làm việc cho các khóa công khai nhưng không thành công cho các khóa bí mật:
gpg --export --keyring=~/.gnupg.old/pubring.gpg | gpg --import
gpg --export-secret-keys --keyring=~/.gnupg.old/secring.gpg | gpg --import
Sau này trả lời với:
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
Lưu ý rằng nó không mở được vòng bí mật mới của tôi . Nó đưa ra cùng một lỗi khi cố gắng xuất thành tệp:
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
Vì khóa bí mật của tôi có phần riêng của khóa chính bị tước, tôi cũng đã thử tương tự --export-secret-subkeys
, nhưng, phản hồi là như nhau. Đặt ID khóa của tôi (địa chỉ email) sau khi xuất cũng không hoạt động. Mặt khác, tôi có thể liệt kê các phím:
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
(Tôi đang giả sử "Khóa bị mất" đề cập đến khóa chính bí mật bị tước.) Có ai có thể hướng dẫn tôi cách giải quyết vấn đề này không?
Với sự giúp đỡ của @Jens (bên dưới), các công việc sau:
gpg --no-default-keyring --secret-keyring=~/.gnupg.old/secring.gpg --export-secret-keys | gpg --import
--no-default-keyring
và--secret-keyring
trước khi--list-secret-keys
tạo ra một đầu ra dễ nhận biết. Vì vậy, hãy để tôi xem những gì tôi có bây giờ.