Comment puis-je importer un certificat auto-signé dans Red-Hat Linux.
Je ne suis pas un expert en matière de certificats et j'ai du mal à trouver la bonne réponse par googler, car je ne connais pas la différence entre un .cer, .crt ou un .pem. Cela dit, ce que je voudrais faire ne devrait pas être de la science des fusées (dans Windows, je peux le faire en quelques clics dans mon navigateur), je veux me connecter à un serveur qui utilise un certificat auto-signé. Par exemple, en utilisant wget, sans avoir à utiliser l'option --no-check-certificate. Pour que cela fonctionne, je devrai ajouter le certificat auto-signé du serveur à ma boîte RedHat. J'ai découvert que les certificats résident dans/etc/pki/tls. Mais je ne sais pas quelles actions je devrais effectuer pour faire fonctionner wget sans me plaindre.
Je peux obtenir le certificat SSL du serveur en utilisant:
openssl s_client -connect serveur: 443
Le certificat est entre "BEGIN CERTIFICATE et END CERTIFICATE" Je ne sais pas de quel type de certificat il s'agit. Ensuite, je devrai le mettre dans le répertoire/etc/pki/tls/certs et appliquer une sauce Sects OpenSL que je ne connais pas. Pouvez-vous m'aider?
Je ne connais pas de moyen d'importer un certificat de site spécifique dans la base de données de confiance d'OpenSSL (j'aimerais bien!), Mais comme vous parlez d'un certificat auto-signé, nous pouvons l'aborder en important votre certificat en tant que nouveau certificat de confiance CA cert. Attention cependant: vous allez également faire confiance à tous les sites signés par ce certificat.
Vous pouvez télécharger un certificat auto-signé directement depuis un site rapidement avec:
openssl s_client -connect server:443 <<<'' | openssl x509 -out /path/file
Notez que vous devez seulement le faire dans le cas d'un certificat auto-signé (comme mentionné dans la question d'origine ). Si le certificat est signé par une autre autorité de certification, vous ne pouvez pas exécuter ce qui précède; à la place, vous devrez trouver le certificat CA approprié et le télécharger.
La commande update-ca-trust
A été ajoutée dans Fedora 19 et RHEL6 via RHEA-2013-1596 . Si vous l'avez, vos étapes sont extrêmement simples (mais nécessitent root/Sudo):
/etc/pki/ca-trust/source/anchors/
update-ca-trust enable; update-ca-trust extract
enable
n'est pas nécessaire dans RHEL7 et Fedora moderne)Si vous n'avez pas update-ca-trust, c'est juste un peu plus difficile (et nécessite toujours root/Sudo):
cd /etc/pki/tls/certs
ln -sv YOURCERT $(openssl x509 -in YOURCERT -noout -hash).0
PS: La question mentionnait Red Hat, mais pour quiconque cherche à faire de même avec autre chose que Fedora/RHEL, wiki.cacert.org/FAQ/ImportRootCert pourrait être utile.
Vous pouvez faire ce que vous voulez faire en suivant ces étapes:
/etc/pki/tls/certs
"- par exemple, appelons-le" myserver.pem ".Calculez le hachage de certificat de ce certificat en exécutant
openssl x509 -noout -hash -in /etc/pki/tls/certs/myserver.pem
à titre d'exemple, supposons que la valeur de hachage est "1a2b3c4d".
Créez un lien symbolique dans le répertoire certs en fonction de cette valeur de hachage, comme ceci:
ln -s /etc/pki/tls/certs/myserver.pem /etc/pki/tls/certs/1a2b3c4d.0
Je suppose qu'il n'y a pas d'autres certificats déjà dans ce répertoire qui hachent à la même valeur de hachage - s'il y a déjà un "1a2b3c4d.0", alors faites votre lien "1a2b3c4d.1" à la place (ou s'il y a déjà un " .1 ", faites le vôtre" .2 ", etc ...)
wget
et les autres outils qui utilisent SSL reconnaîtront alors ce certificat comme valide. Il peut y avoir un moyen plus simple de le faire en utilisant une interface graphique mais fonctionne pour le faire via la ligne de commande.