1

ボックスからAppleのサンドボックスサーバーに接続する際に問題があります。それが私のプログラムのせいなのか、それとも私の証明書なのかはよくわかりません。

みてみましょう:

Using client As New TcpClient()
        client.Connect("gateway.sandbox.push.apple.com", 2195)
        Using networkStream As NetworkStream = client.GetStream()
            Console.WriteLine("Client connected.")

            Dim clientCertificate As New X509Certificate("certfile.p12", "PASS")
            Dim clientCertificateCollection As New X509CertificateCollection(New X509Certificate(0) {clientCertificate})

            ' Create an SSL stream that will close the client's stream.
            Dim sslStream As New SslStream(client.GetStream(), False, AddressOf ValidateServerCertificate, Nothing)

            Try
                sslStream.AuthenticateAsClient("gateway.sandbox.push.apple.com", clientCertificateCollection, SslProtocols.Default, False)
            Catch ex As AuthenticationException
                Console.WriteLine("Exception: {0}", ex.Message)
                If ex.InnerException IsNot Nothing Then
                    Console.WriteLine("Inner exception: {0}", ex.InnerException.Message)
                End If
                Console.WriteLine("Authentication failed - closing the connection.")
                client.Close()
                Return
            End Try
        End Using
    End Using

次のエラーが表示されます:「SSPI 呼び出しに失敗しました」。

今私の質問は、どの証明書をキーチェーンでエクスポートする必要がありますか? 私の秘密鍵、aps_provisioning、Apple 開発証明書、または私の開発者証明書?

前もって感謝します!

4

0 に答える 0