05-30-2012 05:11 AM - edited 11-18-2020 02:58 AM
Certificate Signing Requests for WLC via Open SSL
Use Open SSL to generate CSR. (Version 0.9.8r only!) The CSR Generation example document follows along with most of the steps
We also have a Video available on CSC which provides more in-depth information on this:-
(Video) Installing a 3rd Party SSL Certificate for Guest Access
Download OpenSSL for Windows. Open source utility to generate the CSR and private key needed.
OpenSSL for Windowshttp://www.slproweb.com/products/Win32OpenSSL.html
Grab the 0.9.8(x) version after navigating from the OpenSSL download page. 0.9.8 is the only release compatible with performing these steps.
Install OpenSSL (accept defaults, install 2008+ distributable if applicable)
Microsoft Visual C++ 2008 Redistributable Package (x86)
From a Windows machine, openssl.exe will be located at "C:\OpenSSL\bin\" with a default installation. Launch openssl.exe and issue the following command from the openssl> prompt
OpenSSL> req -new -newkey rsa:1024 -nodes -keyout mykey.pem -out myreq.pem
If you receive any messages about being “unable to load config”, you will need to specify the full file path to the openssl.cfg file.
OpenSSL> req -config "%PATHTOOPENSSLCONFIG%" -new -newkey rsa:1024 -nodes -keyout mykey.pem -out myreq.pem
For example, the config file (by default) is located in the OpenSSL program directory at "C:\OpenSSL\bin\openssl.cfg". The string then looks like this.
OpenSSL> req -config "C:\OpenSSL\bin\openssl.cfg" -new -newkey rsa:1024 -nodes -keyout mykey.pem -out myreq.pem
Populate "extra" information as applicable. Be sure to remember the "challenge password" you configure as it will be needed to combine the private key and signed/returned CSR to generate final .pem for the WLC. Be sure "Common Name" is what you populate with FQDN: An example would be something like… controller.yourdomain.com
This will generate the mykey.pem (key file) and myreq.pem (csr) at the location C:\OpenSSL\bin\
Submit CSR (myreq.pem) to third-party CA, who will digitally sign and return via e-mail. When submitting CSR to CA, you may be asked the "server technology" that is being used. If that is the case, select "Apache". The same goes for SHA-1 or SHA-2 as 1 is the supported Hash Algorithm. If asked to specify, select SHA-1.
When the CSR has been signed and returned. Save the file to the same C:\OpenSSL\bin directory
See instructions on the page for combining a chained certificate in to one (1) .pem cert file.
Perform the following commands in OpenSSL to combine the returned CSR and key generated during the CSR request.
OpenSSL>pkcs12 -export -in All-certs.pem -inkey mykey.pem -out All-certs.p12 -clcerts -passin pass:check123 -passout pass:check123
be sure you use "challenge password" from before in this string and the next
OpenSSL>pkcs12 -in All-certs.p12 -out final-cert.pem -passin pass:check123 -passout pass:check123
final-cert.pem will be generated, and will be the file we will TFTP to the WLC.
Move .pem to default directory of TFTP server
Issue the following commands at the WLC to inform the controller
of the type of download about to be performed
>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-cert.pem
>transfer download certpassword Test123
Use "challenge password" from the CSR, same as before.
Start TFTP transfer with
>transfer download start
Cert should now be successfully installed on the WLC. Please specify FQDN for the virtual ip address of WLC and make sure
that the DNS name is resolved to the virtual ip as well for clients of this network. Note in the config example states
"It is important that you provide the correct Common Name. Ensure that the host name that is used to create the certificate (Common Name)
matches the Domain Name System (DNS) host name entry for the virtual interface IP on the WLC and that the name exists in the DNS as well.
Also, after you make the change to the VIP interface, you must reboot the system in order for this change to take effect"
Go ahead and specify FQDN for the virtual interface on wlc then reboot WLC. You should be ready to go at this point.
Generate CSR for Third-Party Certificates and Download Chained Certificates to the WLC
Installing a 3rd Party SSL Certificate for Guest Access
Won't this still produce the "This certificate cannot be validated... " message when connecting? Is there any advantage to Open SSL over other methods?
Step6 advises to give the CSR to the 3rd Party CA. this is what prevents the cert cannot be validated message.
Open SSL is a technology not a CA.
For those who think this post is a joke; no my friends, this is real. That is how you would upload a public CA certificate (godaddy or whatever) to Cisco WLC. No joke. This is how company goes downhill!
Thank you for the post this is very helpful.
So happens im updating for guest anchor certs today on some WLC 4400.
Question: on which stage I need to use SSL 0.9.8, if I already got the certificate? Can I just use it while converting CER bundle to PFX, or I had to start all the sequence from scratch?
+ Which parts of request are safe to publish here to discuss? Everything except private key or nothing at all?
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: