Apple Push Notifications - certificaatgebaseerde verbindingen met APNs (deel 4/4)

· Functies

In het laatste blog-artikel over Apple Push Notifications laat ik zien hoe je certificaten gebruikt om te authenticeren bij de Apple Push Servers.

Ga eerst naar je developer-account en maak een nieuw certificaat aan voor de Apple Push Notification-service.

Zodra je je certificaat hebt gedownload, kun je met de sgcWebSockets HTTP/2-client 2 beveiligings-IOHandlers gebruiken (alleen voor Windows; voor andere platforms wordt alleen OpenSSL ondersteund).

OpenSSL 

Als je OpenSSL gebruikt, moet je de OpenSSL-bibliotheken bij je toepassing meeleveren. Voordat je het certificaat instelt met de TsgcHTTP2Client, moet dit certificaat eerst worden omgezet naar PEM-formaat, omdat OpenSSL P12-certificaten niet direct kan importeren.

Gebruik de volgende commando's om één P12-certificaat te converteren naar een certificaat in PEM-formaat en een private-key-bestand.

Maak een PEM-certificaatbestand

 openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -nokeys


Maak een private-key-bestand

 openssl pkcs12 -in INFILE.p12 -out OUTFILE.key -nodes -nocerts


Zodra je het certificaat en de private key in PEM-formaat hebt, kun je de TsgcHTTP2Client als volgt configureren.

oHTTP := TsgcHTTP2Client.Create(nil);
oHTTP.TLSOptions.IOHandler := iohOpenSSL;
oHTTP.TLSOptions.CertFile := 'certificate_file.pem';
oHTTP.TLSOptions.KeyFile := 'private_key.pem';
oHTTP.TLSOptions.Password := 'certificate password';
oHTTP.TLSOptions.Version := tls1_2; 

SChannel 

Als je SChannel gebruikt, hoef je geen bibliotheken mee te leveren en kan het van Apple gedownloade certificaat direct worden geïmporteerd zonder eerst naar PEM-formaat te converteren.

oHTTP := TsgcHTTP2Client.Create(nil);
oHTTP.TLSOptions.IOHandler := iohSChannel;
oHTTP.TLSOptions.CertFile := 'certificate_file.p12';
oHTTP.TLSOptions.Password := 'certificate password';
oHTTP.TLSOptions.Version := tls1_2;