SSL-соединение с неподписанным сертификатом
Я подозреваю, что вы используете самозаверяющий (не без знака ) сертификат, который вы сделали самостоятельно (например, makecert
) для временного использования.
Как и другие говорили в комментариях, это должно работать, поскольку многие люди делают схожие вещи при разработке своих приложений.
Кажется, он игнорирует ServerCertificateValidationCallback
и терпит неудачу в каком-то месте. Есть ли способ это исправить?
Mono (и MonoTouch) поддерживает как ServerCertificateValidationCallback
, так и более старые ICertificatePolicy
методы, позволяющие приложению иметь слово last при принятии (или отказе) сертификата X.509. Вы можете попробовать другой метод, но я не уверен, что это проблема.
Вы также можете сравнить свою (полную, а не частичную) трассировку стека с тем же кодом, где комментируется ServerCertificateValidationCallback
. Если ошибка идентична , то, скорее всего, она связана с сертификатом, в противном случае это не так (есть намного больше, что может пойти не так с SSL / TLS; -)
К сожалению, я не могу оказать вам более конкретную помощь, потому что в вашем вопросе отсутствуют важные детали.
Какую версию MonoTouch вы используете?
Полная трассировка стека исключения MonoTouch дает вам? из части, которую вы дали, не на 100% ясно, что проблема возникает при проверке сертификатов.
Где / как вы выполняли свой пример кода? например это было на Mono или Microsoft .NET? какая версия?
Я предлагаю вам открыть отчет об ошибке на http://bugzilla.xamarin.com (и включить недостающие детали), поскольку вполне вероятно, что нам потребуется еще больше данных (например, wireshark журнал SSL коммуникации).