ECS: Anleitung zum Einrichten und Akzeptieren von Zertifikaten über LDAPS auf ECS

Summary: Anleitung zum Einrichten und Akzeptieren von Zertifikaten über Lightweight Directory Access Protocol Secure (LDAPS) auf ECS.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

LDAPS, auch bekannt als Lightweight Directory Access Protocol (LDAP) über Secure Socket Layer (SSL) oder Transport Layer Security (TLS), ist eine verschlüsselte Form der LDAP-Nutzung für einen Active Directory (AD)- oder LDAP-Server.

LDAPS hängt von einer funktionierenden LDAP-Verbindung ab. Lesen Sie den ECS-Administrationsleitfaden und diesen Wissensdatenbank-Artikel ECS: So richten Sie eine AD- oder LDAP-Serververbindung über die Benutzeroberfläche

einEine kritische Komponente bei der SSL- bzw. TLS-Kommunikation sind die Zertifikate. Stellen Sie sicher, dass die verwendeten Zertifikate nicht abgelaufen und ungültig sind. Dies ist wichtig, damit alle Zertifikate in der gesamten Zertifikatskette korrekt sind.
Wenden Sie sich diesbezüglich an Ihr Netzwerkteam.

Beachten Sie die folgenden Schritte, um die LDAPS-Zertifikatkette hochzuladen und LDAPS zu aktivieren.
1. Eine Node-Management-IP-Adresse ist ein Muss, um die LDAPS-Zertifikatkette hochzuladen.
2. Der UI-Root-Nutzer muss die LDAPS-Zertifikatkette in die Node-Management-CLI-Schnittstelle hochladen.
3A. Das LDAPS-Zertifikat wird in einer XML-Payload an die Node-Management-IP-Adresse
3B weitergeleitet. Die LDAPS-Freigabeparametereinstellung in einer XML-Payload an die Node-Management-IP-Adresse
4. Verwenden Sie LDAPS auf der Seite des ECS-Authentifizierungsanbieters mit einem vollständig qualifizierten Domainnamen (FQDN) anstelle einer IP-Adresse.
5. Testen Sie die Domainnutzeranmeldung.

Für Schritt 3
wird anstelle einer IP-Adresse ein FQDN benötigt, denn:
"Bei SSL-Zertifikaten muss das Zertifikat über einen alternativen Betreffnamen (Subject Alternate Name, SAN) verfügen, der mit der Verbindung übereinstimmt. Dem SAN wird nur ein DNS-Name angezeigt, der der Konfiguration auf dem ECS entspricht."

Vergewissern Sie sich daher, dass auf der Seite des ECS-Authentifizierungsanbieters im Dialogfeld Server-URL ein FQDN anstelle einer IP-Adresse verwendet wird.
Beispiel: ldaps://ad-or-ldap-fqdn-domain.com

Die oben genannten Schritte:

  1. Eine Node-Management-IP-Adresse ist ein Muss, um die LDAPS-Zertifikatkette hochzuladen.

Um die ECS-Einstellungen in Bezug auf die LDAPS-Zertifikateinstellungen zu prüfen, ermitteln Sie zunächst eine Node-Management-IP.
Wenn für das UI-Management eine Netzwerktrennung vorhanden ist, zeigt "getrackinfo -n" "MGMT"-Werte an. 

Verwenden Sie die MGMT-IP-Adresse des Nodes. Die Trennung von Replikation und Datennetzwerk steht nicht im Zusammenhang mit den folgenden Schritten:       

admin@node1:~> getrackinfo -n
Named networks
==============
Node ID       Network          Ip Address        Netmask            Gateway            VLAN               Interface
1            repl              10.xxx.xxx.11     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
1            mgmt              10.xxx.xxx.21     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
1            data              10.xxx.xxx.31     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
2            repl              10.xxx.xxx.12     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
2            mgmt              10.xxx.xxx.22     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
2            data              10.xxx.xxx.32     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
3            repl              10.xxx.xxx.13     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
3            mgmt              10.xxx.xxx.23     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
3            data              10.xxx.xxx.33     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
4            repl              10.xxx.xxx.14     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
4            mgmt              10.xxx.xxx.24     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
4            data              10.xxx.xxx.34     255.255.254.0      xxx.xxx.xxx.xxx    15                 public


