iPhone
Push通知機能を持つアプリを開発するためには、Apple Push Notification Service(以下、APNSと略します)の設定が必要になります。
APNSの仕組みを簡単に説明すると、外部サーバーがらApple提供のPush通知配信サーバーに配信したい情報を送信すると、配信サーバーが該当アプリをインストールしたiOS機器にPush通知を配信するようになっています。
APNSのPush通知配信サーバーへの配信情報は、クライアント証明書を用いたSSL通信で送信する必要があります。
配信情報はjson型式になります。
アプリ開発前の事前準備として、APNSを有効にし、iOS Provisioning Portalからクライアント証明書を取得する必要があります。
詳細な手中は下記ドキュメントのp.41~p.44の「プロビジョニングの手順」に記載されています。
Apple Local Notification および Push Notification プログラミングガイド
http://developer.apple.com/jp/devcenter/ios/library/documentation/RemoteNotificationsPG.pdf
Appleから取得できるクライアント証明書はPKCS#12形式なので、Linuxサーパーなどでopensslを利用する場合は変換が必要です。
Linuxサーバー等では、下記のように証明書型式の変換とパスフレーズの除去して利用します。
# openssl pkcs12 -clcerts -nokeys -out apns-cert.pem -in apns-key.p12
# openssl pkcs12 -nocerts -out apns-key.pem -in apns-key.p12
# openssl rsa -in apns-key.pem -out apns-key-noenc.pem
# cat apns-cert.pem apns-key-noenc.pem > apns.pem