In diesem Abschnitt werden die bekannten Probleme aufgeführt, die zum Zeitpunkt der Veröffentlichung von Directory Proxy Server 6.3.1 Update 1 vorlagen.
Wenn in Version 6.3 ein Eintrag mehr als zwei Objektklassen besitzt, kann ein Eintrag nicht über eine zusammengelegte Ansicht (LDAP und JDBC) aufgrund des Hotfix für CR 6636463 hinzugefügt werden. Um einen solchen Eintrag hinzuzufügen, müssen diese Objektklassen als Superklasse im Konfigurationseintrag jdbc-object-class mithilfe von ldapmodify definiert werden, da dpconf set-jdbc-object-class-prop nur eine Superklasse hinzufügen kann.
Dieses Beispiel fügt den folgenden Eintrag hinzu:
dn: uid=test,ou=people,o=join sn: User cn: Test User objectclass: top objectclass: person objectclass: organizationalPerson objectclass: inetOrgPerson uid: test userpassword: password givenname: Test mail: test@example.com telephonenumber: 8888-8888 roomnumber: 8000
Die JDBC-Ansicht, die vor Version 6.3 aktuell war, wird wie im folgenden Beispiel dargestellt definiert.
dn: cn=person,cn=example-view,cn=data views,cn=config secondaryTable: country1 secondaryTable: phone1 primaryTable: employee1 objectClass: top objectClass: configEntry objectClass: jdbcObjectClassMapping dnPattern: uid cn: person superclass: top
Da objectClass:organizationalPerson und objectClass:inetOrgPerson beide in dem hinzuzufügenden Eintrag vorhanden sind, müssen beide Objektklassen als Superklassen angegeben werden, wie von folgendem Befehl ldapmodify dargestellt.
$ ldapmodify -p dpsPort -D "cn=Proxy manager" -w password dn: cn=person,cn=example-view,cn=data views,cn=config changetype: modify add: superClass superClass: inetOrgPerson - add: superClass superClass: organizationalPerson |
Wenn der ldapmodify-Befehl ausgeführt ist, wird jdbc-object-class wie im folgenden Beispiel dargestellt definiert.
dn: cn=person,cn=example-view,cn=data views,cn=config secondaryTable: country1 secondaryTable: phone1 primaryTable: employee1 objectClass: top objectClass: configEntry objectClass: jdbcObjectClassMapping dnPattern: uid cn: person superclass: top superclass: inetOrgPerson Added superclass: organizationalPerson Added
Obwohl die Dokumentation die Standardeinstellung für die Eigenschaft log-level-data-sources-detailed als none angibt, ist der eigentliche Standardwert all. Durch Einstellung von log-level-data-sources-detailed auf einen anderen Wert als none wird die Serverleistung beeinträchtigt und die access-Datei wächst schnell. Aus diesem Grund wird der Wert für die Einstellung log-level-data-sources-detailed automatisch auf none gesetzt, wenn DPS-Serverinstanzen erstellt werden. Es wird empfohlen, diese Einstellung nicht auf einen anderen Wert zu setzen.
Aufgrund eines Problems, das in Hinweise zur Störanfälligkeit VU#836068, MD5 anfällig für Konfliktangriffe beschrieben ist, sollte Directory Proxy Server nach Möglichkeit nicht den MD5-Algorithmus in signierten Zertifikaten verwenden.
Führen Sie folgende Schritte aus, um den Signaturalgorithmus eines Zertifikats festzulegen.
Führen Sie folgenden Befehl aus, um eine Liste der in einer speziellen Directory Proxy Server-Instanz definierten Zertifikate anzuzeigen.
$ dpadm list-certs instance-path |
Führen Sie folgende Befehle für jedes definierte Zertifikat aus, um festzulegen, ob das Zertifikat mit dem MD5-Algorithmus signiert ist:
$ dpadm show-cert -F ascii -o cert-output-file \ dps-instance-path cert-alias $ dsadm add-cert ds-instance-path cert-alias \ cert-output-file $ dsadm show-cert ds-instance-path cert-alias |
Das folgende Beispiel zeigt eine typische Ausgabe des Befehls dsadm show-cert für ein Zertifikat, das mit einem MD5-Signaturalgorithmus signiert ist:
Certificate: Data: ... Signature Algorithm: PKCS #1 MD5 With RSA Encryption ... |
Führen Sie den folgenden Befehl aus, um alle MD5-signierten Zertifikate aus der Datenbank zu entfernen.
$ dsadm remove-cert instance-path cert-alias |
Führen Sie folgende Schritte aus, um das Passwort der Zertifikatsdatenbank zu aktualisieren. (Der Befehl dpadm erzeugt bei der Erstellung einer Directory Server-Proxy-Instanz ein Standardpasswort für die Zertifikatsdatenbank.)
Halten Sie die Directory Proxy Server-Instanz an.
Führen Sie folgenden Befehl aus:
$ dpadm set-flags instance-path cert-pwd-prompt=on |
Eine Meldung erscheint, in der das Passwort abgefragt wird.
Geben Sie ein Passwort mit einer Länge von mindestens acht Zeichen ein.
Starten Sie die Directory Proxy Server-Instanz neu und geben Sie bei Aufforderung das Internal (Software) Token an.
Ersetzen Sie alle Zertifikate, die die MD5-Funktionen verwenden, mit Zertifikaten, die den SHA-1-Signaturalgorithmus verwenden. Führen Sie einen der folgenden Vorgänge aus, abhängig davon, ob Ihre Installation ein selbstsigniertes Zertifikat oder ein Zertifikat, das von einer Zertifikatsautorität erworben wurde, verwendet.
Führen Sie die folgenden Schritte aus, um ein selbstsigniertes Zertifikat zu erstellen und zu speichern:
Führen Sie folgenden Befehl aus:
$ dpadm add-selfsign-cert --sigalg SHA1withRSA \ dps-instance-path cert-alias |
Der Standardsignaturalgorithmus ist MD5withRSA.
Die folgende Eingabeaufforderung erscheint:
[Password or Pin for "NSS Certificate DB"] |
Geben Sie das neue Passwort für die Zertifikatdatenbank ein.
Führen Sie folgende Schritte aus, um ein Zertifkat, das von einer Zertifikatsautorität (CA) erfasst wurde, zu generieren und zu speichern:
Führen Sie folgenden Befehl aus, um eine CA-signierte Serverzertifikatsanforderung auszustellen:
$ dpadm request-cert --sigalg SHA1withRSA instance-path cert-alias |
Stellen Sie sicher, dass Ihre Zertifikatsautorität den MD5-Signaturalgorithmus nicht länger verwendet, und senden Sie dann die Zertifikatsanforderung an die Zertifikatsautorität (entweder intern an Ihr Unternehmen oder extern, abhängig von Ihren Rollen), um ein CA-signiertes Serverzertifikat zu erhalten, wie unter To Request a CA-Signed Server Certificate in Sun Java System Directory Server Enterprise Edition 6.3 Administration Guide beschrieben.
Wenn Ihnen die Zertifikatsautorität ein neues Zertifikat sendet, führen Sie den folgenden Befehl aus, um das Zertifikat zu der Zertifikatsdatenbank hinzuzufügen:
$ dpadm add-cert instance-path cert-alias |
Dieser Schritt wird unter Creating, Requesting and Installing Certificates for Directory Proxy Server in Sun Java System Directory Server Enterprise Edition 6.3 Administration Guide beschrieben.
Wenn das vertrauenswürdige Zertifikatsautoritätszertifikat bereits in der Zertifikatsdatenbank gespeichert ist, führen Sie zum Hinzufügen folgenden Befehl aus:
$ dpadm add-cert --ca instance-path trusted-cert-alias |
Dieser Schritt wird unter Creating, Requesting and Installing Certificates for Directory Proxy Server in Sun Java System Directory Server Enterprise Edition 6.3 Administration Guide beschrieben.
Führen Sie folgende Befehle aus, um festzustellen, ob das neue Zertifikat verwendet wird.
$ dpadm show-cert -F ascii -o cert-output-file \ dps-instance-path cert-alias $ dsadm add-cert ds-instance-path cert-alias \ cert-output-file $ dsadm show-cert ds-instance-path cert-alias |
Wenn Sie mit einem Microsoft SQL-Server-Backend die Felder smalldate verwenden, wird nur die lange Version der Daten unterstützt, andernfalls tritt ein Umwandlungsfehler auf, wie im folgenden Beispiel dargestellt.
ldap_modify: Operations error ldap_modify: additional info: java.lang.Exception: \ com.microsoft.sqlserver.jdbc.SQLServerException: \ Conversion failed when converting datetime from character string. |
Die lange Version eines Datums verwendet die Form YYYY -MM-DD HH:MM.