Wenn es keine Netzwerkmanagement-Trennung auf dem VDC gibt, verwenden Sie stattdessen die öffentliche IP-Adresse des Node. 
 

HINWEIS: Eine Netzwerktrennung hat Vorrang, wenn das Managementnetzwerk vorhanden ist.

Im folgenden Beispiel existiert kein MGMT in "getrackinfo -n"; Verwenden Sie daher die öffentliche IP-Adresse in getrackinfo als Management-IP-Adresse für die nächsten Schritte.

admin@node1:~> getrackinfo -n 
Named networks 
============== 
Node ID       Network          Ip Address        Netmask            Gateway            VLAN               Interface admin@node1:~>


admin@node1:~> getrackinfo
Node private      Node              Public                                  BMC
Ip Address        Id       Status   Mac                 Ip Address          Mac                 Ip Address          Node Name
===============   ======   ======   =================   =================   =================   =================   =========
192.1XX.2XX.1     1        MA       a4:bf:xx:xx:xx:74   10.xx.xx.1          a4:bf:xx:xx:xx      192.1XX.2XX.101     provo-red
192.1XX.2XX.2     2        SA       a4:bf:xx:xx:xx:c8   10.xx.xx.2          a4:bf:xx:xx:xx      192.1XX.2XX.102     sandy-red
192.1XX.2XX.3     3        SA       a4:bf:xx:xx:xx:e0   10.xx.xx.3          a4:bf:xx:xx:xx      192.1XX.2XX.103     orem-red
192.1XX.2XX.4     4        SA       a4:bf:xx:xx:xx:56   10.xx.xx.4          a4:bf:xx:xx:xx      192.168.219.104     ogden-red

2. Der Root-Nutzer der Benutzeroberfläche ist erforderlich, um die LDAPS-Zertifikatkette in die Node-Management-CLI-Schnittstelle hochzuladen.

Verwenden Sie die erworbene Management-IP-Adresse, um das Root-Nutzertoken abzurufen. Das Kennwort für den Root-Nutzer ist erforderlich (oder ein UI-Nutzer mit UI-Administratorrechten):

curl -s -k -v -u <user> https://<NodeManagementIP>:4443/login 2>&1
Beispiel:
# curl -s -k -v -u root https://10.xxx.xxx.21:4443/login 2>&1
Enter host password for user 'root':
......

< HTTP/1.1 200 OK
< Date: Thu, 14 Jan 2021 13:51:24 GMT
< Content-Type: application/xml
< Content-Length: 93
< Connection: keep-alive
< X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8=
< X-SDS-AUTH-USERNAME: root
< X-SDS-AUTH-MAX-AGE: 28800
<
* Connection #0 to host 10.xxx.xxx.21 left intact
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><loggedIn><user>root</user></loggedIn>


Wenn die Ausgabe nicht "HTTP/1.1 200 OK" ist, überprüfen Sie das Kennwort und die IP-Adresse, d. h., wenn eine Trennung des UI-Managementnetzwerks vom Befehl "getrackinfo -n." besteht.

Erstellen Sie mit dem Root-Nutzertoken eine Tokenvariable. 

HINWEIS: Ein gültiges Token muss möglicherweise aktualisiert werden, wenn es sich in einer neuen CLI-Sitzung befindet:

# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='
Um den Tokenwert zu testen, führen Sie einen curl Befehl zum Überprüfen der Kapazität: 

