Installa un certificato radice in CentOS 6


9

So che è già stato chiesto, ma nonostante molte ore di ricerca non sono riuscito a trovare una soluzione funzionante. Sto cercando di installare il mio certificato di root nel mio server, quindi il servizio interno può collegarsi l'un l'altro tramite SSL.

Cosa dovrebbe sapere sulla nuova CA principale:

  1. Apache httpd e PHP
  2. Client OpenLDAP
  3. Node.js

Per Apache ho bisogno di un'applicazione PHP per conoscere il certificato radice, quindi se un sito si collega a un altro sito Web SSL (firmato dalla stessa CA) funziona bene e non si lamenta di un certificato autofirmato.

Per OpenLDAP credo che sia lo stesso di PHP, il modulo che utilizza è piuttosto vecchio, è Net_LDAP2, installato con PEAR. Ho provato a modificare la configurazione openldap locale, ma sembra che il sistema non la stia utilizzando.

Last Node.js, che uso per parsoid. I server node.js devono fidarsi della CA per stabilire una buona connessione SSL.

Ho provato ad aggiungere il certificato a /etc/pki/tls/certs/ca-bundle.crt con scarso successo.

Mentre httpd non vede la CA principale, sono riuscito a far funzionare altri servizi con esso, come Tomcat e 389.

Grazie per il vostro sostegno.


1
Questo deve quasi essere tre domande separate. Potrei sbagliarmi però, forse esiste un metodo a livello di sistema per fidarsi di un certificato CA per tutti quei servizi. Se non esiste un metodo a livello di sistema, potrebbe essere necessario disporre di questo suddiviso in tre domande separate per ottenere risposte utili.
Zoredache,

Cosa hai provato esattamente? Questa è roba facilmente ricercabile in quanto è abbastanza comune. Se sappiamo perché stai riscontrando problemi, potremmo essere in grado di dare una risposta migliore rispetto SSLCACertificateFilea /etc/httpd/conf.d/ssl.conf, TLS_CACERTin /etc/openldap/ldap.conf(Client OpenLDAP), TLSCACertificateFilein /etc/openldap/slapd.conf(Server OpenLDAP), ecc.
Aaron Copley,

Apache httpd è il motivo principale per cui ho pubblicato questa domanda. Penso che legga i certificati a livello di sistema. Ma modificarli non ha funzionato.
John White,

Risposte:


7

Nella mia casella RHEL 6 la man 8 update-ca-trustpagina del manuale contiene una spiegazione piuttosto estesa su come i certificati CA a livello di sistema e i trust associati possono / devono essere gestiti.

Più spesso quindi la configurazione non è specifica dell'applicazione come indicano i commenti sopra.


2
Nessun manuale del genere per CentOS. Credo che i due sistemi abbiano diversi strumenti di amministrazione.
John White,

Sono per lo più simili ma sono piccole differenze come quelle che mi fanno sempre inciampare. Fa parte dei certificati rpm. Una copia della pagina man può essere trovata qui
HBruijn il

Il mio CentOS 6.5 ha una pagina man per update-ca-trust. @ Mc120k hai installato ca-certificati-2013?
Nessuno

1

Ho scritto alcune righe di comando in modo che sia più accessibile ai principianti in SSL:

Passare alla cartella PKI

$ cd /etc/pki/tls/certs/
 

VERIFICA collegamenti (rigidi) e certificati di backup

$ 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
 

Carica la catena CA in CentOS

$ scp <cachain> root@sydapp28:/tmp 
 

Connettersi a CentOS tramite SSH (Putty?) O locale

$ ssh -C root@sydapp28
 

IF PKCS12 CAChain: "Converti il ​​certificato della catena CA interna in formato PEM e rimuovi le intestazioni":

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

Aggiungi la tua CA interna a 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.