1

我正在使用 moon aspn 库在 asp.net 和 c# 中发送推送通知。我遇到以下错误:Call to SSPI Failed; 在内部异常中,我有:Unknown error while processing the certificate; error code: -2147467259

这是我的代码:

private void SendQueueToapple(IEnumerable<NotificationPayload> queue)
{
    int i = 1000;
    foreach (var item in queue)
    {
        if (!_conected)
        {
            Connect(_host, NotificationPort, _certificates);
            var response = new byte[6];
    --> --> --> _apnsStream.BeginRead(response, 0, 6, ReadResponse, new MyAsyncInfo(response,    _apnsStream));<-- <-- <--
        } try {
            if (item.DeviceToken.Length == 64) //check lenght of device token, if its shorter or longer stop generating Payload.
            {
                item.PayloadId = i;
                byte[] payload = GeneratePayload(item);
                _apnsStream.Write(payload);
                Logger.Info("Notification successfully sent to APNS server for Device Toekn : " + item.DeviceToken);
                Thread.Sleep(1000); //Wait to get the response from apple.
            }
            else
                Logger.Error("Invalid device token length, possible simulator entry: " + item.DeviceToken);
        }
        catch (Exception ex)
        {
            Logger.Error("An error occurred on sending payload for device token {0} - {1}", item.DeviceToken, ex.Message);
            _conected = false;
        }
        i++;
    }
}
4

1 回答 1

0

这可能是与证书相关的问题。您必须创建 .cer 和 .p12 文件。密切注意这些文件。您首先生成 .cer,此处不再赘述。有足够的材料可用。生成 .p12 文件时出现问题。

在您的 Mac 中,转到 Keychain Access。从左侧窗格中选择“我的证书”。在那里,您将看到证书列表。选择您为推送通知生成的证书。右键单击并导出。确保不要扩展证书对私钥执行此步骤。这就是事情开始出错的地方。

于 2014-06-02T08:12:33.133 回答