# curl -k -X GET -H "$TOKEN" https://10.xxx.xxx.21:4443/object/capacity | xmllint --format -        
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed
100   176  100   176    0     0    249      0 --:--:-- --:--:-- --:--:--   250

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cluster_capacity>
  <totalFree_gb>100657</totalFree_gb>
  <totalProvisioned_gb>447005</totalProvisioned_gb>
</cluster_capacity>

3A. Das LDAPS-Zertifikat wird in einer XML-Payload an die Node-Management-IP-Adresse

3B weitergeleitet. Die Einstellung der LDAPS-Aktivierungsparameter. Akzeptieren Sie den LDAPS-Parameter in einer XML-Payload an die Node-Management-IP-Adresse.

Im obigen Beispiel wird das Root-Nutzertoken verwendet, um Curl-Zugriff auf den Truststore der ECS-Benutzeroberfläche zu erhalten, in den das LDAPS-Zertifikat hochgeladen werden kann.
Weitere Informationen zum Hinzufügen eines nutzerdefinierten LDAP-Zertifikats finden Sie im ECS-Administratorhandbuch.

Rufen Sie die Truststore-Einstellungen mit einem curl GET Befehl durchgeführt:

curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore/settings | xmllint --format -
Beispiel: 
curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore/settings | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings>
  <accept_all_certificates>false</accept_all_certificates>
</truststore_settings>

Im obigen Beispiel ist der Truststore "accept_all_certificates" auf false festgelegt ist. Das bedeutet, dass keine LDAPS-Zertifikate vertrauenswürdig sind.

Das "accept_all_certificates" Der Begriff kann mehrdeutig sein, aber es ist ein Flag, das weiterhin für ECS verwendet wird, um zu bestimmen, ob LDAPS-Zertifikate verwendet werden sollen.
Ein Benutzer möchte dies je nach Bedarf auf true oder false setzen. Um die LDAPS-Verbindung zu testen, kann die LDAPS-Verbindung validiert werden, indem Sie sie auf true festlegen und die Nutzeranmeldung testen.
 

HINWEIS: Jedes Mal, wenn ein LDAPS-Zertifikat hochgeladen oder aus dem Truststore entfernt wird, wird die "accept_all_certificates" kehrt zu "false" zurück. Wenn Sie also den Truststore bearbeiten, müssen Sie die "accept_all_certificates" danach wieder zu True zurückgekehrt.


Erstellen Sie eine XML-Datei, um die Truststore-Einstellungen mithilfe eines curl-Befehls mit einer XML-Payload zu ändern:

# sudo vi truststoresettings.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings_changes>
<accept_all_certificates>true</accept_all_certificates>
</truststore_settings_changes>


# cat truststoresettings.xml | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings_changes>
  <accept_all_certificates>true</accept_all_certificates>
</truststore_settings_changes>

Um accept_all_certificates auf false festzulegen, bearbeiten Sie die Payload-Datei in "false" statt "true" und führen Sie den Befehl PUT mithilfe der Payload-Datei aus.

Führen Sie einen curl-Befehl mit einer xml-Datei als Payload mit einem curl put-Befehl aus:

# curl -s -k -X PUT -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore/settings --data-binary @truststoresettings.xml


Um zu überprüfen, ob "accept_all_certificates" aktualisiert wurde, führen Sie den Befehl curl GET aus:

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore/settings  | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings_changes>
  <accept_all_certificates>true</accept_all_certificates>
</truststore_settings_changes>


So untersuchen Sie den Truststore, nicht nur die Truststore-Einstellung:

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore | xmllint --format -


Beispiel für einen leeren LDAP-Zertifikat-Truststore:

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trusted_certificates/>


Möglicherweise sind mehrere Zertifikate erforderlich, da ECS die gesamte Zertifikatkette, das Stammzertifikat, das CA-Zertifikat, das Hostzertifikat usw. benötigt.
Um ein Zertifikat zum Truststore hinzuzufügen, erstellen Sie eine XML-Datei des Zertifikats des Nutzers. Ein Zertifikat kann die Dateitypen .pem, .crt, .cer usw. sein.

