Installer un certificat racine dans CentOS 6

9

Je sais que cela a déjà été demandé, mais malgré de nombreuses heures de recherche, je n'ai pas trouvé de solution de travail. J'essaie d'installer mon certificat racine sur mon serveur, afin que le service interne puisse se lier les uns aux autres à l'aide de SSL.

Ce qu'il faut savoir sur la nouvelle autorité de certification racine:

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

Pour Apache, j'ai besoin d'une application PHP pour connaître le certificat racine, donc si un site se connecte à un autre site Web SSL (signé par la même autorité de certification), cela fonctionne bien et il ne se plaint pas d'un certificat auto-signé.

Pour OpenLDAP, je pense que c'est la même chose que PHP, le module qu'il utilise est assez ancien, c'est Net_LDAP2, installé avec PEAR. J'ai essayé d'éditer la configuration locale openldap, mais il semble que le système ne l'utilise pas.

Last Node.js, que j'utilise pour parsoïde. Les serveurs node.js doivent faire confiance à l'autorité de certification pour établir une bonne connexion SSL.

J'ai essayé d'ajouter le certificat à /etc/pki/tls/certs/ca-bundle.crt avec peu de succès.

Bien que httpd ne voit pas l'autorité de certification racine, j'ai réussi à faire fonctionner d'autres services, comme tomcat et 389.

Merci pour votre soutien.

John White
la source
1
Il doit presque s'agir de trois questions distinctes. Je peux me tromper cependant, il existe peut-être une méthode à l'échelle du système pour faire confiance à un certificat CA pour tous ces services. S'il n'y a pas de méthode à l'échelle du système, la répartir en trois questions distinctes peut être nécessaire pour obtenir des réponses utiles.
Zoredache
Qu'avez-vous essayé exactement? Il s'agit de trucs assez faciles à rechercher car cela est assez courant. Si nous savons pourquoi vous rencontrez des problèmes, nous pourrions être en mesure de donner une meilleure réponse que SSLCACertificateFiledans /etc/httpd/conf.d/ssl.conf, TLS_CACERTdans /etc/openldap/ldap.conf(OpenLDAP Client), TLSCACertificateFiledans /etc/openldap/slapd.conf(OpenLDAP Server), etc.
Aaron Copley
Apache httpd est la principale raison pour laquelle j'ai posté cette question. Je pense qu'il lit les certificats à l'échelle du système. Mais les éditer n'a pas fonctionné.
John White

Réponses:

7

Sur ma boîte RHEL 6, la man 8 update-ca-trustpage de manuel contient une explication assez détaillée sur la façon dont les certificats CA à l'échelle du système et les approbations associées peuvent / doivent être gérés.

Plus souvent, la configuration n'est pas spécifique à l'application, comme l'indiquent les commentaires ci-dessus.

HBruijn
la source
2
Pas un tel manuel pour CentOS. Je crois que les deux systèmes ont des outils d'administration différents.
John White
Ils se ressemblent principalement, mais ce sont de petites différences comme ça qui me font toujours trébucher. Cela fait partie du rpm ca-certificats. Une copie de la page de manuel peut être trouvée ici
HBruijn
Mon CentOS 6.5 a une page de manuel pour update-ca-trust. @ Mc120k avez-vous installé ca-certificate-2013?
8None1
1

J'ai écrit quelques lignes de commande afin qu'il soit plus accessible aux novices en SSL:

Accédez au dossier PKI

$ cd /etc/pki/tls/certs/
 

VÉRIFIEZ les liens (durs) et les certificats de sauvegarde

$ 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
 

Télécharger la chaîne CA sur CentOS

$ scp <cachain> root@sydapp28:/tmp 
 

Connectez-vous à CentOS via SSH (Putty?) Ou local

$ ssh -C root@sydapp28
 

SI PKCS12 CAChain: "Convertissez votre certificat de chaîne CA interne au format PEM et supprimez les en-têtes":

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

Ajoutez votre autorité de certification interne à 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
la source