iOSのプッシュ通知用の証明書をサーバーに置くために、キーチェーンから.p12ファイルを書き出しますが、その際にハマったのでメモしておきます。
問題
間違いなく該当する証明書と秘密鍵のセットを書き出したはずなのに、別の証明書が含まれてしまっている。
(今回の場合は利用しているプッシュ配信サービス側のバリデーションに引っかかり証明書が設定できませんでした。)
原因
色々と調べたのですが原因はわかりませんでした。また、別の端末でも再現したので環境の問題とも考えにくいです。
対処方法
根本的な解決にはなりませんが、書き出し用に新規でキーチェーンを作成し、そこに書き出したい証明書と秘密鍵だけを入れて書き出したところ上手くいきました。
確認方法
ダブルクリックして.p12を開くと何が追加されたのかわかりにくいので、↑で作成した書き出し用のキーチェーンにp12ファイルをドラッグ&ドロップすることで余計な証明書が含まれていないか確認しやすいです。
以上です。もし、根本的な解決方法がありましたら情報いただけると助かります。