Um die Zertifikate in ECS hochzuladen, sollten sie im XML-Format vorliegen, damit sie als XML-Payload fungieren.

Datei des Zertifikats im Nicht-XML-Format:

# cat cert.crt
-----BEGIN CERTIFICATE-----
MIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HhrV5ezjYHY=
-----END CERTIFICATE-----


Das XML-Format für einen curl add-Befehl:

# cat cert.xml | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trusted_certificate_changes>
  <add>
    <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgITMQAAAATxxxxxxxxxxxxxxxxxxxxxxxxxhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZPyLGQBGRYxxxxxxxxxxxxxxxxxxxxxxxxxFgR2aXRjMRMw
.......................
pkHgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzxhlGh2TaTC
xqz4T/sO4ggWs0Yz5nBmCZMDn6nxxxxxxrjX+ahXI=
-----END CERTIFICATE-----</certificate>
  <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZFgR2aXRjMRMw
EQYKCZImiZPyLGQBGRxxxxxxxxxxxxxxxxxxxxxxxxxxRW50ZXJwcmlzZS1DQTAe
Fw0yMDA2MDgwNzQwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxIiMA0GCSqGSIb3DQEB
..........................
8wYIKWr2AqSKKxcBHxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3ykeRMZJk7VpQDQDLN
feFI4rHZ4JOqDWttiHxxxxxxxxxxxxxxxxxxxxxxxxxxxhpXsxyjQIRvrtaCZVXz
GR7Na7Ah1o+9MWenMExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGQlsQ47nZE2YgV
-----END CERTIFICATE-----</certificate>
  </add>
</trusted_certificate_changes>


Laden Sie das XML-Format der Zertifikatnutzlast hoch: 

curl -i -s -k -X PUT -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore --data-binary @cert.xml


Um zu überprüfen, ob das Zertifikat hochgeladen wurde, führen Sie den Befehl GET aus. Das Endzeilenzeichen im ECS-Truststore ist " ."

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trusted_certificates>
  <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgITMQAAAATxxxxxxxxxxxxxxxxxxxxxxxxxhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZPyLGQBGRYxxxxxxxxxxxxxxxxxxxxxxxxxFgR2aXRjMRMw
.......................
pkHgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzxhlGh2TaTC
xqz4T/sO4ggWs0Yz5nBmCZMDn6nxxxxxxrjX+ahXI=
-----END CERTIFICATE-----</certificate>
  <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZFgR2aXRjMRMw
EQYKCZImiZPyLGQBGRxxxxxxxxxxxxxxxxxxxxxxxxxxRW50ZXJwcmlzZS1DQTAe
Fw0yMDA2MDgwNzQwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxIiMA0GCSqGSIb3DQEB
..........................
8wYIKWr2AqSKKxcBHxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3ykeRMZJk7VpQDQDLN
feFI4rHZ4JOqDWttiHxxxxxxxxxxxxxxxxxxxxxxxxxxxhpXsxyjQIRvrtaCZVXz
GR7Na7Ah1o+9MWenMExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGQlsQ47nZE2YgV
-----END CERTIFICATE-----</certificate>
</trusted_certificates>


Um zu überprüfen, ob die LDAPS-Einstellungen nicht zurückgesetzt wurden, führen Sie den Befehl curl GET aus:

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore/settings | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings>
  <accept_all_certificates>false</accept_all_certificates>
</truststore_settings>


Wenn er auf false zurückgesetzt wurde, setzen Sie ihn wieder auf true,
denn bei einer Änderung des Truststores kann sich die Einstellung selbst auf "false" setzen.

Führen Sie einen curl-Befehl mit einer xml-Datei als Payload mit einem curl put-Befehl aus:

