Utilizzo di startTLS con LDAP da System.DirectoryServices
-
29-10-2019 - |
Domanda
Sto cercando di connettermi a un server LDAP che richiede startTLS, ma non avendo fortuna - ogni volta che utilizzo le sessionOptions.StartTransportLayerSecurity (..) o Imposta SessionOptions.SecuresocketLayer su True, ricevo eccezioni.
Ecco il codice che sto usando:
using (var connection = new LdapConnection(new LdapDirectoryIdentifier(config.LdapServer, config.Port, false, false)))
{
connection.SessionOptions.ProtocolVersion = 3;
connection.Credential = new NetworkCredential(config.BindDN, config.BindPassword);
connection.SessionOptions.VerifyServerCertificate += (conn, cert) => {return true;};
connection.AuthType = AuthType.Basic;
//connection.SessionOptions.SecureSocketLayer = true;
connection.SessionOptions.StartTransportLayerSecurity(null); // throws here, same if done after bind.
connection.Bind();
... do stuff with connection
}
L'eccezione risultante è "TLSOPerationException: si è verificato un errore non specificato", che si verifica quando si invoca il metodo StartTransportLayerSecurity.
Ho testato il codice su entrambi e OpenlDap Server e Active Directory, ma nessuno dei due funziona.
Qualcuno sa come far funzionare StartTls con System.DirectoryServices?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow