16

私は自分のアプリでプッシュ通知を行おうとしています。このリンクをたどってい ますhttp://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

私のシステムはtelnetに正常に接続されていますが、SSL証明書と秘密鍵を接続するためのクエリを入力すると、エラーが見つかりました

$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem
unable to load client certificate private key file
1301:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/OpenSSL098-44/src/crypto/pem/pem_lib.c:648:Expecting: ANY PRIVATE KEY

誰もがどのタイプのエラーとその解決策を教えてくれますか?

前もって感謝します

4

5 に答える 5

15

最初は私もこの問題に直面していました。

2つのファイルがあります

1) 1 つはaps_development.cerapple からのものです。2) もう 1つはkeychain access、先ほど作成した共通名を持つ からのものです。

その後、両方ともファイルに変換し.pemます。たとえば、cert.pemkey.pem. その後、以下のコマンドを使用してこの2つのファイルを結合します

cat cert.pem key.pem > ck.pem

最初に、以下のコマンドを使用して openssl を開きます。

openssl s_client -connect gateway.sandbox.push.apple.com:2195
    -cert cert.pem -key key.pem

あなたが言及したエラーを返します。その後、私は使用してみます

openssl s_client -connect gateway.sandbox.push.apple.com:2195
    -cert cert.pem -key ck.pem

その後、すでに機能しています。お役に立てれば。

于 2012-05-13T16:52:21.730 に答える
15

キー/証明書を確認するには、次のコマンドで十分です。

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert push_development.pem

鍵の部分は、キーチェーン アクセスから .p12 をエクスポートするときに、証明書秘密鍵の両方を選択することです (.p12 用、証明書用、秘密鍵用の 3 つのパスワードが要求されます)。

.p12 を .pem に変換するには、Appleの指示に従います。

openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes
于 2013-10-17T08:12:23.293 に答える
3

こんにちは、以下のコマンドに従ってください。ステップ1 openssl pkcs12 -clcerts -nokeys -out developer_key.pem -in developer_key.p12

注:ターミナルでファイルパスをドラッグするだけです...

ステップ2 openssl pkcs12 -nocerts -out apns_key.pem -in apns_key.p12

ステップ3 openssl pkcs12 -in developer_key.p12 -out developer_key.pem -nodes -clcerts

step4 openssl pkcs12 -in apns_key.p12 -out apns_key.pem -nodes -clcerts

ステップ5 cat apns_key.pem developer_ket.pem >developer.pem

配布証明書の場合も同じ手順を実行します

developer.pem と distribution.pem を作成した後

以下のコマンドで両方のファイルを確認してください。

Step6 openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert developer.pem -debug -showcerts -CAfile "Entrust.net.Certification Authority (2048).pem

于 2013-10-24T05:22:18.470 に答える