我正在編寫一個工具,使端口636上的LDAPS連接到不同的目錄服務。使用c#類的LDAPConnection我現在可以在端口389和636上成功連接到AD服務器。LDAPConnector類中的QueryClientCertificate有什麼作用?
但是,我不明白的是,以前我讀的地方,又增加了下面的代碼來禁用客戶端證書驗證:
public X509Certificate ClientCertFinder(LdapConnection connection,byte[][] trustedCAs) {
return null;
}
if (sslEnabled){
ldapConnection.SessionOptions.SecureSocketLayer = sslEnabled;
SessionOptions.QueryClientCertificate = new QueryClientCertificateCallback(ClientCertFinder);
}
與上面的代碼,我是不是能夠連接到在端口636(搜索操作拋出An Operation Error Occurred
)的Active Directory,但我可以連接到其他目錄服務的端口636只是偶然我刪除
SessionOptions.QueryClientCertificate = new QueryClientCertificateCallback(ClientCertFinder);
而現在的程序連接到所有的目錄服務,包括港口6的廣告36.
這清楚地表明我不明白使用QueryClientCertificate。有些人可以解釋一下,爲什麼使用這個?
感謝您的解釋。正如你所說,我意識到使用屬性「VerifyServerCertificate」。但我仍然不明白,爲什麼要刪除委派給「QueryClientCertificate」的分配將使連接通過。 –