• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

Roger Perkin

Learn Network Automation

  • Network Automation
    • Ansible
    • Python
    • Terraform
    • pyATS
    • Git
    • Postman
  • ISE
  • Cisco
    • SD WAN Training
    • Password Recovery
    • Software-Upgrade-Guides
    • BGP
    • Data Center
    • WIRELESS
  • Blog
    • CCIE Blog
  • COURSES
  • Menu Item

How to Install 3rd Party SSL Certificate on Cisco WLC for Guest Access

The Cisco Wireless Lan Controllers have an internal https server which is enabled by default for web administration & web policy.
It provides SSL encryption between wireless clients and the WLC to protect Web Authentication credentials.

The Problem:

End users receive a Security Warning then accessing the Web Policy page on WLC (trying to get guest access) A self-signed certificate is installed on the WLC by default.

You can accept the warning and carry on but this action concerns guest users.

The Solution:

You can either disable the https encryption (not a good idea) as this means any credentials used will be passed in clear text.

Or you can deploy a 3rd party certificate signed by a public certificate authority.

This Tutorial will explain how to install a 3rd party ssl certificate on a cisco wlc for guest access.

1# Generate CSR using OpenSSL

Page Contents

  • 1# Generate CSR using OpenSSL
    • Chaining your certificates
    • Create All-certs.pem file
      • GoDaddy SSL Certificates
      • Update DNS
    • Part 1
    • Part 2 Watch this video on YouTube

The first step in the process is to generate a Certificate Signing Request (CSR) which is what you send of to the Certificate Authority to purchase your signed certificate.

You will need to ensure your wireless lan controller is running code version 5.1.151.0 or higher

You will also need a version of OpenSSL

OpenSSL Version 0.9.8 is the recommended version; however, as of Version 7.5, support for OpenSSL Version 1.0 was also added.
(Refer to Cisco bug ID CSCti65315 – Need Support for certificates generated using OpenSSL v1.0).

For this tutorial I will be using version 0.9.8 and running it on windows 7 as it that is what I currently have installed on my laptop.

You can download Open SSL for Windows from here and for Linux from here

Once you have installed OpenSSL navigate to where you have installed it – for me I put it in C:\openssl 

Change directory to /bin and then run openssl by typing openssl

open ssl generate csr rogers ccie blog screenshot - how to install ssl certificate cisco wlc

Next issue the following command

req -new -newkey rsa:2048 -nodes -keyout mykey.pem -out myreq.pem

At this point you might get this error

unable to load config info from /user/local/ssl/openssl.cnf

unable to load config info from user local openssl

To fix this you can download a sample openssl.cnf file from here.

Save the file in C:\openssl

Then run the command to generate the CSR again but this time specifying the full path to the openssl.cnf file

req -new -newkey rsa:2048 -nodes -keyout mykey.pem -out myreq.pem -config C:\openssl\openssl.cnf

You should now be looking at this screen

open ssl generate csr unable to load config fix screenshot

Now you need to enter the requested information Yours will be specific to your company.

Country Code: GB

Sate or Province Name (I skipped this one)

Locality Name: London 

