La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come generare e importare certificati sui WLC di AireOS.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Una catena di certificati è una sequenza di certificati in cui ogni certificato della catena è firmato dal certificato successivo.
Lo scopo di una catena di certificati è stabilire una catena di attendibilità da un certificato peer a un certificato CA attendibile. La CA garantisce l'identità nel certificato peer quando è firmato.
Se la CA è considerata attendibile (indicata dalla presenza di una copia del certificato CA nella directory principale del certificato), è possibile considerare attendibile anche il certificato peer firmato.
Spesso i client non accettano i certificati perché non sono stati creati da una CA nota. Il client in genere indica che non è possibile verificare la validità del certificato.
Ciò si verifica quando il certificato è firmato da una CA intermedia, che non è nota al browser client. In questi casi, è necessario utilizzare un certificato SSL concatenato o un gruppo di certificati.
Il controller consente di scaricare il certificato del dispositivo come certificato concatenato per l'autenticazione Web.
Il WLC non supporta certificati concatenati di dimensioni superiori a 10 KB sul WLC. Tuttavia, questa restrizione è stata rimossa in WLC versione 7.0.230.0 e successive.
Nota: i certificati concatenati sono supportati ed effettivamente necessari per l'autenticazione e l'amministrazione Web.
Nota: i certificati con caratteri jolly sono completamente supportati per l'autenticazione EAP, di gestione o Web locale.
I certificati di autenticazione Web possono essere i seguenti:
Nota: in WLC versione 7.6 e successive sono supportati solo i certificati concatenati (e pertanto obbligatori).
Per generare un certificato non concatenato a scopo di gestione, questo documento ignora le parti in cui il certificato è combinato con il certificato CA.
In questo documento viene descritto come installare correttamente un certificato SSL (Secure Sockets Layer) concatenato in un WLC.
Esistono due modi per generare un CSR. Manualmente con OpenSSL (l'unico modo possibile nel software WLC precedente alla versione 8.3) oppure sul WLC stesso per generare il CSR (disponibile dopo la versione 8.3.102).
Nota: Chrome versione 58 e successive non considera attendibile solo il nome comune del certificato e richiede che sia presente anche il nome soggetto alternativo. La sezione successiva spiega come aggiungere campi SAN al CSR OpenSSL, che è un nuovo requisito per questo browser.
Completare questa procedura per generare un CSR con OpenSSL:
Nota: OpenSSL versione 0.9.8 è la versione consigliata per le versioni precedenti di WLC; tuttavia, a partire dalla versione 7.5, è stato aggiunto anche il supporto per OpenSSL versione 1.0 (fare riferimento all'ID bug Cisco CSCti65315 - È necessario il supporto per i certificati generati con OpenSSL v1.0) ed è la versione consigliata da utilizzare. OpenSSL 1.1 funziona anche su versioni 8.x e successive di 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.comLe righe che iniziano con "DNS.1", "DNS.2" e così via devono contenere tutti i nomi alternativi dei certificati. Scrivere quindi eventuali URL utilizzati per il WLC. Le righe in grassetto nell'esempio precedente non erano presenti o sono state commentate nella nostra versione lab openSSL. Può variare molto a seconda del sistema operativo e della versione openssl. Per questo esempio, la versione modificata della configurazione viene salvata come openssl-san.cnf.
OpenSSL>req -new -newkey rsa:3072 -nodes -keyout mykey.pem -out myreq.pem -config openssl-san.cnf
Nota: i WLC supportano una dimensione massima della chiave di 4096 bit della versione software 8.5.
Nota: è importante fornire il nome comune corretto. Verificare che il nome host utilizzato per creare il certificato (nome comune) corrisponda alla voce del nome host DNS (Domain Name System) per l'indirizzo IP dell'interfaccia virtuale sul WLC e che il nome esista anche nel DNS. Inoltre, dopo aver apportato la modifica all'interfaccia IP virtuale (VIP), è necessario riavviare il sistema per rendere effettiva la modifica.
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>
Se il WLC esegue il software versione 8.3.102 o successive, l'opzione più sicura è quella di utilizzare il WLC per generare il CSR. Il vantaggio è che la chiave viene generata sul WLC e non lascia mai il WLC; quindi non viene mai esposta nel mondo esterno.
Attualmente, questo metodo non consente di configurare la SAN nel CSR, che è noto possa causare problemi con alcuni browser che richiedono la presenza di un attributo SAN. Alcune CA consentono di inserire campi SAN al momento della firma, pertanto è consigliabile verificare con la CA.
La generazione della CSR da parte del WLC utilizza una chiave di 2048 bit e una chiave ecdsa di 256 bit.
Nota: se si esegue il comando csr generation e non si installa ancora il certificato successivo, il WLC viene reso completamente irraggiungibile su HTTPS al successivo riavvio, in quanto il WLC utilizza la chiave CSR appena generata dopo il riavvio ma non dispone del certificato associato.
Per generare un CSR per l'autenticazione Web, immettere questo comando:
(WLC) >config certificate generate csr-webauth BE BR Brussels Cisco TAC mywebauthportal.wireless.com tac@cisco.com
—INIZIA RICHIESTA CERTIFICATO—
MIICqjCAZICAQAwZTELMAkGA1UECAwCQlIxETAPBgNVBAcMCEJydXNzZWxzMQ4w
DAYDVQQKDAVDaXNjbzEMMAoGA1UECwwDVEFDMSUwYDVQDDBxteXdlYmF1dGhw
b3J0YWwud2lyZWxlc3MuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIBCgKC
AQEAnssc0BxlJ2ULa3xgJH5lAUtbd9CuQVqf2nflh+V1tu82rzTvz38bjF3g+MX
JiaBbKMA27VJH1J2K2ycDMlhjyYpH9N59T4fXvZr3JNGVfmHIRuYDnCSdil0ookK
FU4sDwXyOxR6gfB6m+Uv5SCOuzfBsTz5bfQ1NlZqg1hNemnhqVgbXEd90sgJmaF2
0tsL0jUhbLosdwMLUbZ5LUa34mvufoI3VAKA0cmWZh2WzMJiaI2JpbO0afRO3kSg
x3XDkZiR7Z9a8rK6Xd8rwDlx0TcMFWdWVcKMDgh7Tw+Ba1cUjjIMzKT6OjFGOGu
NkgYefrrBN+WkDdc6c55bxErwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAB0K
ZvEpAafoovphlcXIElL2DSwVzjlbd9u7T5JRGgqri1l9/0wzxFjTymQofga427mj
5dNqlCWxRFmKhAmO0fGQkUoP1YhJRxidu+0T8O46s/stbhj9nuInmoTgPaA0s3YH
DtWgjmV2ASnroUV9oBNu3wR6RQtKDX/CnTSRG5YufTWOVf9IRnL9LkU6pzA69Xd
YHPLnD2ygR1Q+3Is4+5Jw6ZQAaqlPWyVQccvGyFacscA7L+nZK3SSITzGt9B2HAa
PQ8DQOaCwnqt2efYmaezGiHOR8XHOaWcNoJQCFOnb4KK6/1aF/7eOS4LMA+jSzt4
Wkc/wH4DyYdH7x5jzHc= Wkc/wH4DyYdH7x5jzHc
—TERMINA RICHIESTA CERTIFICATO—
Per generare un CSR per l'amministratore Web, il comando viene modificato in:
(WLC) >config certificate generate csr-webadmin BE BR Brussels Cisco TAC mywebauthportal.wireless.com tac@cisco.com
Nota: dopo aver immesso il comando, il CSR viene stampato sul terminale. Non ci sono altri modi per recuperarlo; non è possibile caricarlo dal WLC né salvarlo. È necessario copiarlo/incollarlo in un file sul computer dopo aver immesso il comando. La chiave generata rimane sul WLC finché non viene generato il CSR successivo (la chiave viene quindi sovrascritta). In caso sia necessario modificare l'hardware WLC in un secondo momento (RMA), non sarà possibile reinstallare lo stesso certificato di una nuova chiave e sul nuovo WLC verrà generato CSR.
Sarà quindi necessario consegnare questo CSR all'autorità di firma di terze parti o all'infrastruttura a chiave pubblica (PKI) dell'organizzazione.
In questo esempio viene illustrata solo una CA dell'organizzazione (Windows Server 2012 nell'esempio) corrente e non vengono illustrati i passaggi necessari per configurare una CA di Windows Server da zero.
openssl pkcs7 -print_certs -in All-certs.p7b -out All-certs.pem
6. Combinare la catena di certificati (nell'esempio riportato il nome è "All-certs.pem") con la chiave privata generata insieme al CSR (la chiave privata del certificato del dispositivo, che in questo esempio è mykey.pem) se si è utilizzata l'opzione A (OpenSSL per generare il CSR) e salvare il file come final.pem. Se la CSR è stata generata direttamente dal WLC (opzione B), ignorare questo passaggio.
Immettere questi comandi nell'applicazione OpenSSL per creare i file All-certs.pem e 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
Nota: in questo comando è necessario immettere una password per i parametri -passin e -passout. La password configurata per il parametro -passout deve corrispondere al parametro certpassword configurato sul WLC. Nell'esempio, la password configurata per i parametri -passin e -passout è check123.
Final.pem è il file da scaricare sul WLC se è stata seguita l'opzione A. CSR con OpenSSL.
Se è stata seguita l'opzione B. CSR generato dal WLC stesso, All-certs.pem è il file da scaricare sul WLC. Il passaggio successivo è quello di scaricare questo file sul WLC.
Nota: se il caricamento del certificato nel WLC non riesce, verificare che ci sia l'intera catena nel file pem. Fare riferimento al passaggio 2 dell'opzione B (ottenere il file final.pem da un'autorità di certificazione di terze parti) per vedere come deve apparire. Se nel file è presente un solo certificato, è necessario scaricare manualmente tutti i file dei certificati CA intermedi e radice e aggiungerli (mediante semplice copia e incolla) al file per creare la catena.
Nota: verificare che il certificato sia compatibile Apache con la crittografia 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
Nota: in questo comando è necessario immettere una password per i parametri -passin e -passout. La password configurata per il parametro -passout deve corrispondere al parametro certpassword configurato sul WLC. Nell'esempio, la password configurata per i parametri -passin e -passout è check123.
Final.pem è il file da scaricare sul WLC se è stata seguita l'opzione A. CSR con OpenSSL. Se è stata seguita l'opzione B. CSR generato dal WLC stesso, All-certs.pem è il file da scaricare sul WLC. Il passaggio successivo è quello di scaricare questo file sul WLC.
Nota: è supportato anche SHA2. L'ID bug Cisco CSCuf20725 è una richiesta di supporto per SHA512.
Completare questi passaggi per scaricare il certificato concatenato sul WLC con la CLI:
>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
Nota: assicurarsi che il valore per certpassword sia lo stesso della password del parametro -passout impostata nel passaggio 4 (o 5) della sezione Generate a CSR. Nell'esempio, il valore di certpassword deve essere check123. Se è stata scelta l'opzione B (ossia, utilizzare il WLC stesso per generare il CSR), lasciare vuoto il campo certpassword.
transfer download start
comando per visualizzare le impostazioni aggiornate. Quindi immettere y al prompt per confermare le impostazioni di download correnti e avviare il download del certificato e della chiave. Di seguito è riportato un esempio:(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.
Completare questi passaggi per scaricare il certificato concatenato sul WLC con la GUI:
Per risolvere i problemi relativi all'installazione del certificato sul WLC, aprire una riga di comando sul WLC, immettere debug transfer all enable
debug pm pki enable
e completare la procedura di download del certificato.
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.
Verificare il formato e la catena del certificato. Tenere presente che le WLC successive alla versione 7.6 richiedono la presenza dell'intera catena, quindi non è possibile caricare il certificato WLC da solo. La catena fino alla CA radice deve essere presente nel file.
Di seguito è riportato un esempio di debug quando la CA intermedia non è corretta:
*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
Come spiegato nella guida alla distribuzione di WLC HA SSO, i certificati non vengono replicati dal controller primario a quello secondario in uno scenario HA SSO.
Ciò significa che è necessario importare tutti i certificati nel database secondario prima di formare la coppia HA.
Un'altra avvertenza è che questa operazione non funziona se il file CSR (e quindi la chiave è stata creata localmente) è stato generato sul WLC primario perché la chiave non può essere esportata.
L'unico modo è generare il CSR per il WLC primario con OpenSSL (e quindi avere la chiave collegata al certificato) e importare la combinazione di certificato/chiave su entrambi i WLC.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
4.0 |
05-Sep-2024 |
Titolo abbreviato che per qualche motivo CCW non era contrassegnato.
Correggere gli URL interrotti e verificare che vengano aperti in una nuova pagina.
Eliminato contenitore di note vuoto. |
3.0 |
01-Aug-2023 |
Certificazione |
1.0 |
07-Feb-2014 |
Versione iniziale |