昔、Gitのコミット署名用に作ったGPG鍵があったんだけど、大分古くなってたしRSAだしってことで作り直すついでにYubikeyに入れることにした。
管理方針は以下の記事の内容に納得がいったので、そのまま採用。主鍵と暗号化鍵をYubikeyに入れてsignature用の副鍵を必要に応じて作る形に。 fuwa.dev
作業自体は、gpgコマンドで鍵作ってバックアップ取ったらkeytocardやるだけなので難しいことは無かったのだが、一つハマるポイントがあった。
ググれば出てくるんだけど、gpg-agentが素の状態だとYubikeyと通信できない問題が発生する。 gnupgはscdaemonというプロセスを通じてスマートカードとやり取りするらしいのだが、それに組込まれてるCCIDライブラリがYubikeyと互換性が無いらしい。(2.3辺りからそうなったとのこと)
なので、~/.gnupg/scdaemon.confを作成しdisable-ccidと記述して組込みのccidを無効化し、pcscdを入れてそっちのccidライブラリを使う様に切り替える必要があった。
公式サイトの案内もある。https://support.yubico.com/s/article/Resolving-GPGs-CCID-conflicts
地味に分かりにくい問題なので、備忘録を残しておく。
諸々設定できたので、GitHubの古い鍵を廃止したし、ついでにKeybaseのアカウントを取って公開鍵をちゃんと検証に使える様にuploadした。まあ、あんまり使うことないとは思うけど。