iOSのPUSH通知用証明書を作成する

PUSH通知用の証明書を作成する手順のキャプチャを貼っておきます。

前提

http://noboru.hatenablog.jp/entry/2013/09/20/023645 の手順を行っている状態。

  • App IDが作成済み
  • 「CertificateSigningRequest.certSigningRequest」が出力済み

手順

iOS Dev Center 右側の「Certificates, Identifiers & Profiles」をクリックします。

「Identifiers」をクリックします。

f:id:suzaku114:20130928004046p:plain

なぜか、すでにApp IDが発行されていました。
おそらく、以前にXcode上で「Fix issue」を押したタイミングで作成されたのではないかと思われます。
「Push Notifications」が「Disabled」なので、「Edit」をクリックします。

f:id:suzaku114:20130928004230p:plain

「Push Notifications」の右側のチェックボックスを選択状態にします。

f:id:suzaku114:20130928004220p:plain

すると、下のボタンが有効になるので、まずは「Development SSL Certificate」の「Create Certificate...」をクリックします。

f:id:suzaku114:20130928004213p:plain

なんか、以前に見たことがある画面が表示されました。
「Continue」を押します。

f:id:suzaku114:20130928004205p:plain

前回作成した「CertificateSigningRequest.certSigningRequest」を選択し、「Generate」ボタンをクリックします。

f:id:suzaku114:20130928004158p:plain

「Download」ボタンをクリックします。
aps_development.cer」がダウンロードされます。開発環境(Sandbox)用の証明書です。

f:id:suzaku114:20130928004151p:plain

Typeが「APNs Development iOS」となっている証明書が作成されました。 本番用もとりあえず作成しておきたいので、再度「App IDs」をクリックします。

f:id:suzaku114:20130928004144p:plain

「Push Notifications」の「Development」側が「Enabled」になりました。
「Distribution」側は、「Configurable」となっているので、再度「Edit」をクリックします。

f:id:suzaku114:20130928004136p:plain

今度は、「Production SSL Certificate」の「Create Certificate...」をクリックします。

f:id:suzaku114:20130928004130p:plain

「Continue」をクリックします。

f:id:suzaku114:20130928011003p:plain

「CertificateSigningRequest.certSigningRequest」を選択し、「Generate」をクリックします。

f:id:suzaku114:20130928010955p:plain

本番用の証明書が作成されました。
「Download」をクリックすると、「aps_production.cer」がダウンロードされます。

f:id:suzaku114:20130928010948p:plain

Typeが「APNs Production iOS」となっている証明書が作成されました。
「App IDs」をクリックします。

f:id:suzaku114:20130928010942p:plain

「Distribution」側も「Enable」になりました。

f:id:suzaku114:20130928010934p:plain

ダウンロードした「aps_development.cer」・「aps_production.cer」をそれぞれダブルクリック(or Cmd+O)すると、キーチェーンアクセスが起動し、登録されます。

f:id:suzaku114:20130928013229p:plain

Developmentの証明書を右クリックし、「...を書き出す...」をクリックします。

f:id:suzaku114:20130928013232p:plain

ファイル名は「aps_development.p12」とでもしておきます。
フォーマットは「p12」とします。

f:id:suzaku114:20130928013909p:plain

パスワードは空で、そのままOKとします。(ホントは、ちゃんと設定しましょう)

f:id:suzaku114:20130928013905p:plain

パスワードを聞かれるので、Macのアカウントのパスワードを入力します。

f:id:suzaku114:20130928013901p:plain

指定したフォルダに「aps_development.p12」が作成されました。
同様の手順で、productionの証明書についても、「aps_production.p12」を作成しておきます。

ターミナルでp12ファイルがあるディレクトリまで移動し、下記を実行する。

openssl pkcs12 -in aps_development.p12 -out aps_development.pem -nodes -clcerts

aps_development.pem が作成されました。
これを使えば、PUSH通知が送れるはず、です。(まだやってない。

感想

思ったよりは簡単に出来た。

参考

http://ameblo.jp/econa-77