Felkészülés alma push értesítést ssl tanúsítvány heximal blog

Felkészülés az Apple Push Notification SSL tanúsítvány

Felkészülés alma push értesítést ssl tanúsítvány heximal blog

Felkészülés alma push értesítést ssl tanúsítvány heximal blog

Létre kell hozni egy tanúsítvány aláírására irányuló kérést. Mindez a szabványos OS X alkalmazás úgynevezett „kulcstartó Access» (kulcstartó). Fuss, és azonnal egy csomó menü gomb -> Certificate Assistant -> kérése tanúsítványt egy tanúsító hatóság.







Felkészülés alma push értesítést ssl tanúsítvány heximal blog

Felkészülés alma push értesítést ssl tanúsítvány heximal blog

Majd kattintson a Tovább gombra, válasszon egy helyet a lemezen, ahol a fájl mentésre kerül lekérdezésre. Menj vissza a fejlesztő portál «létrehozása egy tanúsítvány Bejelentkezési kérés (CSR)» oldal, nyomja meg a Folytatás ott, azon az oldalon, amely megjelenik, válassza a kérés fájlt, és kattintson generálása. Egy kis gondolkodás rendszer egy linket letölteni a generált tanúsítványt, amit csinálnak.

Felkészülés alma push értesítést ssl tanúsítvány heximal blog

A rendszer arra kéri, hogy mentse a tanúsítvány fájlt aps_development.cer. Azt tanácsolom, hogy hozzon létre egy mappát, ahol menteni minden érintett. Embed feedcsoportban nem feltétlenül a legfontosabb
3. Ezután fel kell töltenie a privát kulcsot. Nyílt kulcstartó Access. Találunk a kulcsot, és válassza ki a menüből válassza a File -> Export Object.

Felkészülés alma push értesítést ssl tanúsítvány heximal blog






A rendszer arra kéri, hogy adjon meg egy kulcsszót - egy jelszót hozzáférést a privát kulcsot, akkor is, ha valaki megkaparintja export kulcsát, akkor nem tudják használni. Emlékezz ez a mondat, jelöljük azt pass1.

Felkészülés alma push értesítést ssl tanúsítvány heximal blog

A rendszer arra kéri, hogy mentse a kulcsot kiterjesztésű fájl .p12 (legyen KeyName.p12). Ugyanakkor továbbra is meg kell adnia a jelszót a kulcstartó.

Felkészülés alma push értesítést ssl tanúsítvány heximal blog

4. Ezután meg kell konvertálni maga a tanúsítvány és a kulcs PEM formátumban (kulcstartó eltávolítja tárgyak DER formátumban). Azt nem tudom, hogy ez volt az oka, csak az OpenSSL könyvtár, amelyen keresztül kölcsönhatásba lépnek az Apple Push Notification Service (APN) a php, sokkal valószínűbb, hogy működjön együtt a fájlokat a PEM formátumban. A végrehajtás az OpenSSL jelen van a legtöbb * nix rendszerek, legalábbis OS X és FreeBSD ez alapfelszereltség. Nyiss egy terminál ablakot és tegye a következőket.

amikor a második parancs konzolt arra kéri, hogy adjon meg egy kulcsfontosságú mondatot háromszor. Az első alkalommal meg kell adnia a jelszót, hogy adja meg, amikor exportálja a kulcs (pass1). A második és a harmadik alkalommal - egy új jelszót, amely létrehoz egy PEM gombot. Mi lesz feltételesen nevezni pass2. Ha teszi, ugyanaz, mint pass1 semmi bűnügyi nem.

Akkor meg kell ragasztani a két fájl.

és végül kap APN-dev.pem fájlt, hogy a jövőben, és fogják üzemeltetni a szerveren.
By the way, itt lehetőség van, hogy ellenőrizze, hogy az SSL-tanúsítvány terheletlen / átalakítani megfelelően. A konzol toborozni

Ha a szolgáltatást a gyártási bizonyítvány, meg kell adni a domain gateway.push.apple.com helyett gateway.sandbox.push.apple.com

Ha minden rendben van, a konzol fog adni sok-sok szöveget.

Aztán át a szerver, másolja a tanúsítványt APN-dev.pem és hozzon létre vele php-script. hajtják végre közvetlenül e-mail Push-üzenetek

Itt meg kell figyelni, hogy a következő árnyalatokat.
stream_context_set_option ($ stream_context 'ssl', 'jelszót', 'pass2');
Ezen a ponton, akkor regisztrálnia kell a legfontosabb mondat pass2 (lásd. Fent). Egyébként OpenSSL minden alkalommal kérni fogja, hogy adja meg kézzel.
$ Payload = preg_replace_callback ( '/ \\\\ u ​​([0-9A-f]) / i',
'Replace_unicode_escape_sequence', $ teherbírás);
Ezt annak érdekében, hogy növelje a tényleges hossza az üzenetet. Mivel php function json_encode alakítja az összes nem-ASCII karaktereket unicode-lényege, hogy 5-ször csökkenti, és így nem egy nagy maximális hossza Push-üzenetek (256 karakter).

Természetesen a többi üzleti logika eltérő lehet, például egy listát a push-tokenek nem állandó array $ device_tokens. Ez a kódrészletet pusztán az emlékeztető az alapelvek a munka a php és az OpenSSL egy push-üzenetek küldésére.

Ha mindez megtörtént, akkor az összes ugyanolyan lehet tenni gyártmányigazolás. közzététele előtt az alkalmazás.

1) A bejelentés szerint küldött php, nem a hibák ellenőrzéséhez. Apple kiterjesztette protokoll, amely visszaadja a kódot, ha hiba történik. Mennyire rossz? Tegyük fel, hogy van jelzőt az adatbázisban eszközök és egyikük érvényes. Ha küld egy eszköz kapcsolódási megszűnik figyelmeztetés nélkül. És akkor a hurok továbbra is küld a többi eszközt. Kiderült, hogy te küld egy értesítést, hogy egy része az eszközök nem éri el, és akkor nem tudom, hogy milyen időpontban a kapcsolat megszakadt. Szóval nem tudom az okát