.PEM証明書の問題 - .NETにiPhoneにプッシュ通知をすることができませんか?
-
12-09-2019 - |
質問
私は成功したPHPを使用してやった私のiPhoneにプッシュ通知をしようとしています。しかし、私はC#を使用して、Appleのプッシュサーバへのソケット接続を開くことができませんよ。私が正常にPHPでこのコードを使用してプッシュ通知をすることができるよので、私は、証明書自体に問題はないと思う。
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'cert.pem');
$fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);
fwrite($fp, $msg);
私は以下のコードを使用してC#で認証しようとすると、、Appleはすぐに接続を閉じます。私はこの例外を取得:「トランスポート接続からデータを読み取ることができません:既存の接続はリモートホストに強制的に切断されたが、」
sslStream.AuthenticateAsClient(hostname, certificatesCollection, SslProtocols.Default, false);
私は基本的に、この質問からすべての私のコードを取った?: C#iPhoneのプッシュサーバーの
私はC#はあなただけのプログラムでファイルを.PEM読み込むことができないと思うので、それは証明書に問題があるかもしれないと思いました。私は、.pfxファイルに変換するためにOpenSSLを使用し、私はまだ同じ問題を抱えてます。
私はこの(可能な証明書)の問題のトラブルシューティングを行うことができますどのように任意のアイデア?
解決
これは実際には、.NET 2.0に問題があることが判明します。わからない、まさにそれがあるが、私は、Visual Studio 2008でコンパイルされ、すべてが素晴らしい仕事ます。
所属していません StackOverflow