【GPG】鍵をExportしたりImportしたりする
投稿日: 更新日:
💻環境
OS: windows11 + WSL2(Ubuntu 22.04.4)
gpg: 2.2.27
Export
鍵が以下のようにあるとします。
$ gpg --list-secret-keys --keyid-format=long
/home/ocha98/.gnupg/pubring.kbx
-------------------------------
sec ed25519/AEB056730BD34876 2024-03-03 [C]
526A35ED4EDBEC364C0776A0AEB056730BD34876
uid [ultimate] exampleName <[email protected]>
ssb ed25519/CAE4E0460A30346C 2024-03-03 [S]
ssb cv25519/E4F4A2193380C7AC 2024-03-03 [E]
ssb ed25519/8492AAC42EFF7072 2024-03-03 [A]
公開鍵を書き出す
以下のコマンドで公開鍵を書き出すことができます。
$ gpg --output publickeys.asc --export --armor 526A35ED4EDBEC364C0776A0AEB056730BD34876
--output
の後でファイル名を指定してください。--armor
オプションはアスキー文字で書き込むためのオプションです。
書き出された publickeys.asc には主鍵、副鍵すべての公開鍵がまとまっています。
秘密鍵を書き出す
⚠️ 秘密鍵は機密情報です。目的がない限り書き出すのは控えるべきです
主鍵+副鍵の秘密鍵を書き出す
主鍵、副鍵の全ての秘密鍵がまとまって出力されます。
$ gpg --output secretkeys.key --export-secret-keys --armor 526A35ED4EDBEC364C0776A0AEB056730BD34876
副鍵のみ書き出す
全ての副鍵の秘密鍵だけを書き出すには以下のコマンドを使用します。
$ gpg --output subsecretkeys.key --export-secret-subkeys --armor 526A35ED4EDBEC364C0776A0AEB056730B
D34876
特定の副鍵の秘密鍵を書き出すには以下のコマンドを使用します。
書き出したいKeyIDの後ろに!をつけてコマンドを実行します。
以下は暗号化用の秘密鍵を書き出す例です。
$ gpg --output encryptsecretkey.key --export-secret-subkeys --armor E4F4A2193380C7AC!
Import
公開鍵も秘密鍵も同じです。
公開鍵
$ gpg --import publickeys.asc
秘密鍵
$ gpg --import secretkeys.key
インポートした後は所有者信頼を設定しなければなりません。
自分で作成した鍵であれば5で問題ないです。
$ gpg --edit-key <gpg_key_id> trust quit
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)
1 = I don't know or won't say
2 = I do NOT trust
3 = I trust marginally
4 = I trust fully
5 = I trust ultimately
m = back to the main menu
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
sec ed25519/AEB056730BD34876
created: 2024-03-03 expires: never usage: C
trust: ultimate validity: unknown
ssb ed25519/CAE4E0460A30346C
created: 2024-03-03 expires: never usage: S
ssb cv25519/E4F4A2193380C7AC
created: 2024-03-03 expires: never usage: E
ssb ed25519/8492AAC42EFF7072
created: 2024-03-03 expires: never usage: A
[ unknown] (1). exampleName <[email protected]>
Please note that the shown key validity is not necessarily correct
unless you restart the program.