используя pem с паролем для apns

Извиняюсь, если это основной, но не могу найти точное решение где-либо.

есть php-код для APNS, настроенный и работающий нормально. теперь предоставлен производственный файл pem, который защищен паролем.

Пожалуйста, укажите, где и как передать этот параметр пароля в php. Push-код выглядит следующим образом:

 $apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195;
$apnsCert = GetPemUrl();

$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);

$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 10, STREAM_CLIENT_CONNECT, $streamContext);

$sent = False;

if ($apns) {
$apm = fwrite($apns, $apnsMessage);

if ($apm)
{
$sent = true;
}
else
{
$sent = FALSE;
}

//socket_close($apns);
fclose($apns);
}

3

Решение

Случайно нашел решение и выкладываю на тот случай, если кому-то еще это может понадобиться.
добавить еще один параметр для потокового контекста, например, так:

$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
stream_context_set_option($streamContext, 'ssl', 'passphrase', "pem file passphrase"); // simlply add this

Следующая ссылка для полного сообщения:

http://learn-php-by-example.blogspot.com/2013/01/working-with-apple-push-notification.html

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector