Pokouším se zkopírovat klíč gpg z jednoho stroje do druhého.
Já:
gpg --export ${ID} > public.key gpg --export-secret-key ${ID} > private.key
Přesunout soubory na nový stroj a poté:
gpg --import public.key gpg: nyckel [ID]: public key [Name, e-mail] was imported gpg: Total number of treated keys: 1 gpg: imported: 1 (RSA: 1) gpg --allow-secret-key-import private.key sec [?]/[ID] [Creation date] [Name, e-mail] ssb [?]/[SUB-ID] [Creation date]
Vše mi přijde dobře, ale pak:
$ gpg -d [file].gpg gpg: encrypted with 4096-bit RSA-key, id [SUB-ID], created [Creation date] [Name, e-mail] gpg: decryption failed: secret key not accessible
Chybová zpráva tedy říká, že soubor byl zašifrován pomocí [SUB-ID], což podle importu tajného klíče znamená, že byl importován. ( [SUB-ID] v obou zprávách je stejné).
Takže jasně dělám něco špatně, ale nevím co.
Odpovědět
Chcete-li importovat soukromý klíč, musíte do příkazového řádku přidat --import
. --allow-secret-key-import
příznak. Podle manuálové stránky:„ Toto je zastaralá volba a nikde se nepoužívá. “
gpg --import private.key
Komentáře
Nemám pocit, že trustdb rozumím dost dobře na to, abych o tom ve své odpovědi mluvil. Jsem ' rád, že jste to dokázali vyřešit pomocí neurčitých rad, které jsem uvedl ve svém komentáři.
Změnili jsme název původní otázky, aby přesněji odpovídala odpovědi. Tímto způsobem mohu položit samostatnou otázku trustdb. Děkuji za pomoc. 🙂
Odpověď
Výše je uvedena pouze částečná odpověď. Úplná odpověď je:
gpg --import private.key
-
Vzhledem k KEYID (např.
FA0339620046E260
) z výstupu :gpg --edit-key {KEY} trust quit # enter 5<RETURN> (I trust ultimately) # enter y<RETURN> (Really set this key to ultimate trust - Yes)
-
NEBO použijte níže uvedený automatizovaný příkaz:
expect -c "spawn gpg --edit-key {KEY} trust quit; send \"5\ry\r\"; expect eof"
Nakonec ověřte , že klíč je nyní důvěryhodný u [ultimate]
místo [unknown]
gpg --list-keys
komentářů
- Toto by měla být přijatá odpověď. Mnohem úplnější.
- Co tyto extra příkazy dělají?
- @Steiny Díky němu je klíč důvěryhodný s [ultimate] namísto [unknown]. gpgtools.tenderapp.com/kb/faq/…
Odpověď
Importoval jsem ze zálohy, která měla starou verzi gpg. Protože starý počítač nebyl k dispozici, pouze záloha, nemohl jsem jej nejprve exportovat. To pro mě fungovalo.
gpg --import old_home_dir/.gnupg/pubring.gpg gpg --import old_home_dir/.gnupg/secring.gpg
Chcete-li mít možnost importujte tajné klíče bez okamžitého zadání přístupové fráze, použijte volbu --batch
.
Ověření veřejných klíčů:
gpg --list-keys
Ověření tajných klíčů:
gpg --list-secret-keys
gpg2 -e -r [ID]
říká " Neexistuje žádná záruka, že tento klíč patří pojmenovanému uživateli "? Přál bych si, abych to zahrnoval do původní otázky, ale všiml jsem si to až později.