Organization Name: (This is the name of the Company for which you need the certificate – you can get the exact information from the DNS lookup of the domain name of external facing internet.

Orgainizational Unit Name: IT (I always put IT in here)

Common Name: This is the important one 

The common name is the DNS name that you have specified on the virtual interface of the wireless controller.

e.g guest-wireless.companyname.com

Email Address: (Email of the person responsible for certificates)

You can then specify a password if you want

Just hit enter if you want to skip this step.

You should now be back to the OpenSSL> prompt and you should have 2 files in your C:\openssl\bin folder

In my case myreq.pem and mykey.pem

myreq-pem

The myreq.pem file is the request that will be sent to the CA 

The mykey.pem is the key file which will be used once the cert arrives. 

Now you need to purchase your SSL Certificate. There are many suppliers out there but if you want to try this out there are many that offer a free cert for up to 90 days.

This is perfect if you want to test out the process before spending any money, if it works then you can purchase a 3 year certificate.

I have been using Comodo –  https://ssl.comodo.com/free-ssl-certificate.php

You just need to open up the myreq.pem file with notepad and copy the contents of the file into the certificate request.

You need to copy all the text which will look like this.

—--BEGIN CERTIFICATE REQUEST—--
MIIDUDCCArkCAQAwdTEWMBQGA1UEAxMNdGVzdC50ZXN0LmNvbTESMBAGA1UECxMJ
TWFya2V0aW5nMREwDwYDVQQKEwhUZXN0IE9yZzESMBAGA1UEBxMJVGVzdCBDaXR5
(data removed for security)
Rq+blLr5X5iQdzyF1pLqP1Mck5Ve1eCz0R9/OekGSRno7ow4TVyxAF6J6ozDaw7e
GisfZw40VLT0/6IGvK2jX0i+t58RFQ8WYTOcTRlPnkG8B/uV
—--END CERTIFICATE REQUEST—--

Chaining your certificates

When you receive your signed certificates back from the certificate authority you have to chain them together you should receive 3 or 4 files,

  1. Device Certificate
  2. Intermediate Certificate
  3. Root Certificate

In the case of Comodo I received 4 files

signed certificates

The Device certificate was the guestwireless_rogerperkin_co_uk file

The Intermediate was both the Comodo files

The Root Certificate was the AddTrustExternalCARoot file

If you are unsure of which files are which contact the tech support of the CA and they are usually very helpful.

Create All-certs.pem file

Now you need to open each file in turn in the order of Device, Intermediate and Root and paste them into one document as below

—--BEGIN CERTIFICATE REQUEST—--
** Device Cert Info **
—--END CERTIFICATE REQUEST—--

—--BEGIN CERTIFICATE REQUEST—--
** Intermediate Cert Info**
—--END CERTIFICATE REQUEST—--

—--BEGIN CERTIFICATE REQUEST—--
** Root Cert Info **
—--END CERTIFICATE REQUEST—--

Now save this file as allcerts.pem

GoDaddy SSL Certificates

For information if you use godaddy.com  you will receive back 2 files a Root Certificate and a combined certificate.

You need to copy the contents of the combined cert into notepad followed by the root and save this file as all-certs.pem

Whichever method you choose you will end up with a file called all-certs.pem

Move this file into the C:\openssl\bin folder where you should still have the mykey.pem file

Now you need to go back into OpenSSL so you are back at this screen

open ssl generate csr rogers ccie blog screenshot

Now enter the following command

pkcs12 -export -in All-certs.pem -inkey mykey.pem -out All-certs.p12 -clcerts -passin pass:check123 -passout pass:check123

Followed by this command

pkcs12 -in All-certs.p12 -out final.pem -passin pass:check123 -passout pass:check123

You should get a MAC verified OK message at the end

chain certificates cisco wlc ssl

You now have your final SSL certificate called final.pem which you need to upload to the WLC

NOTE: check123 is a password and can be any value you want, it is used when uploading the certficiate to the WLC

The easiest method is to go to Security / Web Auth / Cert

Tick the box that says download SSL Certificate

Enter the IP address of your TFTP server, the path and filename and the password you created above, in this case check123

download ssl cert to cisco wlc

The certificate will be uploaded and you will see all the details of your certificate on the screen.

The controller will have to be rebooted for certificate to take effect.

Update DNS

One final step is to update your DNS with the entry of the information on the Virtual interface.

If your guest clients resolve their DNS externally this needs to be done on your external DNS

A simple A record defining 1.1.1.1 (or whatever IP you have on your Virtual interface) pointing to the name you configured on your virtual interface and also have in your certificate e.g guest-wireless.companyname.com

That should be it. When guest users connect to your guest network they will no longer be prompted with a certificate error.

There are two very good videos from Cisco here which describe the process

Part 1

Part 2

Previous Post: « dB Laws – CCNA Wireless
Next Post: How to Upgrade Software on Cisco 5508 HA WLC »

Let’s get started

Take a look at my premium courses on Ansible, Nornir & Git or buy them all with the Network Automation Bundle!

Network Automation Courses

Social

Follow along on social media

Contact

Get in touch with me here

[email protected]

Navigation

Home

Blog

About

Contact

YouTube

Don’t forget to take a look at my YouTube Channel

youtube button

Copyright © 2021 · Roger Perkin · All Rights Reserved · Powered by Mai Theme