Производство PushSharp APNS: учетные данные, предоставленные для пакета, не были распознаны (хотя разработка работает нормально)
Мое приложение только что было готово к продаже в App Store, но ни одно из моих производственных устройств (устройств, на которых установлено приложение из App Store) не получает push-уведомления. Когда я пытаюсь отправить push-уведомление на производственное устройство, я получаю эту ошибку:
"The credentials supplied to the package were not recognized"
(System.ComponentModel.Win32Exception)
Это исключение внутренне выбрасывается и попадает в бесконечный цикл:
Брошено по линии 539ApplePushChannel.cs
файл:
try
{
stream.AuthenticateAsClient(this.appleSettings.Host, this.certificates,
System.Security.Authentication.SslProtocols.Ssl3, false);
//stream.AuthenticateAsClient(this.appleSettings.Host);
}
catch (System.Security.Authentication.AuthenticationException ex)
{
throw new ConnectionFailureException("SSL Stream Failed to Authenticate as Client", ex);
}
Это вывод приложения в Visual Studio:
...
A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll
A first chance exception of type 'System.ObjectDisposedException' occurred in System.dll
A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll
A first chance exception of type 'System.ObjectDisposedException' occurred in System.dll
A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll
A first chance exception of type 'System.ObjectDisposedException' occurred in System.dll
A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll
A first chance exception of type 'System.ObjectDisposedException' occurred in System.dll
A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll
...(it keeps getting thrown until I stop it manually)
Вот что я пробовал:
Дважды проверил, что идентификатор устройства, которое я пытаюсь зарегистрировать, зарегистрирован на рабочем маркере устройства.Отозвал и восстановил производственный сертификат APNS, экспортировал его с закрытым ключом в новый.p12
файл, и попробовал еще раз с новым сертификатом. (У меня была такая же проблема с push-уведомлениями разработки, и это решило мою проблему)Изменен протокол SSL сSsl3
вTls
, (Несколько дней назад была проблема с версией протокола, и она временно исправила проблему. В этом не должно быть необходимости, но ошибка, которую я получаю, такая же, как и та, которую я получал до того, как это исправили)Проверено, что я на самом деле пытаюсь подключиться к производственному серверу с производственным сертификатом вместо сервера разработки / сертификата.Проверено, что я могу получить доступ к серверу APNS напрямую (мое приложение ASP.NET живет в виртуальной машине Parallels Windows Windows 8.1 на моем Mac, вот вывод с моего Mac, чтобы избежать путаницы:(Терминальный выход)Изменить: я пинговал сервер песочницы, я пинговал производственный сервер, я проверяю, что я тоже могу подключиться к нему, так что это не проблема.
can$ sudo nmap -p 2195 gateway.sandbox.push.apple.com
Starting Nmap 6.40-2 ( http://nmap.org ) at 2014-04-28 00:06 EEST
Nmap scan report for gateway.sandbox.push.apple.com (17.149.34.189)
Host is up (0.49s latency).
Other addresses for gateway.sandbox.push.apple.com (not scanned): 17.149.34.187 17.149.34.188
PORT STATE SERVICE
2195/tcp open unknown
Почему PushSharp не ведет переговоры с серверами APNS?