アトトックラボ

2011年4月04日

APNsを利用するための準備

Posted by Yoichi Kurusaki

APNs(Apple Push Notificationサービス)を利用するためには、APNsへ通知を送信するプロバイダの開発が必要になる。
開発環境でAPNsを利用するために
必要なPEMファイルの作成までをまとめてみる。

1. iOS Dev CenterのProvisioning PortalでSSL証明書と鍵を作成しインストール

Provision Portalの「App IDs」からPush Notificationを通知したいアプリのApp IDを選択し、
「Configure」ボタンをクリックする。

Configure App IDページで「Enable for Apple Push Notification service」チェックボックスをチェックする。
Development Push SSL Certificateの「Configure」ボタンをクリックすると
APNs Assistant画面が開くので指示に従いキーチェーンアクセスでCSRを作成する。

作成したCSRをAPNs Assistantでアップロードし作業を進め証明書(aps_developer_identity.cer )を
ダウンロードし証明書をダブルクリックすると、
キーチェーンアクセスが起動しログインキーチェーンに証明書がインストールされる。

2. PEMファイルの作成

キーチェーンアクセスを起動し、「自分の証明書」の中の
「Apple Development Push Service:・・・・・・・」の証明書を選択し
個人情報交換(Personal Information Exchange)(.p12)を出力する。
(ファイル名は、apns-dev-cert.p12で出力した。)
同様に、秘密鍵を選択し個人情報交換(Personal Information Exchange)(.p12)を出力する。
(ファイル名は、apns-dev-key.p12で出力した。)

出力したp12ファイルから下記のコマンドでPEMファイルを作成する。
$ openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
Enter Import Password:
MAC verified OK
$ openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
Enter Import Password:
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
$ openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
Enter pass phrase for apns-dev-key.pem:
writing RSA key
$ cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

※Enter Import Passwordには、キーチェーンアクセスから出力したときに指定したパスワードを入力
※PEM pass phraseには、任意のパスワードを指定し、次のコマンドでもそのパスワードを入力


ここで作成した、apns-dev-key-noenc.pemとapns-dev.pemは
プロバイダからAPNsへの接続処理で使用する。

3. プロビジョニングプロファイル

「Enable for Apple Push Notification service」を設定した後に
プロビジョニングプロファイルを作成し開発環境で使用する。







次は、プロバイダの開発とiOSのクライアントアプリの実装についてまとめます。