1

次のようなインポートされた証明書:

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 経由で証明書を見ると、信頼済みとして表示されます。

4

1 に答える 1

1

Mono.Security.dllクロスプラットフォームであり、その起源は Linux にあります。そのため、Windows CryptoAPI ベースの証明書ストアは使用しませんが、独自のストア (およびツール) を使用します。

セキュリティ FAQなどの Mono プロジェクトの wikiと、特にUsing Trusted Roots Respectfullyという名前の記事を参照してください。

于 2012-03-14T22:47:31.003 に答える