2020年8月2日日曜日

GnuPGの鍵の有効期限を更新する方法

先日Gitを使っていたら、いきなりこんなメッセージが出てコミットできなくなりました。
$ git commit 
error: gpg failed to sign the data
fatal: failed to write commit object
GPG関連のエラーだということはメッセージからわかりますが、急に出たのでビビりました。

ファイルシステムの障害を疑って鍵をインポートし直しても変わらず、エラーメッセージで検索して出てきた去年の記事に従って環境変数をexportしても変わらず。

どこから調べていいかわからず、とりあえずgpg --list-keysを実行してみたら鍵の有効期限がちょうど切れていました
というわけで今回は有効期限の更新方法についてです。

更新する鍵のIDを調べる

まずは、gpg --list-keysで更新したい鍵のIDを調べてメモしておきます。

有効期限の更新

鍵のIDがわかったら、次は更新です。
$ gpg --edit-key [ID]

gpg> key [NUM] # 操作対象のキー番号を指定; NUMを省略した場合はマスターキーが指定される
gpg> expire    # 次のプロンプトで有効期限を指定
gpg> save
gpg> exit 
これで鍵の更新作業が終わりました。簡単ですね。

鍵のエクスポート

更新した鍵はエクスポートして安全な場所に保管しておきましょう。
$ gpg -a -o public.key --export [ID]                     # 公開鍵のエクスポート
$ gpg -a -o private.key --export-secret-keys [ID]        # 秘密鍵のエクスポート
$ gpg -a -o private-sub.key --export-secret-subkeys [ID] # サブキーのみエクスポート

有効期限を1年にしておきましたが、多分来年の今頃も期限のことを忘れて同じように慌てるんだろうなぁ・・・

0 件のコメント:

コメントを投稿