У нас есть существующий сертификат (глобальный признак), который отлично работает, когда приложение Windows Mobile (.NET 3.5) пыталось использовать веб-службу (также написанную в .NET 3.5), размещенную на IIS.
Однако, когда мы перерабатываем переизданный сертификат (глобальный знак), приложению Windows Mobile не удается подключиться к веб-службе, мы получаем ошибку: "Не удалось установить доверительные отношения с удаленным сервером «. Я много раз пытался найти это в Google и не нашел подходящего решения.
Мы также пытались скопировать (и установить) ROOT и промежуточный сертификат в цепочке на устройство, но это все равно не работает.
Когда мы тестируем новый сертификат с помощью веб-браузера ПК (IE, Firefox, Opera), настольного приложения, которое использует веб-сервис (.NET 3.5), и даже Internet Explorer на устройстве Windows Mobile, веб-сервис .NET Страница определений / документации отображается без проблем (без предупреждений или ошибок), кажется, что проблема возникает только на устройстве Windows Mobile, когда приложение Compact Framework (3.5) пытается использовать веб-сервис.
Мы проверили, что сертификат правильно установлен на сайте покупателя SSL, и после наших поисков в Google мы столкнулись и реализовали (в качестве теста) обработчик ICertificatePolicy «доверять всем», это решило проблему, однако я был надеясь, что эта проблема может быть решена путем изменения конфигурации / настройки, а не изменения кода и повторного развертывания более 150 устройств на базе Windows Mobile.
Модуль ICertificatePolicy действительно обнаружил ошибку, которая возвращалась при попытке проверить сертификат: для параметра проблемы было задано значение: -2146762481 (0x800B010F в HEX), что, как я полагаю, является ошибкой «CN No MATCH», однако Я искал это как в числовой, так и в шестнадцатеричной форме и в форме имени, и пока не нашел решения, отличного от изменения кода «Доверять всем».