ECS: Jak skonfigurować i zaakceptować certyfikaty za pośrednictwem LDAPS w ECS

Summary: Konfigurowanie i akceptowanie certyfikatów za pośrednictwem protokołu LDAPS (Lightweight Directory Access Protocol Secure) w 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, znany także jako Lightweight Directory Access Protocol (LDAP) over Secure Socket Layer (SSL) lub Transport Layer Security (TLS), to szyfrowana forma ruchu LDAP używana przez serwer Active Directory (AD) lub LDAP.

Protokół LDAPS zależy od działającego połączenia LDAP. Zapoznaj się z podręcznikiem administracji ECS i tym artykułem bazy wiedzy ECS: Konfigurowanie połączenia z serwerem AD lub LDAP w interfejsie użytkownika

Krytycznym komponentem komunikacji SSL lub TLS są certyfikaty. Upewnij się, że użyte certyfikaty nie wygasły i nie są nieprawidłowe. Jest to ważne, aby wszystkie certyfikaty w całym łańcuchu certyfikatów były poprawne.
Skontaktuj się w tej sprawie z zespołem ds. sieci.

Aby przesłać łańcuch certyfikatów LDAPS i włączyć LDAPS, wykonaj następujące czynności.
1. Adres IP zarządzania węzłem jest niezbędny do przesłania łańcucha certyfikatów LDAPS.
2. Użytkownik root interfejsu użytkownika musi przesłać łańcuch certyfikatów LDAPS do interfejsu wiersza poleceń zarządzania węzłami.
3A. Łańcuch certyfikatów LDAPS w ładunku XML wysyłanym na adres
IP zarządzania węzłem 3B. Ustawienie parametru LDAPS enable w ładunku XML na adres
IP zarządzania węzłem 4. Użyj LDAPS na stronie dostawcy uwierzytelniania ECS, wpisując w pełni kwalifikowaną nazwę domeny (FQDN) zamiast adresu IP.
5. Przetestuj login użytkownika domeny.

W przypadku kroku 3
zamiast adresu IP wymagana jest nazwa FQDN, ponieważ:
"W przypadku certyfikatów SSL certyfikat musi mieć alternatywną nazwę podmiotu (SAN) w certyfikacie, aby pasował do połączenia, sieć SAN jest prezentowana tylko z nazwą DNS zgodną z konfiguracją w ECS".

W związku z tym upewnij się, że strona dostawcy uwierzytelniania ECS, w oknie dialogowym adresu URL serwera używa nazwy FQDN zamiast adresu IP.
Przykład: ldaps://ad-or-ldap-fqdn-domain.com

Powyższe kroki:

  1. Adres IP zarządzania węzłem jest niezbędny do przesłania łańcucha certyfikatów LDAPS.

Aby sprawdzić ustawienia ECS dotyczące ustawień certyfikatu LDAPS, najpierw uzyskaj adres IP zarządzania węzłami do użycia.
Jeśli istnieje separacja sieci dla zarządzania interfejsem użytkownika, "getrackinfo -n" wyświetla wartości "MGMT". 

Użyj adresu IP zarządzania węzłami. Replikacja i separacja sieci danych nie są związane z tymi krokami:       

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


Jeśli w centrum VDC nie ma separacji zarządzania siecią, użyj publicznego adresu IP węzła. 
 

UWAGA: Separacja sieci ma pierwszeństwo, jeśli sieć zarządzania istnieje.

W poniższym przykładzie nie istnieje MGMT w "getrackinfo -n"; w związku z tym użyj publicznego adresu IP w getrackinfo jako adres IP do zarządzania dla kolejnych kroków.

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. Użytkownik root interfejsu użytkownika jest wymagany do przesłania łańcucha certyfikatów LDAPS do interfejsu wiersza polecenia zarządzania węzłami.

Użyj uzyskanego adresu IP zarządzania, aby uzyskać token użytkownika głównego. Wymagane jest hasło użytkownika root (lub użytkownika interfejsu użytkownika z uprawnieniami administratora interfejsu użytkownika):

curl -s -k -v -u <user> https://<NodeManagementIP>:4443/login 2>&1
Przykład:
# 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>


Jeśli wynik jest inny niż "HTTP/1.1 200 OK", sprawdź hasło i adres IP, czyli czy istnieje separacja sieci zarządzania interfejsem użytkownika z polecenia

"getrackinfo -n.".Za pomocą tokenu użytkownika głównego utwórz zmienną tokenu. 

UWAGA: Prawidłowy token może wymagać aktualizacji, jeśli w nowej sesji wiersza poleceń:

# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='
Aby przetestować wartość tokenu, uruchom polecenie curl Polecenie sprawdzenia pojemności: 

# 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. Łańcuch certyfikatów LDAPS w ładunku XML wysyłanym na adres

IP zarządzania węzłem 3B. Ustawienie parametru LDAPS enable Zaakceptuj parametr LDAPS w ładunku XML na adres IP zarządzania węzłem.

