我最近使用 Thunderbird 建立了一個新的 OpenGPG 金鑰,並將其匯出以與 gpg 一起使用。但是,我無法解密 Thunderbird 以外的任何內容,因為我的子金鑰(用於加密)似乎受到與主金鑰不同的密碼保護。
當我嘗試更改密鑰的密碼時,系統會要求我提供第一個密鑰的當前密碼(FF120B...),然後輸入新的密碼,沒有任何異常。但後來我又被要求提供我的子金鑰(ABC1AA ...)的密碼,我不知道。
我讀過了這裡,不可能為子項設定單獨的密碼,那麼這個問題的原因可能是什麼?
>gpg --expert --edit-key 3A069C...
gpg (GnuPG) 2.2.25; Copyright (C) 2020 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Secret key is available.
sec ed25519/FF120B...
created: 2020-11-25 expires: 2024-11-24 usage: SC
trust: ultimate validity: ultimate
ssb cv25519/ABC1AA...
created: 2020-11-25 expires: 2024-11-24 usage: E
[ultimate] (1). Name <email>
gpg>
答案1
這是一個有點已知錯誤並有一個使固定在 Thunderbird 使用的 rnp 函式庫尚未發布的 v0.16.0 版本中。
我設法通過導入密鑰
- 根據自己建構rnphttps://github.com/rnpgp/rnp/blob/master/docs/installation.adoc
- 用於
rnpkeys --import <input-file.asc>
匯入損壞的匯出檔案並顯示密鑰雜湊值。 - 用於
rnpkeys --edit-key --check-cv25519-bits <hash-of-broken-subkey>
確認不正確的密鑰。 - 用於
rnpkeys --edit-key --fix-cv25519-bits <hash-of-broken-subkey>
修復不正確的密鑰。 - 用於
rnpkeys --export-key --secret --output <output-file.asc> <hash-of-primary-key>
導出我現在可以毫無問題地使用的工作金鑰。