Zainstaluj certyfikat główny w CentOS 6

9

Wiem, że już o to pytano, ale pomimo wielu godzin badań nie mogłem znaleźć działającego rozwiązania. Próbuję zainstalować mój certyfikat główny na moim serwerze, aby usługa wewnętrzna mogła się ze sobą połączyć za pomocą protokołu SSL.

Co należy wiedzieć o nowym głównym urzędzie certyfikacji:

  1. Apache httpd i PHP
  2. Klient OpenLDAP
  3. Node.js

Do Apache potrzebuję aplikacji PHP, aby wiedzieć o certyfikacie głównym, więc jeśli witryna łączy się z inną witryną SSL (podpisaną przez ten sam urząd certyfikacji), działa dobrze i nie narzeka na certyfikat z podpisem własnym.

W przypadku OpenLDAP uważam, że jest taki sam jak PHP, moduł, którego używa jest dość stary, to Net_LDAP2, zainstalowany z PEAR. Próbowałem edytować lokalną konfigurację openldap, ale wygląda na to, że system jej nie używa.

Last Node.js, którego używam dla parsoid. Serwery node.js muszą ufać urzędowi certyfikacji, aby uzyskać dobre połączenie SSL.

Próbowałem dodać certyfikat do /etc/pki/tls/certs/ca-bundle.crt z niewielkim powodzeniem.

Chociaż httpd nie widzi głównego urzędu certyfikacji, udało mi się sprawić, że inne usługi z nim współpracują, takie jak tomcat i 389.

Dziękuję za Twoje wsparcie.

John White
źródło
1
To prawie muszą być trzy osobne pytania. Mogę się jednak mylić, być może istnieje ogólnosystemowa metoda zaufania do certyfikatu CA dla wszystkich tych usług. Jeśli nie ma metody obejmującej cały system, należy podzielić ją na trzy osobne pytania, aby uzyskać przydatne odpowiedzi.
Zoredache,
Czego dokładnie próbowałeś? Jest to dość łatwe do zbadania, ponieważ jest to dość często wykonywane. Jeśli wiemy, dlaczego masz problemy, możemy być w stanie udzielić lepszej odpowiedzi niż SSLCACertificateFilew /etc/httpd/conf.d/ssl.conf, TLS_CACERTw /etc/openldap/ldap.conf(Klient OpenLDAP), TLSCACertificateFilew /etc/openldap/slapd.conf(Serwer OpenLDAP) itp.
Aaron Copley,
Apache httpd jest głównym powodem, dla którego opublikowałem to pytanie. Myślę, że czyta certyfikaty systemowe. Ale ich edycja nie działała.
John White,

Odpowiedzi:

7

W moim pudełku RHEL 6 man 8 update-ca-truststrona podręcznika zawiera dość obszerne wyjaśnienie, w jaki sposób można / należy zarządzać certyfikatami CA w całym systemie i powiązanymi trustami.

Częściej niż konfiguracja nie jest specyficzna dla aplikacji, jak wskazują powyższe komentarze.

HBruijn
źródło
2
Nie ma takiej instrukcji dla CentOS. Uważam, że oba systemy mają różne narzędzia administracyjne.
John White,
W większości są do siebie podobne, ale takie małe różnice zawsze mnie potykają. Jest to część rpm certyfikatów ca. Kopię strony podręcznika użytkownika można znaleźć tutaj
HBruijn,
Mój CentOS 6.5 ma stronę podręcznika dla aktualizacji-ca-trust. @ Mc120k czy masz zainstalowane ca-certyfikaty-2013?
Brak
1

Napisałem kilka wierszy poleceń, aby był bardziej dostępny dla początkujących w SSL:

Przejdź do folderu PKI

$ cd /etc/pki/tls/certs/
 

WERYFIKUJ (twarde) linki i certyfikaty zapasowe

$ cp ca-bundle.crt /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem.bak
$ cp ca-bundle.trust.crt /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt.bak
 

Prześlij łańcuch CA do CentOS

$ scp <cachain> root@sydapp28:/tmp 
 

Połącz się z CentOS przez SSH (Putty?) Lub lokalnie

$ ssh -C root@sydapp28
 

IF PKCS12 CAChain: „Konwertuj certyfikat wewnętrznego łańcucha CA na format PEM i usuń nagłówki”:

$ cd /tmp ; openssl pkcs12 -nodes -in <cachain.pfx.p12> | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cachain.pem
 

Dołącz swój wewnętrzny urząd certyfikacji do CentOS

$ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
$ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/ca-bundle.trust.crt
$ reboot
Florian Bidabe
źródło