Powyższe polecenie używa tokenu użytkownika głównego w celu uzyskania dostępu curl do magazynu zaufanych certyfikatów interfejsu użytkownika ECS, do którego można przesłać certyfikat LDAPS.
Więcej informacji na temat dodawania niestandardowego certyfikatu LDAP można znaleźć w podręczniku administratora ECS.

Pobierz ustawienia truststore za pomocą curl GET :

curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore/settings | xmllint --format -
Przykład: 
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>

W powyższym przykładzie truststore "accept_all_certificates" jest ustawiona na wartość false. Oznacza to, że żadne certyfikaty LDAPS nie są zaufane.

Ten "accept_all_certificates" Termin może być niejednoznaczny, ale jest to flaga, która nadal jest używana przez ECS do określania, czy mają być używane certyfikaty LDAPS.
Użytkownik może chcieć, aby to ustawienie było prawdziwe lub fałszywe, w zależności od potrzeb. Aby przetestować połączenie LDAPS przez ustawienie wartości true i przetestowanie loginu użytkownika, można zweryfikować połączenie LDAPS
 

UWAGA: Za każdym razem, gdy certyfikat LDAPS jest przesyłany lub usuwany z zaufanego magazynu, "accept_all_certificates" zmienia się z powrotem w fałsz. Tak więc, jeśli edytujesz zaufany magazyn, musisz ustawić "accept_all_certificates" Wróć do prawdy później.


Utwórz plik xml, aby zmienić ustawienia magazynu zaufania za pomocą polecenia curl z ładunkiem xml:

# 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>

Aby ustawić wartość accept_all_certificates na false, zmodyfikuj plik ładunku na false zamiast true, a następnie uruchom polecenie PUT przy użyciu pliku ładunku.

Uruchom polecenie curl z plikiem xml jako ładunkiem za pomocą polecenia curl PUT:

# 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


Aby sprawdzić, czy "accept_all_certificates" jest zaktualizowany, uruchom polecenie curl GET:

# 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>


Aby sprawdzić zaufany magazyn, a nie tylko ustawienie truststore:

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


Przykład pustego magazynu zaufanych certyfikatów LDAP:

# 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/>


Może być potrzebnych wiele certyfikatów, ponieważ ECS wymaga całego łańcucha certyfikatów, certyfikatu głównego, certyfikatu CA, certyfikatu hosta itd.
Aby dodać certyfikat do magazynu zaufanych certyfikatów, utwórz plik xml certyfikatu posiadanego przez użytkownika. Certyfikat może być typem pliku .pem, .crt, .cer itd.

Aby przesłać certyfikaty do ECS, powinny one być w formacie xml, aby działały jako ładunek xml.

Plik certyfikatu w formacie innym niż xml:

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


Format xml polecenia curl add:

# 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>


Prześlij format xml ładunku certyfikatu: 

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


Aby sprawdzić, czy certyfikat został przesłany, uruchom polecenie GET. Znak wiersza końcowego w magazynie zaufanych certyfikatów ECS to " ."

# 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>


Aby sprawdzić, czy ustawienia LDAPS nie zostały przywrócone, uruchom polecenie curl GET:

# 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>


Jeśli powrócił do wartości false, ustaw ją z powrotem na true,
tak jak w przypadku zmiany w zaufanym magazynie, ustawienie może ustawić się na "false".

Uruchom polecenie curl z plikiem xml jako ładunkiem za pomocą polecenia curl PUT:

# 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


Aby sprawdzić ustawienia LDAPS

# 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>

 

UWAGA: W zaufanym magazynie może znajdować się wiele certyfikatów. Pamiętaj, że może być wymagany cały łańcuch certyfikatów.
 

4. Użyj LDAPS na stronie dostawcy uwierzytelniania ECS z nazwą FQDN zamiast adresu IP.

Z łańcuchem certyfikatów LDAPS przesłanym do magazynu zaufanych certyfikatów ECS i accept_all_certificates ustawiona na true, przejdź do strony dostawcy uwierzytelniania interfejsu użytkownika ECS i zmień adres URL serwera z.
< ldap://Adres IP lub nazwa FQDN>kontrolera domenyNa
ldaps://< nazwa FQDN>

kontrolera domeny Czyli:Strona dostawcy uwierzytelniania interfejsu użytkownika ECS
nazwa FQDN z protokołemStrona dostawcy uwierzytelniania interfejsu użytkownika ECS i zmień nazwę FQDN adresu URL serwera przy użyciu protokołu ldaps
LDAPS
Musi to być nazwa FQDN dla użycia

LDAPS


Nazwa FQDN jest potrzebna zamiast adresu IP jako:
"W przypadku certyfikatów SSL certyfikat musi mieć alternatywną nazwę podmiotu (SAN) w certyfikacie, aby był zgodny z połączeniem, sieć SAN jest prezentowana tylko z nazwą DNS zgodną z konfiguracją w ECS".

W związku z tym upewnij się, że strona dostawcy uwierzytelniania ECS, okno dialogowe adresu URL serwera używa nazwy FQDN zamiast adresu IP.
Czyli:
ldaps://fqdn-domain-of-the-ad-or-ldap-server.com

