Amazon SNSで利用するpemファイルの作成

Amazon SNSでiOSへのプッシュ通知を行う場合、pem形式で証明書と鍵を作成する必要があります。その場合以下の方法でMacのキーチェインアクセスからpemファイルを作成することができます。
※Amazon SNSのウェブ上からもp12ファイルをpemに書きだす方法はありますが、APIを使ってAmazon SNSのアプリを作成する場合は直接pemファイルを渡す必要がありますのでその場合を想定しています。

手順
1) キーチェインアクセスから対象となる証明書を選び、右クリック(あるいはダブルタップ)で"書き出す"を選び、p12ファイル形式として書き出す。
2) 対象となる鍵を選び、同様に12ファイル形式として書き出す。
3) ターミナルで以下のコマンドを実行し1)の証明書をpem形式にする。(-inの次のファイル名が1)で作成したp12ファイル)

% openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12

4) 3)と同様に鍵をpem形式にする。(-inの次のファイル名が2)で作成したp12ファイル)

% openssl pkcs12 -nocerts -out key-enc.pem -in key.p12
% openssl rsa -in key-enc.pem -out key.pem  

この手順で生成されたcert.pemとkey.pemをAmazon SNSのアプリとして登録すればOKです。
ちなみにアプリを作るJavaのコードはこんな感じ。


    public String createApplication(String name, String ceriticationKey, String privateKey, Platform platform) {
        CreatePlatformApplicationRequest request = new CreatePlatformApplicationRequest();
        request.setAttributes(new Utils.MapBuilder<String, String>().
                put("PlatformPrincipal", ceriticationKey).
                put("PlatformCredential", privateKey).
                get());
        request.setName(name);

        request.setPlatform(platform.name());
        CreatePlatformApplicationResult res = sns.createPlatformApplication(request);
        return res.getPlatformApplicationArn();
    }


コメント

人気の投稿