mono.security.dll novell.directory.ldap.dll Уровень защищенных сокетов - SSL

Импортированные сертификаты как это:

certmgr /add /v /c /ctl "selfsignedroot.cer" /s /r localMachine root
certmgr /add /v /c /ctl "server.cer" /s /r localMachine root
certmgr /add /v /c /ctl "server.cer" /s /r localMachine CA
certmgr /add /v /c /ctl "server.cer" /s /r localMachine MY

Мой код выглядит так

LdapConnection conn = new LdapConnection();
conn.SecureSocketLayer=true;
conn.Connect("server",636);
conn.bind("cn=user,o=root","password");

Я получаю сообщение об ошибке от mono.security.dll. Код ошибки: -2146762487. Это означает, что он не смог проверить корневой сертификат. Глядя на сертификат через mmc, он показывается как доверенный.

1 ответ

Решение

Mono.Security.dll является кроссплатформенным, и его истоки лежат в Linux. Таким образом, он не использует хранилища сертификатов на основе Windows CryptoAPI, но имеет собственные хранилища (и инструменты).

Вы можете посмотреть вики проекта Mono, например, FAQ по безопасности, и, в частности, статью под названием " Использование надежных корней".

Другие вопросы по тегам