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 les WLC AireOS.
Avant de tenter cette configuration, vous devez connaître les 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 où 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'elle est signée.
Si l'autorité de certification est celle en laquelle vous faites confiance (indiquée par la présence d'une copie du certificat de l'autorité de certification dans votre répertoire de certificats racine), cela signifie 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.
Note: Les certificats en chaîne sont pris en charge et réellement requis pour l’authentification Web et l’administration Web
Note: 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 :
Note: Dans la version 7.6 et les versions ultérieures du contrôleur WLC, seuls les certificats en chaîne sont pris en charge (et donc requis)
Pour générer un certificat non chaîné à des fins de gestion, ce document ne tient pas compte des parties dans lesquelles le certificat est combiné au 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 (la seule façon possible dans le logiciel WLC pré-8.3), soit aller sur le WLC lui-même pour générer le CSR (Disponible après 8.3.102).
Note: Chrome, version 58 ou ultérieure, ne fait pas confiance au nom commun du certificat, et exige que l’autre nom du sujet soit également présent. La section suivante explique comment ajouter des champs SAN au CSR OpenSSL, une nouvelle condition requise pour ce navigateur.
Terminez ces étapes afin de générer une requête de signature de certificat (CSR) avec OpenSSL :
C:\ > openssl > bin
.Note: OpenSSL version 0.9.8 est la version recommandée pour les anciennes versions du contrôleur WLC; cependant, depuis la version 7.5, la prise en charge d'OpenSSL version 1.0 a également été ajoutée (reportez-vous à l'ID de bogue Cisco CSCti65315 - Besoin de support 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 alternatifs de vos certificats. Écrivez ensuite toute URL possible utilisée pour le WLC. Les lignes en gras dans l'exemple précédent n'étaient pas présentes ou ont été commentées dans notre version de lab openSSL. Il peut varier considérablement selon le système d'exploitation et la version 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
Note: Les contrôleurs WLC prennent en charge une taille de clé maximale de 4096 bits à partir de la version de logiciel 8.5
Note: 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 Software 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 contrôleur WLC et ne le quitte jamais; elle n’est ainsi jamais exposée dans le monde extérieur.
À ce jour, 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 recommandé 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 ecdsa taille de clé est de 256 bits.
Note: Si vous exécutez la commande csr generation et que vous 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.
Afin de générer une requête de signature de certificat (CSR) pour l’authentification Web, saisissez cette commande :
(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 webadmin, la commande passe à :
(WLC)> config certificate generate csr-webadmin BE BR Brussels Cisco TAC mywebauthportal.wireless.com tac@cisco.com
Note: La requête de signature de certificat (CSR) est imprimée sur le terminal après la saisie de la commande. Il n’y a aucun autre moyen de la récupérer; il n’est pas possible de la télécharger à partir du contrôleur 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 pouvez pas réinstaller le même certificat qu'une nouvelle clé et CSR est généré sur le nouveau WLC.
par
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 montre 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.
Request a certificate
. advanced certificate request
. Web Server
. Base 64 encoded
bouton radio.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 est nommé « 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 utilisé l'option A (OpenSSL pour générer le CSR) et enregistrez le fichier en tant que 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
Note: Dans cette commande, vous devez saisir 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. requête de signature de certificat (CSR) avec OpenSSL.
Si vous avez suivi l’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.
Note: 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.
Note: Assurez-vous que le certificat est compatible avec Apache et le chiffrement 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
Note: Dans cette commande, vous devez saisir 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. requête de signature de certificat (CSR) avec OpenSSL. Si vous avez suivi l’option B. requête de signature de certificat (CSR) générée par le contrôleur WLC lui-même, alors All-certs.pem est le fichier que vous devez télécharger sur le contrôleur WLC. L’étape suivante consiste à télécharger ce fichier sur le contrôleur WLC.
Note: SHA2 est également pris en charge. L’ID de bogue Cisco CSCuf20725 est une demande de prise en charge de SHA512.
Effectuez ces étapes pour télécharger le certificat chaîné sur le WLC avec l'interface de ligne de commande :
>transfer download mode tftp
>transfer download datatype webauthcert
>transfer download serverip
>transfer download path
>transfer download filename final.pem
>transfer download certpassword password
Note: 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 Générer une requête de signature de certificat (CSR). Dans cet exemple, le mot de passe de certification doit être check123. Si vous avez choisi l'option B (c'est-à-dire, utilisez le WLC lui-même pour générer le CSR), laissez le champ certpassword vide.
(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.
Effectuez ces étapes pour télécharger le certificat chaîné sur le WLC avec l'interface graphique utilisateur :
Security > Web Auth > Cert
afin d'ouvrir la page Web Authentication Certificate.Download SSL Certificate
afin d'afficher les paramètres Download SSL Certificate From TFTP Server.Apply
.Commands > Reboot > Reboot
.Save and Reboot
.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 and 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 HA.
Une autre mise en garde est que cela ne fonctionne pas si vous avez généré la CSR (et par conséquent créé la clé localement) sur le WLC principal, car 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 |
---|---|---|
1.0 |
07-Feb-2014 |
Première publication |