質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.93%

iOSにAPNsでリモート通知しようとすると、BadCertificateEnvironmentで送れない

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 959

wine

score 18

EC2のUbuntuのPHPからiPhoneにリモート通知を送ろうとしているのですが、

//ターミナル
root@xxx:/var/www/html# php test.php
?@@.{"reason":"BadCertificateEnvironment"}bool(true)
int(0)


と出て、送ることが出来ません。認証できない環境?なので、PHPではなく、pemファイルが原因かなと思っています。

しかし、作り直してもエラーだったので、自信がなくなりました。

もし、やはりpemファイルが悪そうだ、ということであれば、参考になるサイトのURLを頂ければうれしいです。

pemファイル以外に原因があるかもしれない、ということも教えて頂けるとうれしいです。

よろしくお願いします。

以下はtest.php

<?php
    if(defined('CURL_HTTP_VERSION_2_0')){
        $pem_file       = '/production.pem';//ペムファイル
        $apns_topic     = ‘com.twitter.XXX.XXX';//'your apns topic. Can be your app bundle ID';

        $alert = '{"aps": {"alert": {"title": "タイトルテスト","subtitle": "subtitile","body": "リリース"},"badge": 1,"mutable-content": 1},”image_url"; "http://is2.mzstatic.com/image/thumb/Purple122/v4/a9/b2/dd/a9b2dd1f-f8e5-7ce3-2014-62bf78f4ae56/source/60x60bb.jpg"}’;// 適当な画像url

        $url = "https://api.push.apple.com/3/device/tokenhogehogexxxxxxxxxxxxxxxxxxxxxxx";

        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $alert);
        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array("apns-topic: $apns_topic"));
        curl_setopt($ch, CURLOPT_SSLCERT, $pem_file);
        // curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $pem_secret); // パスワードを設定している場合は必要
        $response = curl_exec($ch);
        $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

        var_dump($response);// 結果を表示
        var_dump($httpcode);
    }
?>
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.93%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る