経緯
開発において、Macをgitlab runnerとしてgitlab CI/CDを走らせている。その際、CIがMacの木ーチェーン内の証明書にアクセスしようとする。すると、掲題のようなダイアログが出て、keychainのパスワード入力を求めてくることがある。入力すれば先に進めるのだが、いちいち手で入力しないとCIが止まってしまうため非常に困っていた。
対策
codesign
というプログラムがkeychainにアクセスしようとしているのであるから、codesign
はパスワードなしでkeychain内の証明書にアクセスできるようにする。
keychain内部の証明書一覧を見て、証明書アイコンの左の三角形のボタンをクリックする。
すると子要素である鍵アイコンが出現する。鍵アイコンを右クリックし、その証明書の詳細情報を閲覧する。
ダイアログが出てくるので、アクセスコントロールから、パスワードなしでその証明書にアクセスできるプログラムを手動で追加する。今回はcodesignである。codesignはmac標準のプログラムであるから通常/usr/bin内部にあるはずだが、わからなければコマンドラインでwhich codesign
を打ち込み、codesignの場所を調べておこう。
この手順を全証明書に対して行えば、上記ダイアログは出てこなくなる。