# curl -s -k -X PUT -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore/settings --data-binary @truststoresettings.xml


So überprüfen Sie die LDAPS-Einstellungen:

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore/settings | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings>
  <accept_all_certificates>true</accept_all_certificates>
</truststore_settings>

 

HINWEIS: Möglicherweise sind mehrere Zertifikate im Truststore vorhanden. Denken Sie daran, dass möglicherweise die gesamte Zertifikatskette erforderlich ist.
 

4. Verwenden Sie LDAPS auf der Seite des ECS-Authentifizierungsanbieters mit FQDN anstelle einer IP-Adresse.

Nachdem die LDAPS-Zertifikatkette in den ECS-Truststore hochgeladen wurde und die accept_all_certificates Wenn das Flag auf "true" gesetzt ist, navigieren Sie zur Seite "ECS UI authentication provider" und ändern Sie die Server-URL von.
< ldap://IP-Adresse oder FQDN>des Domänencontrollersan
ldaps://< FQDN>

des Domänencontrollers, d. h.:
Seite des ECS-UI-Authentifizierungsanbieters
FQDN mit dem LDAPS-Protokoll
Seite

Es muss sich um einen FQDN für die LDAPS-Nutzung handeln.


Ein FQDN wird anstelle einer IP-Adresse benötigt, denn:
"Bei SSL-Zertifikaten muss das Zertifikat einen alternativen Betreffnamen (Subject Alternate Name, SAN) im Zertifikat haben, der für die Verbindung mit der Verbindung übereinstimmt. Dem SAN wird nur ein DNS-Name angezeigt, der der Konfiguration auf dem ECS entspricht."

Vergewissern Sie sich daher, dass auf der Seite "ECS authentication provider" im Dialogfeld "Server-URL" ein FQDN anstelle einer IP-Adresse verwendet wird.
Das heißt:
ldaps://fqdn-domain-of-the-ad-or-ldap-server.com

HINWEIS: Der Port kann ausgelassen werden, wenn der Standardport verwendet wird.
 
Häfen:
Der Standardport für LDAP ist 389. 
Der Standardport für LDAPS ist 636.

URL-Format, wenn nicht standardmäßiger Port:
< ldap://IP-Adresse oder FQDN> des Domänencontrollers:< Port> oder FQDN> des ldaps://< Domänencontrollers:< Port>

5. Testen Sie die Domainnutzeranmeldung.

Testen Sie dann die Domainnutzeranmeldung, während das LDAPS-Protokoll die Domainnutzer erfolgreich über LDAPS anmelden können.

Daher funktioniert die ECS-LDAPS-Protokollverbindung.


Ergänzende Angaben:

Bei Bedarf: 
Um ein Zertifikat aus dem Truststore zu entfernen, erstellen Sie eine XML-Datei, die dem zu entfernenden Zertifikat entspricht, aber nicht "add" als Payload verwenden Sie "remove"aus:
# cat cert_remove.xml | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trusted_certificate_changes>
  <remove>
    <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgITMQAAAATxxxxxxxxxxxxxxxxxxxxxxxxxhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZPyLGQBGRYxxxxxxxxxxxxxxxxxxxxxxxxxFgR2aXRjMRMw
.......................
pkHgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzxhlGh2TaTC
xqz4T/sO4ggWs0Yz5nBmCZMDn6nxxxxxxrjX+ahXI=
-----END CERTIFICATE-----</certificate>
  <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZFgR2aXRjMRMw
EQYKCZImiZPyLGQBGRxxxxxxxxxxxxxxxxxxxxxxxxxxRW50ZXJwcmlzZS1DQTAe
Fw0yMDA2MDgwNzQwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxIiMA0GCSqGSIb3DQEB
..........................
8wYIKWr2AqSKKxcBHxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3ykeRMZJk7VpQDQDLN
feFI4rHZ4JOqDWttiHxxxxxxxxxxxxxxxxxxxxxxxxxxxhpXsxyjQIRvrtaCZVXz
GR7Na7Ah1o+9MWenMExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGQlsQ47nZE2YgV
-----END CERTIFICATE-----</certificate>
  </remove>
