Apple Push Notifications に関する最新の記事として、証明書を使用して Apple Push サーバーに対して認証する方法を紹介します。
まず開発者アカウントに入り、Apple Push Notification サービス用の新しい証明書を作成します。
証明書をダウンロードしたら、sgcWebSockets の HTTP/2 クライアントで 2 つのセキュリティ IOHandler を使用できます(Windows のみ、他のプラットフォームでは OpenSSL のみサポート)。
- OpenSSL
- SChannel(Windows のみ)
OpenSSL
OpenSSL を使用する場合は、OpenSSL ライブラリをアプリケーションと一緒にデプロイする必要があります。TsgcHTTP2Client に証明書を設定する前に、OpenSSL は P12 証明書を直接インポートできないため、まず証明書を PEM 形式に変換する必要があります。
単一の P12 証明書を PEM 形式の証明書と秘密鍵ファイルに変換するには、以下のコマンドを使用します。
PEM 証明書ファイルを作成する
openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -nokeys秘密鍵ファイルを作成する
openssl pkcs12 -in INFILE.p12 -out OUTFILE.key -nodes -nocertsPEM 形式の証明書と秘密鍵が用意できたら、TsgcHTTP2Client を以下のように設定できます。
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
SChannel を使用する場合、ライブラリをデプロイする必要はなく、Apple からダウンロードした証明書を PEM 形式へ事前変換することなく直接インポートできます。
oHTTP := TsgcHTTP2Client.Create(nil); oHTTP.TLSOptions.IOHandler := iohSChannel; oHTTP.TLSOptions.CertFile := 'certificate_file.p12'; oHTTP.TLSOptions.Password := 'certificate password'; oHTTP.TLSOptions.Version := tls1_2;
