2014-10-16 5 views
3

Извините, если это базовое, но не может найти точное решение в любом месте.с использованием pem с паролем для apns - php

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

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

$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); 
} 

ответ

2

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

$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