2012-06-15 79 views
1

我使用月亮aspn庫在asp.net和c#中發送推送通知。我遇到以下錯誤:Call to SSPI Failed;在內部例外我有:Unknown error while processing the certificate; error code: -2147467259推送通知iPhone錯誤(月亮ASPN)

這裏是我的代碼:

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++; 
    } 
} 

回答

0

這可能是一個證書相關的問題。您必須創建.cer和.p12文件。密切關注這些文件。你首先生成.cer,我不會在這裏詳細介紹。有足夠的材料可用。生成.p12文件時出現問題。

在您的Mac中,轉到鑰匙串訪問。從左側窗格中選擇「我的證書」。你會看到一張證書列表。選擇您爲推送通知生成的證書。右鍵單擊並導出。確保你的不要擴展證書執行此私鑰上的步驟。這就是事情開始出錯的地方。