Связь с Android C2DM с использованием .NET - PullRequest
0 голосов
/ 09 марта 2012

Я настроил эту функцию в своем веб-приложении для отправки push-уведомлений на устройства Android:

Private Function SendNotification(ByVal authstring As String) As String
    Dim request As WebRequest = WebRequest.Create("https://android.apis.google.com/c2dm/send")
    request.Method = "POST"
    request.ContentType = "application/x-www-form-urlencoded"
    request.Headers.Add(String.Format("Authorization: GoogleLogin auth={0}", authstring))
    Dim postData As String = String.Format("registration_id={0}&data.payload={1}&collapse_key=0", deviceList.SelectedValue, txtPayload.Text)
    Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
    request.ContentLength = byteArray.Length
    Dim dataStream As Stream = request.GetRequestStream()
    dataStream.Write(byteArray, 0, byteArray.Length)
    dataStream.Close()
    Dim response As WebResponse = request.GetResponse()
    dataStream = response.GetResponseStream()
    Dim reader As New StreamReader(dataStream)
    Dim responseFromServer As String = reader.ReadToEnd()
    reader.Close()
    dataStream.Close()
    response.Close()

    Return responseFromServer
End Function

Однако всякий раз, когда я вызываю эту функцию, я получаю следующее сообщение об ошибке: Удаленный сертификатнедопустимо в соответствии с процедурой проверки. "

Есть мысли о том, что я могу здесь делать неправильно? Я также пытался запустить это на IIS, но это не помогло.

1 Ответ

2 голосов
/ 09 марта 2012

Хорошо, я понял это после долгих поисков. Мне не хватало этой строки в моем коде (должно быть в первой строке функции):

ServicePointManager.ServerCertificateValidationCallback = Function(sender As _
Object, certificate As X509Certificate, chain As X509Chain, sslPolicyErrors As _
SslPolicyErrors) True
...