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:-
Download OpenSSL for Windows. Open source utility to generate the CSR and private key needed.
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)
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.