Freigeben über


Bindung mit Verschlüsselung

Vertrauliche Daten, die über ein Netzwerk ausgetauscht werden, sollten verschlüsselt werden. Um dies zu ermöglichen, unterstützt ADSI zwei Verschlüsselungstypen: Kerberos und Secure Sockets Layer (SSL). Beide Verschlüsselungstypen erfordern die Verwendung von ADsOpenObject oder IADsOpenDSObject::OpenDSObject für die Bindung.

GetObject und ADsGetObject können in diesem Fall nicht für die Bindung verwendet werden, da diese Funktionen dazu führen, dass die von ADSI verwendeten LDAP-Anforderungen und die vom Verzeichnisserver zurückgegebenen Daten als Klartext über das Netzwerk übertragen werden. Zum Debuggen ist es hilfreich, die Verschlüsselung zu deaktivieren, damit der Netzwerkmonitor verwendet werden kann, um die LDAP-Anforderungen und -Daten zwischen dem Client und dem Verzeichnisserver anzuzeigen.

Kerberos-basierte Verschlüsselung

Wenn Sie die Kerberos-basierte Verschlüsselung verwenden möchten, geben Sie beim Aufrufen von ADsOpenObject oder IADsOpenDSObject::OpenDSObject das flag ADS_USE_SEALING an. Das ADS_USE_SEALING-Flag kann auch verwendet werden, um die Datenintegrität zu überprüfen, d. h. um sicherzustellen, dass die empfangenen Daten mit den gesendeten Daten übereinstimmen. Wenn das ADS_USE_SEALING-Flag angegeben wird, wird auch das ADS_USE_SIGNING-Flag automatisch angegeben. Beide Flags erfordern die Kerberos-Authentifizierung, die nur unter den folgenden Bedingungen funktioniert:

  • Der Clientcomputer muss bei der Windows-Domäne oder bei einer Domäne angemeldet sein, die von einer Windows-Domäne als vertrauenswürdig eingestuft wird.
  • ADsOpenObject oder IADsOpenDSObject::OpenDSObject muss mit NULL-Anmeldeinformationen aufgerufen werden. Das heißt, alternative Anmeldeinformationen können nicht angegeben werden.

SSL-basierte Verschlüsselung

Geben Sie zum Verwenden der SSL-basierten Verschlüsselung das ADS_USE_SSL-Flag an, wenn Sie ADsOpenObject oder IADsOpenDSObject::OpenDSObject aufrufen. Wenn nur das flag ADS_USE_SSL angegeben ist, öffnet ADSI SSL-Port 636 und führt dann eine einfache Bindung über diesen SSL-Kanal aus. Wenn sowohl die flags ADS_SECURE_AUTHENTICATION als auch ADS_USE_SSL angegeben sind, hängt das Bindungsverhalten vom Client ab, von dem der Aufruf erfolgt. In nicht unterstützten Versionen von Windows hat ADSI zuerst einen SSL-Kanal geöffnet und führt eine einfache Bindung unter Verwendung des angegebenen Benutzernamens und Kennworts oder des aktuellen Benutzerkontexts durch, wenn benutzername und kennwort NULL sind. Unter unterstützten Versionen von Windows führt ADSI anstelle einer einfachen Bindung eine sichere Authentifizierung durch.

Um die SSL-basierte Verschlüsselung bei der Kommunikation mit Active Directory verwenden zu können, muss Active Directory die Public Key Infrastructure (PKI) aktiviert haben. Die PKI kann aktiviert werden, indem Sie eine Unternehmenszertifizierungsstelle auf einem der Server in Active Directory einrichten, einschließlich eines der Active Directory-Server selbst. Das Einrichten einer Unternehmenszertifizierungsstelle bewirkt, dass ein Active Directory-Server ein Serverzertifikat erhält, das dann für die SSL-basierte Verschlüsselung verwendet werden kann.