【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.

書いた人

profile_image

お茶の葉

物理とプログラミングが好きな人