Introduction
Ce document décrit comment dépanner et corriger l'erreur d'importation de l'autorité de certification (CA) sur les périphériques Firepower Threat Defense gérés par FMC.
Conditions préalables
Exigences
Cisco vous recommande de prendre connaissance des rubriques suivantes :
- Infrastructures à clé publique (PKI)
- Firepower Management Center (FMC)
- Firepower Threat Defense (FTD)
- OpenSSL
Composants utilisés
Les informations contenues dans ce document sont basées sur les versions de logiciel suivantes :
- MacOS x 10.14.6
- FMC 6,4
- OpenSSL
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Informations générales
Remarque : sur les périphériques gérés par FTD, le certificat CA est requis avant la génération de la demande de signature de certificat (CSR).
- Si le CSR est généré sur un serveur externe (tel que Windows Server ou OpenSSL), la méthode d'inscription manuelle est censée échouer, car FTD ne prend pas en charge l'inscription manuelle des clés. Une autre méthode doit être utilisée, telle que PKCS12.
Problème
Dans ce scénario particulier, le FMC affiche une croix rouge dans l'état du certificat de l'autorité de certification (comme illustré dans l'image), qui indique que l'inscription du certificat n'a pas pu installer le certificat de l'autorité de certification avec le message « Fail to configure CA certificate ». Cette erreur se produit généralement lorsque le certificat n'a pas été correctement empaqueté ou que le fichier PKCS12 ne contient pas le certificat d'émetteur correct, comme illustré dans l'image.
Remarque : dans les versions FMC plus récentes, ce problème a été résolu pour faire correspondre le comportement ASA qui crée un point de confiance supplémentaire avec l'autorité de certification racine incluse dans la chaîne de confiance du certificat .pfx.
Solution
Étape 1. Rechercher le certificat .pfx
Obtenez le certificat pfx qui était inscrit dans l'interface graphique FMC, enregistrez-le et localisez le fichier dans le terminal Mac (CLI).
ls
Étape 2. Extraire les certificats et la clé du fichier .pfx
Extrayez le certificat client (et non les certificats CA) du fichier pfx (la phrase de passe utilisée pour générer le fichier .pfx est requise).
openssl pkcs12 -in cert.pfx -clcerts -nokeys -out id.pem
exportation d'identité
Extrayez les certificats CA (et non les certificats clients).
openssl pkcs12 -in cert.pfx -cacerts -nokeys -out certs.pem
exportation de cacerts
Extrayez la clé privée du fichier pfx (la même phrase de passe de l'étape 2 est requise).
openssl pkcs12 -in cert.pfx -nocerts -out key.pem
exportation de clé
Il existe désormais quatre fichiers : cert.pfx (le bundle pfx d'origine), certs.pem (les certificats CA), id.pem (certificat client) et key.pem (la clé privée).
ls après exportation
Étape 3. Vérification des certificats dans un éditeur de texte
Vérifiez les certificats à l'aide d'un éditeur de texte (par exemple : nano certs.pem).
Pour ce scénario particulier, certs.pem ne contenait que la sous-CA (CA émettrice).
À partir de l'étape 5, cet article traite de la procédure pour le scénario où le fichier certs.pem contient 2 certificats (une autorité de certification racine et une sous-autorité de certification).
vue certs
Étape 4. Vérification de la clé privée dans un bloc-notes
Vérifiez le contenu du fichier key.pem à l'aide d'un éditeur de texte (par exemple : nano certs.pem).
Étape 5. Fractionner les certificats CA
Dans le cas où le fichier certs.pem a 2 certificats (1 CA racine et 1 sous-CA), la CA racine doit être supprimée de la chaîne de confiance afin de pouvoir importer le certificat formaté pfx dans le FMC, laissant seulement la sous-CA dans la chaîne à des fins de validation.
Fractionnez le fichier certs.pem en plusieurs fichiers, la commande suivante renomme les certs cacert-XX.
split -p "-----BEGIN CERTIFICATE-----" certs.pem cacert-
splitls après split
Ajoutez l'extension .pem à ces nouveaux fichiers à l'aide de la commande décrite ci-dessous.
for i in cacert-*;do mv "$i" "$i.pem";done
renommer le script
Passez en revue les deux nouveaux fichiers et déterminez lequel contient l’autorité de certification racine et lequel contient la sous-autorité de certification avec les commandes décrites.
Recherchez d'abord l'émetteur du fichier id.pem (qui est le certificat d'identité).
openssl x509 -in id.pem -issuer -noout
point de vue de l'émetteur
Maintenant, recherchez l'objet des deux fichiers cacert (certificats CA).
openssl x509 -in cacert-aa.pem -subject -noout
openssl x509 -in cacert-ab.pem -subject -noout
contrôle par sujets
Le fichier cacert qui fait correspondre l'objet avec l'émetteur du fichier id.pem (comme illustré dans les images précédentes) est l'autorité de certification secondaire qui est utilisée ultérieurement pour créer le certificat PFX.
Supprimez le fichier cacert qui ne contient pas l'objet correspondant. Dans ce cas, ce certificat était cacert-aa.pem.
rm -f cacert-aa.pem
Étape 6. Fusionner les certificats dans un fichier PKCS12
Fusionnez le certificat de sous-autorité de certification (dans ce cas, le nom était cacert-ab.pem) avec le certificat d'ID (id.pem) et la clé privée (key.pem) dans un nouveau fichier pfx. Vous devez protéger ce fichier avec une phrase de passe. Si nécessaire, modifiez le nom du fichier cacert-ab.pem pour qu'il corresponde à votre fichier.
openssl pkcs12 -export -in id.pem -certfile cacert-ab.pem -inkey key.pem -out new-cert.pfx
pfx-creation
Étape 7. Importer le fichier PKCS12 dans FMC
Dans le FMC, accédez à Device > Certificates et importez le certificat dans le pare-feu souhaité comme indiqué dans l'image.
inscription au certificat
Insérez un nom pour le nouveau certificat.
Inscription
Ajoutez le nouveau certificat et attendez que le processus d'inscription déploie le nouveau certificat sur le FTD.
new-cert
Le nouveau certificat doit être visible sans croix rouge dans le champ AC.
Vérifier
Référez-vous à cette section pour vous assurer du bon fonctionnement de votre configuration.
Sous Windows, vous pouvez rencontrer un problème où le système d'exploitation affiche la chaîne entière pour le certificat même si le fichier .pfx ne contient que le certificat d'ID, dans le cas où il a la sous-CA, chaîne CA dans son magasin.
Afin de vérifier la liste des certificats dans un fichier .pfx, des outils comme certutil ou openssl peuvent être utilisés.
certutil -dump cert.pfx
Le certutil est un utilitaire de ligne de commande qui fournit la liste des certificats dans un fichier .pfx. Vous devez voir toute la chaîne avec ID, SubCA, CA inclus (le cas échéant).
Vous pouvez également utiliser une commande openssl, comme indiqué dans la commande ci-dessous.
openssl pkcs12 -info -in cert.pfx
Afin de vérifier l'état du certificat ainsi que les informations d'autorité de certification et d'ID, vous pouvez sélectionner les icônes et confirmer qu'il a été importé avec succès :