Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment générer et importer des certificats sur des WLC AireOS.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
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. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Une chaîne de certificats est une séquence de certificats dans laquelle chaque certificat de la chaîne est signé par le certificat suivant.
L’objectif d’une chaîne de certificats est d’établir une chaîne de confiance entre un certificat homologue et un certificat d’autorité de certification de confiance. L'autorité de certification se porte garante de l'identité dans le certificat homologue lorsqu'il est signé.
Si l'autorité de certification est de confiance (indiquée par la présence d'une copie du certificat de l'autorité de certification dans votre répertoire de certificat racine), cela implique que vous pouvez également faire confiance au certificat homologue signé.
Souvent, les clients n’acceptent pas les certificats, car ces derniers n’ont pas été créés par une autorité de certification connue. Le client indique généralement que la validité du certificat ne peut pas être vérifiée.
C’est le cas lorsque le certificat est signé par une autorité de certification intermédiaire, qui n’est pas connue du navigateur client. Dans ce cas, vous devez utiliser un certificat SSL ou un groupe de certificats en chaîne.
Le contrôleur permet de télécharger le certificat d’appareil en tant que certificat en chaîne pour l’authentification Web.
Le contrôleur WLC ne prend pas en charge les certificats en chaîne de plus de 10 Ko sur le contrôleur WLC. Toutefois, cette restriction a été supprimée dans la version 7.0.230.0 et les versions ultérieures du contrôleur WLC.
Remarque : les certificats enchaînés sont pris en charge et réellement requis pour l'authentification Web et l'administration Web.
Remarque : les certificats génériques sont entièrement pris en charge pour l'authentification EAP, la gestion ou Web locale.
Les certificats d’authentification Web peuvent être soit :
Remarque : dans les versions 7.6 et ultérieures du WLC, seuls les certificats chaînés sont pris en charge (et donc requis).
Pour générer un certificat non chaîné à des fins de gestion, ce document et ignorent les parties où le certificat est combiné avec le certificat CA.
Ce document explique comment installer correctement un certificat SSL en chaîne sur un contrôleur WLC.
Il existe deux façons de générer une requête de signature de certificat (CSR). Soit manuellement avec OpenSSL (le seul moyen possible dans le logiciel WLC pré-8.3) ou aller sur le WLC lui-même pour générer le CSR (Disponible après 8.3.102).
Remarque : Chrome version 58 et ultérieure ne fait pas confiance au nom commun du certificat seul et nécessite un autre nom de sujet pour être également présent. La section suivante explique comment ajouter des champs SAN au CSR OpenSSL, une nouvelle exigence pour ce navigateur.
Terminez ces étapes afin de générer une requête de signature de certificat (CSR) avec OpenSSL :
Remarque : OpenSSL Version 0.9.8 est la version recommandée pour les anciennes versions de WLC ; cependant, à partir de la version 7.5, la prise en charge d'OpenSSL Version 1.0 a également été ajoutée (référez-vous à l'ID de bogue Cisco CSCti65315 - Besoin de prise en charge pour les certificats générés avec OpenSSL v1.0) et est la version recommandée à utiliser. OpenSSL 1.1 fonctionne également et fonctionne sur les versions 8.x et ultérieures du WLC.
[req] req_extensions = v3_req [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = server1.example.com DNS.2 = mail.example.com DNS.3 = www.example.com DNS.4 = www.sub.example.com DNS.5 = mx.example.com DNS.6 = support.example.comLes lignes qui commencent par "DNS.1", "DNS.2" (et ainsi de suite) doivent contenir tous les noms secondaires de vos certificats. Ensuite, écrivez toute URL possible utilisée pour le WLC. Les lignes en gras de l'exemple précédent n'étaient pas présentes ou ont été commentées dans notre version openSSL de travaux pratiques. Il peut varier considérablement selon le système d'exploitation et la version d'openssl. Nous enregistrons cette version modifiée de la configuration sous le nom openssl-san.cnf pour cet exemple.
OpenSSL>req -new -newkey rsa:3072 -nodes -keyout mykey.pem -out myreq.pem -config openssl-san.cnf
Remarque : les WLC prennent en charge une taille de clé maximale de 4 096 bits à partir de la version 8.5 du logiciel.
Remarque : il est important de fournir le nom commun correct. Assurez-vous que le nom d’hôte utilisé pour créer le certificat (nom commun) correspond à l’entrée de nom d’hôte du système de noms de domaine (DNS) pour l’adresse IP de l’interface virtuelle sur le contrôleur WLC et que le nom existe également dans le DNS. En outre, après avoir apporté les modifications à l’interface IP virtuelle (VIP), vous devez redémarrer le système pour que ces modifications prennent effet.
OpenSSL>req -new -newkey rsa:3072 -nodes -keyout mykey.pem -out myreq.pem -config openssl-san.cnf
Loading 'screen' into random state - done
Generate a 1024 bit RSA private key
................................................................++++++
...................................................++++++
writing new private key to 'mykey.pem'
-----
You are about to be asked to enter information that is incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there is a default value,
If you enter '.', the field is left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:CA
Locality Name (eg, city) []:San Jose
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ABC
Organizational Unit Name (eg, section) []:CDE
Common Name (eg, YOUR name) []:XYZ.ABC
Email Address []:(email address)
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:Test123
An optional company name []:OpenSSL>
Si votre WLC exécute le logiciel version 8.3.102 ou ultérieure, l'option la plus sécurisée est d'utiliser le WLC pour générer le CSR. L'avantage est que la clé est générée sur le WLC et ne quitte jamais le WLC ; par conséquent, n'est jamais exposée dans le monde extérieur.
Jusqu'à présent, cette méthode ne permet pas de configurer le SAN dans le CSR, ce qui a conduit à des problèmes avec certains navigateurs qui nécessitent la présence d'un attribut SAN. Certaines autorités de certification permettent d'insérer des champs SAN au moment de la signature. Il est donc conseillé de vérifier auprès de votre autorité de certification.
La génération CSR par le WLC lui-même utilise une taille de clé de 2048 bits et la taille de clé ecdsa est de 256 bits.
Remarque : si vous exécutez la commande csr generation et n'installez pas encore le certificat suivant, votre WLC est rendu complètement inaccessible sur HTTPS au prochain redémarrage, car le WLC utilise la clé CSR nouvellement générée après le redémarrage mais n'a pas le certificat qui va avec.
Pour générer un CSR pour l'authentification Web, entrez la commande suivante :
(WLC)> config certificate generate csr-webauth BE BR Brussels Cisco TAC mywebauthportal.wireless.com tac@cisco.com
-----BEGIN CERTIFICATE REQUEST-----
MIICqjCCAZICAQAwZTELMAkGA1UECAwCQlIxETAPBgNVBAcMCEJydXNzZWxzMQ4w
DAYDVQQKDAVDaXNjbzEMMAoGA1UECwwDVEFDMSUwIwYDVQQDDBxteXdlYmF1dGhw
b3J0YWwud2lyZWxlc3MuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAnssc0BxlJ2ULa3xgJH5lAUtbd9CuQVqqf2nflh+V1tu82rzTvz38bjF3g+MX
JiaBbKMA27VJH1J2K2ycDMlhjyYpH9N59T4fXvZr3JNGVfmHIRuYDnCSdil0ookK
FU4sDwXyOxR6gfB6m+Uv5SCOuzfBsTz5bfQ1NlZqg1hNemnhqVgbXEd90sgJmaF2
0tsL0jUhbLosdwMLUbZ5LUa34mvufoI3VAKA0cmWZh2WzMJiaI2JpbO0afRO3kSg
x3XDkZiR7Z9a8rK6Xd8rwDlx0TcMFWdWVcKMDgh7Tw+Ba1cUjjIMzKT6OOjFGOGu
yNkgYefrrBN+WkDdc6c55bxErwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAB0K
ZvEpAafoovphlcXIElL2DSwVzjlbd9u7T5JRGgqri1l9/0wzxFjTymQofga427mj
5dNqlCWxRFmKhAmO0fGQkUoP1YhJRxidu+0T8O46s/stbhj9nuInmoTgPaA0s3YH
tDdWgjmV2ASnroUV9oBNu3wR6RQtKDX/CnTSRG5YufTWOVf9IRnL9LkU6pzA69Xd
YHPLnD2ygR1Q+3Is4+5Jw6ZQAaqlPWyVQccvGyFacscA7L+nZK3SSITzGt9B2HAa
PQ8DQOaCwnqt2efYmaezGiHOR8XHOaWcNoJQCFOnb4KK6/1aF/7eOS4LMA+jSzt4
Wkc/wH4DyYdH7x5jzHc=
-----END CERTIFICATE REQUEST-----
Afin de générer un CSR pour le webadmin, la commande passe à :
(WLC)> config certificate generate csr-webadmin BE BR Brussels Cisco TAC mywebauthportal.wireless.com tac@cisco.com
Remarque : le CSR est imprimé sur le terminal après que vous ayez entré la commande. Il n'y a pas d'autres façons de le récupérer ; il n'est pas possible de le télécharger à partir du WLC ni de l'enregistrer. Vous devez la copier/coller dans un fichier sur votre ordinateur après avoir saisi la commande. La clé générée reste sur le contrôleur WLC jusqu’à ce que la prochaine requête de signature de certificat (CSR) soit générée (la clé est donc remplacée). Si vous devez changer le matériel du WLC ultérieurement (RMA), vous ne pourrez pas réinstaller le même certificat qu'une nouvelle clé et CSR est généré sur le nouveau WLC.
Vous devez ensuite remettre cette requête de signature de certificat (CSR) à votre autorité de signature tierce ou à votre infrastructure à clé publique (PKI).
Cet exemple présente uniquement une autorité de certification d'entreprise actuelle (Windows Server 2012 dans cet exemple) et ne couvre pas les étapes de configuration d'une autorité de certification Windows Server à partir de zéro.
openssl pkcs7 -print_certs -in All-certs.p7b -out All-certs.pem
6. Combinez les certificats de la chaîne de certificats (dans cet exemple, il s'appelle « All-certs.pem ») avec la clé privée générée avec le CSR (la clé privée du certificat de périphérique, qui est mykey.pem dans cet exemple) si vous avez choisi l'option A (OpenSSL pour générer le CSR), et enregistrez le fichier sous le nom final.pem. Si vous avez généré le CSR directement à partir du WLC (option B), ignorez cette étape.
Entrez ces commandes dans l'application OpenSSL afin de créer les fichiers All-certs.pem et final.pem :
openssl>pkcs12 -export -in All-certs.pem -inkey mykey.pem
-out All-certs.p12 -clcerts -passin pass:check123
-passout pass:check123
openssl>pkcs12 -in All-certs.p12 -out final.pem
-passin pass:check123 -passout pass:check123
Remarque : dans cette commande, vous devez entrer un mot de passe pour les paramètres -passin et -passout. Le mot de passe configuré pour le paramètre -passout doit correspondre au paramètre certpassword configuré sur le contrôleur WLC. Dans cet exemple, le mot de passe configuré pour les paramètres -passin et -passout est check123.
Final.pem est le fichier à télécharger sur le WLC si vous avez suivi «Option A. CSR avec OpenSSL».
Si vous avez suivi « Option B. CSR généré par le WLC lui-même », alors All-certs.pem est le fichier à télécharger sur le WLC. L’étape suivante consiste à télécharger ce fichier sur le contrôleur WLC.
Remarque : si le téléchargement du certificat vers le WLC échoue, vérifiez qu'il y a toute la chaîne dans le fichier pem. Reportez-vous à l'étape 2 de l'option B (obtenir le fichier final.pem auprès d'une autorité de certification tierce) pour voir à quoi il doit ressembler. Si vous ne voyez qu’un seul certificat dans le fichier, vous devez télécharger manuellement tous les fichiers de certificat d’autorité de certification intermédiaire et racine, et les ajouter (par simple copier-coller) au fichier pour créer la chaîne.
Remarque : assurez-vous que le certificat est compatible Apache avec le cryptage SHA1 (Secure Hash Algorithm 1).
------BEGIN CERTIFICATE------
*Device cert*
------END CERTIFICATE------
------BEGIN CERTIFICATE------
*Intermediate CA cert *
------END CERTIFICATE--------
------BEGIN CERTIFICATE------
*Root CA cert *
------END CERTIFICATE------
openssl>pkcs12 -export -in All-certs.pem -inkey mykey.pem
-out All-certs.p12 -clcerts -passin pass:check123
-passout pass:check123
openssl>pkcs12 -in All-certs.p12 -out final.pem
-passin pass:check123 -passout pass:check123
Remarque : dans cette commande, vous devez entrer un mot de passe pour les paramètres -passin et -passout. Le mot de passe configuré pour le paramètre -passout doit correspondre au paramètre certpassword configuré sur le contrôleur WLC. Dans cet exemple, le mot de passe configuré pour les paramètres -passin et -passout est check123.
Final.pem est le fichier à télécharger sur le WLC si vous avez suivi «Option A. CSR avec OpenSSL». Si vous avez suivi « Option B. CSR généré par le WLC lui-même », alors All-certs.pem est le fichier que vous devez télécharger sur le WLC. L’étape suivante consiste à télécharger ce fichier sur le contrôleur WLC.
Remarque : SHA2 est également pris en charge. L’ID de bogue Cisco CSCuf20725 est une demande de prise en charge de SHA512.
Complétez ces étapes pour télécharger le certificat enchaîné sur le WLC avec l'interface de ligne de commande :
>transfer download mode tftp
>transfer download datatype webauthcert
>transfer download serverip <TFTP server IP address>
>transfer download path <absolute TFTP server path to the update file>
>transfer download filename final.pem
>transfer download certpassword password
Remarque : assurez-vous que la valeur de certpassword est identique au mot de passe du paramètre -passout qui a été défini à l'étape 4 (ou 5) de la section Generate a CSR. Dans cet exemple, le mot de passe de certification doit être check123. Si vous avez choisi l'option B (c'est-à-dire, utiliser le WLC lui-même pour générer le CSR), laissez le champ certpassword vide.
transfer download start
commande afin d'afficher les paramètres mis à jour. Ensuite, entrez y lorsque vous serez invité à le faire afin de confirmer les paramètres de téléchargement actuels et de commencer le téléchargement du certificat et de la clé. Voici un exemple :(Cisco Controller) >transfer download start
Mode............................................. TFTP
Data Type........................................ Site Cert
TFTP Server IP................................... 10.77.244.196
TFTP Packet Timeout.............................. 6
TFTP Max Retries................................. 10
TFTP Path........................................./
TFTP Filename.................................... final.pem
This might take some time.
Are you sure you want to start? (y/N) y
TFTP EAP Dev cert transfer start.
Certificate installed.
Reboot the switch to use new certificate.
Complétez ces étapes pour télécharger le certificat enchaîné sur le WLC avec l'interface graphique utilisateur :
Afin de dépanner l'installation du certificat sur le WLC, ouvrez une ligne de commande sur le WLC et entrez debug transfer all enable
debug pm pki enable
puis terminez la procédure de téléchargement du certificat.
In some cases, the logs only say that the certificate installation failed:
*TransferTask: Sep 09 08:37:17.415: RESULT_STRING: TFTP receive complete... Installing
Certificate.
*TransferTask: Sep 09 08:37:17.415: RESULT_CODE:13
TFTP receive complete... Installing Certificate.
*TransferTask: Sep 09 08:37:21.418: Adding cert (1935 bytes) with certificate key password.
*TransferTask: Sep 09 08:37:21.421: RESULT_STRING: Error installing certificate.
Vérifiez le format et la chaîne du certificat. N'oubliez pas que les WLC ultérieurs à la version 7.6 nécessitent la présence de toute la chaîne, de sorte que vous ne pouvez pas télécharger votre certificat WLC seul. La chaîne jusqu’à l’autorité de certification racine doit être présente dans le fichier.
Voici un exemple de débogage lorsque l’autorité de certification intermédiaire est inexacte :
*TransferTask: Jan 04 19:08:13.338: Add WebAuth Cert: Adding certificate & private key using password check123 *TransferTask: Jan 04 19:08:13.338: Add ID Cert: Adding certificate & private key using password check123 *TransferTask: Jan 04 19:08:13.338: Add Cert to ID Table: Adding certificate (name: bsnSslWebauthCert) to ID table using password check123 *TransferTask: Jan 04 19:08:13.338: Add Cert to ID Table: Decoding PEM-encoded Certificate (verify: YES) *TransferTask: Jan 04 19:08:13.338: Decode & Verify PEM Cert: Cert/Key Length was 0, so taking string length instead *TransferTask: Jan 04 19:08:13.338: Decode & Verify PEM Cert: Cert/Key Length 7148 & VERIFY *TransferTask: Jan 04 19:08:13.342: Decode & Verify PEM Cert: X509 Cert Verification return code: 0 *TransferTask: Jan 04 19:08:13.342: Decode & Verify PEM Cert: X509 Cert Verification result text: unable to get local issuer certificate *TransferTask: Jan 04 19:08:13.342: Decode & Verify PEM Cert: Error in X509 Cert Verification at 0 depth: unable to get local issuer certificate *TransferTask: Jan 04 19:08:13.343: Add Cert to ID Table: Error decoding (verify: YES) PEM certificate *TransferTask: Jan 04 19:08:13.343: Add ID Cert: Error decoding / adding cert to ID cert table (verifyChain: TRUE) *TransferTask: Jan 04 19:08:13.343: Add WebAuth Cert: Error adding ID cert
Comme expliqué dans le guide de déploiement de la haute disponibilité SSO du contrôleur WLC, les certificats ne sont pas répliqués du contrôleur principal au contrôleur secondaire dans un scénario de haute disponibilité SSO.
Cela signifie que vous devez importer tous les certificats dans le secondaire avant de former la paire haute disponibilité.
Une autre mise en garde est que cela ne fonctionne pas si vous avez généré le CSR (et donc créé la clé localement) sur le WLC principal parce que cette clé ne peut pas être exportée.
La seule manière est de générer la requête de signature de certificat CSR pour le contrôleur WLC primaire avec OpenSSL (et donc avoir la clé attachée au certificat) et d’importer cette combinaison certificat/clé sur les deux contrôleurs WLC.
Révision | Date de publication | Commentaires |
---|---|---|
4.0 |
05-Sep-2024 |
Titre abrégé qui, pour une raison quelconque, n'était pas en cours d'étiquetage.
Corrigé les URL cassées et s'est assuré qu'elles s'ouvraient dans une nouvelle page.
Conteneur de notes vide supprimé. |
3.0 |
01-Aug-2023 |
Recertification |
1.0 |
07-Feb-2014 |
Première publication |