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 по безопасности, и, в частности, статью под названием " Использование надежных корней".