</trusted_certificate_changes>


Verwenden Sie diesen Befehl, um die Payload-Datei zu verwenden, d. h. hinzufügen oder entfernen:

# curl -s -k -X PUT -H Content-Type:application/xml-H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore --data-binary @cert_remove.xml

Um zu überprüfen, ob die Payload erfolgreich war, führen Sie den GET-Befehl aus:

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trusted_certificates/>


Wenn Sie sich nicht sicher sind, ob der LDAPS-Server nicht mit dem bereitgestellten Zertifikat übereinstimmt, führen Sie den folgenden Befehl aus, um die erwartete Antwort der LDAPS-Serveranforderung nach einem übereinstimmenden Zertifikat zu überprüfen. 

HINWEIS: Es verlangt nach der gesamten Kette "verify error:num=21:unable to verify the first certificate".


In diesem Beispiel ist der LDAPS-Server ein selbstsigniertes Zertifikat und kein Drittanbieterzertifikat, sodass er möglicherweise eine zusätzliche Warnung erzeugt, dass er selbstsigniert ist:

# sudo openssl s_client -connect LDAPS_server_IP:636 < /dev/null
CONNECTED(00000003)
depth=0 CN = 
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = 
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
........
---
Server certificate
-----BEGIN CERTIFICATE-----
.......
A cert that it expects.
.......
-----END CERTIFICATE-----
No client certificate CA names sent
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: RSA+SHA512:ECDSA+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA1:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA1:DSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA512:ECDSA+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA1:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA1:DSA+SHA1
Peer signing digest: SHA1
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2223 bytes and written 487 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA384
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
.......................
    SRP username: None
    Start Time: 1610452553
    Timeout   : 300 (sec)
    Verify return code: 21 (unable to verify the first certificate)
---
DONE


Überprüfen Sie die Zertifikatdatei, die eine Verbindung zum LDAPS-Server herstellt, und ob ein übereinstimmendes Zertifikat vorhanden ist, das verwendet werden soll, d. h. Rückgabecode überprüfen: 0 (ok):

# openssl s_client -connect LDAPS_server_IP:636 -CAfile /home/admin/cert_file_to_be_used.crt
CONNECTED(00000003)
.......
---
Server certificate
-----BEGIN CERTIFICATE-----
.....
.....
-----END CERTIFICATE-----
.......
---
No client certificate CA names sent
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: RSA+SHA512:ECDSA+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA1:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA1:DSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA512:ECDSA+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA1:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA1:DSA+SHA1
Peer signing digest: SHA1
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2223 bytes and written 487 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA384
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
 .........
    Verify return code: 0 (ok)
---


 

HINWEIS: Zertifikate können ablaufen und sich auf die Verbindung auswirken, wenn sie nicht aktualisiert werden.

Um dies zu überprüfen, verwenden Sie diesen Befehl:

# cat /home/admin/cert.crt | openssl x509 -dates -noout
notBefore=Jan 12 13:43:52 2021 GMT
notAfter=Jan 12 13:43:52 2022 GMT



JSON-Version des Befehlsbeispiels.
Wenn Sie die oben genannten XML-Befehle nicht verwenden (beachten Sie, dass XML bevorzugt wird):

curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings

 

Beispiel: 
curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":false}


So erstellen Sie eine JSON-Datei, um die Truststore-Einstellungen mit einem curl-Befehl mit einer JSON-Payload zu ändern:

# sudo vi truststoresettings.json
# sudo cat truststoresettings.json
{"accept_all_certificates": "true"}


Das json.tool-Modul auf Python kann ein JSON-Dateiformat validieren. Wenn ein Fehler auftritt, ist die Datei möglicherweise keine JSON-Datei. In diesem Beispiel gibt es keine Fehler und gibt die Datei aus, sodass es sich um eine formatierte JSON-Datei handelt:     

