Im letzten Blogbeitrag zu Apple Push Notifications zeige ich dir, wie du Zertifikate zur Authentifizierung gegen Apple-Push-Server verwendest.
Melde dich zuerst in deinem Developer Account an und erstelle ein neues Zertifikat für den Apple Push Notification service
Sobald du dein Zertifikat heruntergeladen hast, erlaubt der sgcWebSockets-HTTP/2-Client die Verwendung von 2 Security-IOHandlern (nur für Windows, für andere Personalities wird nur OpenSSL unterstützt).
- OpenSSL
- SChannel (nur für Windows)
OpenSSL
Wenn du OpenSSL nutzt, musst du die OpenSSL-Bibliotheken mit deiner Anwendung ausliefern. Bevor du das Zertifikat mit dem TsgcHTTP2Client setzt, muss dieses Zertifikat zunächst ins PEM-Format konvertiert werden, da OpenSSL keinen direkten Import von P12-Zertifikaten erlaubt.
Verwende die folgenden Befehle, um ein einzelnes P12-Zertifikat in ein PEM-formatiertes Zertifikat und eine Private-Key-Datei zu konvertieren
PEM-Zertifikatsdatei erstellen
openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -nokeysPrivate-Key-Datei erstellen
openssl pkcs12 -in INFILE.p12 -out OUTFILE.key -nodes -nocertsSobald du Zertifikat und Private Key im PEM-Format hast, kannst du den TsgcHTTP2Client wie folgt konfigurieren.
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
Wenn du SChannel nutzt, musst du keine Bibliotheken ausliefern, und das von Apple heruntergeladene Zertifikat kann direkt importiert werden, ohne vorherige Konvertierung ins PEM-Format.
oHTTP := TsgcHTTP2Client.Create(nil); oHTTP.TLSOptions.IOHandler := iohSChannel; oHTTP.TLSOptions.CertFile := 'certificate_file.p12'; oHTTP.TLSOptions.Password := 'certificate password'; oHTTP.TLSOptions.Version := tls1_2;
