Добрый день.
Используется оболочка для .NET (ManagedOpenSsl.dll)
Для проверки корневого сертификата старых (текущих) ЭЦП в SDK есть файл
Keys and Certs\Текущий НУЦ (old oids)\CA Root Certs\new_NCA_RSA.cer
С ним проверка сертификата (метод Verify() возвращает true)
А вот для проверки новых сертификатов он возвращает false.
Новый сертификат установил в виндоус. в папку личное.
И там в Интернет Экплорер показывает что не может проверить издателя сертификата.
Как я понимаю для новых сертификатов нужен другой корневой сертификат.
в SDK есть файл _Keys and Certs\Нового НУЦ (new oids)\ca\КУЦ\rca_rsa.crt
Я из него импортировал в виндоусе в каталог Доверенные корневые центры сертификации.
И теперь в Интеренет Эксплорер показывает, что он доверяет издателю этого сертификата.
Теперь из корневых центров сертификации я экспортирую сертификат (в кодировке .DER) в новый .cer файл.
И уже его использую в методе Verify() сертификата в коде С#.
И на это тоже метод возвращает false.
Хотя сам виндоус показал что корневой сертификат правильный.
В чем проблема?
Либо метод работает не правильно? Тогда прошу исправить.
Либо все таки корневой сертификат другой. Тогда прошу выдать корректный. В SDK его нет