# python -m json.tool truststoresettings.json
{
    "accept_all_certificates": "true"
}


Führen Sie einen curl-Befehl mit einer JSON-Datei als Payload mit einem curl put-Befehl aus:

# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings -d @truststoresettings.json
ANMERKUNG:
XML-Payload-PUT verwendet --data-binary im curl-Befehl, während JSON-Payload-PUT verwendet -d Gehen Sie im curl-Befehl wie folgt vor:
--data-binary


(HTTP) Dadurch werden Daten genau wie angegeben ohne zusätzliche Verarbeitung ausgegeben:
--data-ascii aka -d
(HTTP) Dies ist ein Alias für -d, --dataaus.

Um zu überprüfen, ob sie aktualisiert wurde, führen Sie den Befehl curl GET aus:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":true}

Testen Sie die Anmeldung des Domainnutzers auf der ECS-Benutzeroberfläche, wobei die LDAPS-Zertifikate jetzt zulässig sind.

So untersuchen Sie den Truststore:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore


Beispiel für einen leeren Truststore eines LDAP-Zertifikats:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.xxx.21:4443/vdc/truststore
{"certificate":[]}


Das JSON-Format für einen curl add-Befehl, eine einzeilige Datei mit Zeilenumbruchzeichen, die durch \n und \r\n ersetzt werden:

Beispiel: {"add":["-----BEGIN CERTIFICATE-----\nxxxxx\r\n---END CERTIFICATE-----"]}
# cat cert.json
{"add":["-----BEGIN CERTIFICATE-----\nMIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nHhrV5ezjYHY=\r\n---END CERTIFICATE-----"]}


Weitere Informationen finden Sie im ECS-Administrationshandbuch unter "Hinzufügen eines nutzerdefinierten LDAP-Zertifikats". Verwenden Sie diesen Befehl, um Folgendes hinzuzufügen oder zu entfernen:

# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore -d @cert.json


So überprüfen Sie den Upload:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.xxx.21:4443/vdc/truststore
{"certificate":["-----BEGIN CERTIFICATE-----\nMIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nHhrV5ezjYHY=\r\n---END CERTIFICATE-----"]}


Um zu überprüfen, ob die LDAPS-Einstellungen nicht zurückgesetzt wurden, führen Sie den Befehl curl GET aus:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":false}

Wenn er auf "false" zurückgesetzt wurde, setzen Sie ihn wieder auf "true". Wenn eine Änderung am Truststore erfolgt, wird die Einstellung möglicherweise auf "false" gesetzt.

Führen Sie einen curl-Befehl mit einer JSON-Datei als Payload mit einem curl put-Befehl aus:   

# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings -d @truststoresettings.json

So überprüfen Sie die LDAPS-Einstellungen:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":true}

 

HINWEIS: Möglicherweise sind mehrere Zertifikate im Truststore vorhanden. Denken Sie daran, dass möglicherweise die gesamte Zertifikatskette erforderlich ist.


Um ein Zertifikat aus dem Truststore zu entfernen, erstellen Sie eine JSON-Datei, die dem zu entfernenden Zertifikat entspricht, aber verwenden Sie anstelle von "add" als Nutzlast "remove"aus:

# cat cert.json
{"remove":["-----BEGIN CERTIFICATE-----\nMIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nHhrV5ezjYHY=\r\n---END CERTIFICATE-----"]}

Verwenden Sie zum Hinzufügen oder Entfernen diesen Befehl:

# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore -d @cert.json

So überprüfen Sie den Upload:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.xxx.21:4443/vdc/truststore
{"certificate":[]}

Affected Products

ECS Appliance
Article Properties
Article Number: 000183654
Article Type: How To
Last Modified: 04 Nov 2025
Version:  11
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.