UWAGA: Port można pominąć, jeśli używany jest port domyślny.
 
Porty:
Domyślnym portem LDAP jest 389. 
Domyślnym portem LDAPS jest 636.

Format adresu URL w przypadku portu innego niż domyślny:
< ldap://Adres IP kontrolera domeny lub nazwa FQDN:<>port> lub ldaps://< nazwa FQDNkontrolera> domeny:<port>

5. Przetestuj login użytkownika domeny.

Następnie przetestuj logowanie użytkownika domeny przy użyciu protokołu LDAPS pod kątem pomyślnego logowania użytkowników domeny za pomocą protokołu LDAPS.

W związku z tym połączenie protokołu ECS-LDAPS działa.


Pozostałe informacje:

W razie potrzeby: 
Aby usunąć certyfikat z magazynu zaufanych certyfikatów, utwórz plik xml zgodny z certyfikatem do usunięcia, ale zamiast "add" jako ładunku danych użyj "remove":
# 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>


Aby użyć pliku ładunku, czyli dodać lub usunąć, użyj następującego polecenia:

# 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

Aby sprawdzić, czy ładunek danych został załadowany pomyślnie, uruchom polecenie GET:

# 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/>


Jeśli nie masz pewności, czy serwer LDAPS nie jest zgodny z podanym certyfikatem, uruchom następujące polecenie, aby sprawdzić, czy oczekiwana odpowiedź z żądania serwera LDAPS zawiera pasujący certyfikat. 

UWAGA: Prosi o cały łańcuch "verify error:num=21:unable to verify the first certificate".


W tym przykładzie serwer LDAPS jest certyfikatem z podpisem własnym, a nie certyfikatem innej firmy, więc może wygenerować dodatkowe ostrzeżenie, że jest on z podpisem własnym:

# 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


Sprawdź plik certyfikatu łączący się z serwerem LDAPS i sprawdź, czy istnieje pasujący certyfikat, czyli Sprawdź kod powrotu: 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)
---


 

UWAGA: Certyfikaty mogą wygasnąć i mogą mieć wpływ na połączenie, jeśli nie zostaną zaktualizowane.

Aby to sprawdzić, użyj tego polecenia:

# 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



Wersja JSON przykładowych poleceń.
Jeśli nie korzystasz z powyższych poleceń XML (uwaga: preferowany format XML):

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

 

Przykład: 
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}


Aby utworzyć plik JSON w celu zmiany ustawień magazynu zaufanych certyfikatów klienta przy użyciu polecenia curl z ładunkiem JSON:

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


Moduł json.tool w języku Python może zweryfikować format pliku JSON. Jeśli wystąpi błąd, plik może nie być plikiem JSON. W tym przykładzie nie ma żadnych błędów i wyprowadza plik, więc jest to sformatowany plik JSON:     

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


Uruchom polecenie curl z plikiem JSON jako ładunkiem danych za pomocą polecenia curl PUT:

# 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
NUTA:
Ładunek XML PUT używa --data-binary w poleceniu curl, podczas gdy ładunek JSON PUT używa -d W poleceniu curl:
--data-binary


(HTTP) Spowoduje to zaksięgowanie danych dokładnie tak, jak określono, bez dodatkowego przetwarzania:
--data-ascii aka -d
(HTTP) Jest to alias -d, --data.

Aby sprawdzić, czy jest ona zaktualizowana, uruchom polecenie curl GET:

# 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}

Przetestuj logowanie użytkownika domeny w interfejsie ECS pod kątem zezwolenia

na korzystanie z certyfikatów LDAPSAby sprawdzić zaufany magazyn:

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


Przykład pustego magazynu zaufanych certyfikatów LDAP:

# 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":[]}


Format JSON dla polecenia curl add, jednowierszowego pliku ze znakami nowego wiersza zamienionymi na \n i \r\n:

Przykład: {"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-----"]}


Zapoznaj się z podręcznikiem administracyjnym ECS "Dodaj niestandardowy certyfikat LDAP". Użyj tego polecenia, aby dodać lub usunąć:

# 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


Aby sprawdzić przesyłanie:

# 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-----"]}


Aby sprawdzić, czy ustawienia LDAPS nie zostały przywrócone, uruchom polecenie curl GET:

# 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}

Jeśli wartość została przywrócona do wartości false, ustaw wartość z powrotem na true. W przypadku zmiany zaufanego magazynu ustawienie może ustawić się na "false".

Uruchom polecenie curl z plikiem JSON jako ładunkiem danych za pomocą polecenia curl PUT:   

# 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

Aby sprawdzić ustawienia LDAPS

# 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}

 

UWAGA: W zaufanym magazynie może znajdować się wiele certyfikatów. Pamiętaj, że może być wymagany cały łańcuch certyfikatów.


Aby usunąć certyfikat z magazynu zaufanych certyfikatów, utwórz plik JSON zgodny z certyfikatem do usunięcia, ale zamiast "add" jako ładunku danych użyj polecenia "remove":

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

Aby dodać lub usunąć, użyj następującego polecenia:

# 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

Aby sprawdzić przesyłanie:

# 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.