iOSアプリでプッシュ通知を飛ばすにはAppleDeveloperにて色々設定をしてp12ファイルやらpemファイルやらを用意しないといけないのですが、1年に1回の作業なんて覚えている訳も無く、折角なので備忘録として残す事にしました。
[キーチェーンからcerファイルの作成(Mac)]
Finder→アプリケーション→ユーティリティ→キーチェーンアクセスでキーチェーンアクセスを立ち上げる。
メニューのキーチェーンアクセス→証明書アシスタント→認証局に証明書を要求を選択
ユーザのメールアドレスにAppleDeveloperで使用しているメアドを入れ、要求の処理をディスクに保存、鍵ペア情報を指定にし、続けるボタンを押す。
後は最後までボタン押していけば良い。
これでcerファイルは完成。
[AppleDeveloperでの更新処理(Web)]
Certificates,Identifiers&Profiles→Identifiers→NAME一覧からpush通知で使っているNAMEのものを選択→pushNotificationsの横にあるEditを選択
Production SSL Certicateと書かれた部分に現在設定されている証明書が確認出来る。
※設定出来るのは2個までなので、2個ある場合は片側は不要の為、削除を行う。
現在設定されている証明書の下部にCreate Certificateを選択し、次画面のChooseFileで作成したcerファイルのアップを行いContinueを押す。
その後、ダウンロード画面に遷移する為、ダウンロードを行う。
※デフォルトのファイル名はaps.cer
[p12ファイルの作成(Mac)]
先程ダウンロードしたaps.cerをダブルクリックし、キーチェーンへ追加する。
その際、信頼されていないとなる場合があるが、右クリックメニューの情報を見るを選び、最上部にある閉じらている信頼を開き、常に信頼をするを選ぶ事により、信頼された証明書となる。
キーチェーンへ登録されたものを内容が閉じた状態で書き出す必要がある為、閉じた状態を確認し、右クリックメニューから書き出しを選びp12ファイルとして書き出す。
その際、パスワードを求められるが任意で設定。空でも良い。
[p12→pemに変換(Mac)]
先程出来上がったp12ファイルをpemに変換したい為、ターミナルを開き下記コマンドを打ち込む。
openssl pkcs12 -in 変換するファイル名.p12 -out 変換後のファイル名.pem -nodes
そうすると、パスワード入力を求められるので先程設定したものを入力。空ならEnterで良い。
これでpemファイルが出来上がる。
あとはこれをサーバーにアップして動作確認して終了。