Locally Significant Certificates

Information About Locally Significant Certificates

This module explains how to configure the Cisco Catalyst 9800 Series Wireless Controller and Lightweight Access Points (LAPs) to use the Locally Significant Certificate (LSC). If you choose the Public Key Infrastructure (PKI) with LSC, you can generate the LSC on the APs and controllers. You can then use the certificates to mutually authenticate the controllers and the APs.

In Cisco controllers, you can configure the controller to use an LSC. Use an LSC if you want your own PKI to provide better security, have control of your Certificate Authority (CA), and define policies, restrictions, and usages on the generated certificates.

You need to provision the new LSC certificate on the controller and then the Lightweight Access Point (LAP) from the CA Server.

The LAP communicates with the controller using the CAPWAP protocol. Any request to sign the certificate and issue the CA certificates for LAP and controller itself must be initiated from the controller. The LAP does not communicate directly with the CA server. The CA server details must be configured on the controller and must be accessible.

The controller makes use of the Simple Certificate Enrollment Protocol (SCEP) to forward certReqs generated on the devices to the CA and makes use of SCEP again to get the signed certificates from the CA.

The SCEP is a certificate management protocol that the PKI clients and CA servers use to support certificate enrollment and revocation. It is widely used in Cisco and supported by many CA servers. In SCEP, HTTP is used as the transport protocol for the PKI messages. The primary goal of SCEP is the secure issuance of certificates to network devices. SCEP is capable of many operations, but for our release, SCEP is utilized for the following operations:

  • CA and Router Advertisement (RA) Public Key Distribution

  • Certificate Enrollment

Certificate Provisioning in Controllers

The new LSC certificates, both CA and device certificates, must be installed on the controller.

With the help of SCEP, CA certificates are received from the CA server. During this point, there are no certificates in the controller. After the get operation of obtaining the CA certificates, are installed on the controller. The same CA certificates are also pushed to the APs when the APs are provisioned with LSCs.


Note


We recommend that you use a new RSA keypair name for the newly configured PKI certificate. If you want to reuse an existing RSA keypair name (that is associated with an old certificate) for a new PKI certificate, do either of the following:

  • Do not regenerate a new RSA keypair with an existing RSA keypair name, reuse the existing RSA keypair name. Regenerating a new RSA keypair with an existing RSA keypair name will make all the certificates associated with the existing RSA keypair invalid.

  • Manually remove the old PKI certificate configurations first, before reusing the existing RSA keypair name for the new PKI certificate.


Device Certificate Enrollment Operation

For both the LAP and the controller that request a CA-signed certificate, the certRequest is sent as a PKCS#10 message. The certRequest contains the Subject Name, Public Key, and other attributes to be included in the X.509 certificate, and must be digitally signed by the Private Key of the requester. These are then sent to the CA, which transforms the certRequest into an X.509 certificate.

The CA that receives a PKCS#10 certRequest requires additional information to authenticate the requester's identity and verify if the request is unaltered. (Sometimes, PKCS#10 is combined with other approaches, such as PKCS#7 to send and receive the certificate request or response.)

The PKCS#10 is wrapped in a PKCS#7 Signed Data message type. This is supported as part of the SCEP client functionality, while the PKCSReq message is sent to the controller. Upon successful enrollment operation, both the CA and device certificates are available on the controller.

Certificate Provisioning on Lightweight Access Point

In order to provision a new certificate on LAP, while in CAPWAP mode, the LAP must be able to get the new signed X.509 certificate. In order to do this, it sends a certRequest to the controller, which acts as a CA proxy and helps obtain the certRequest signed by the CA for the LAP.

The certReq and the certResponses are sent to the LAP with the LWAPP payloads.

Both the LSC CA and the LAP device certificates are installed in the LAP, and the system reboots automatically. The next time when the system comes up, because it is configured to use LSCs, the AP sends the LSC device certificate to the controller as part of the JOIN Request. As part of the JOIN Response, the controller sends the new device certificate and also validates the inbound LAP certificate with the new CA root certificate.

What to Do Next

To configure, authorize, and manage certificate enrollment with the existing PKI infrastructure for controller and AP, you need to use the LSC provisioning functionality.

Restrictions for Locally Significant Certificates

  • LSC workflow is different in FIPS+WLANCC mode. CA server must support Enrollment over Secure Transport (EST) protocol and should be capable of issuing EC certificates in FIPS+WLANCC mode.

  • Elliptic Curve Digital Signature Algorithm (ECDSA) cipher works only if both AP and controller are having EC certificates, provisioned with LSC.

  • EC certificates (LSC-EC) can be provisioned only if CA server supports EST (and not SCEP).

  • FIPS + CC security modes is required to be configured in order to provision EC certificate.

Provisioning Locally Significant Certificates

Configuring RSA Key for PKI Trustpoint

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

crypto key generate rsa [exportable] general-keys modulus key_size label RSA_key

Example:

Device(config)# crypto key generate rsa exportable 
general-keys modulus 2048 label lsc-tp

Configures RSA key for PKI trustpoint.

exportable is an optional keyword. You may or may not want to configure an exportable-key. If selected, you can export the key out of the box, if required

  • key_size : Size of the key modulus. The valid range is from 2048 to 4096.

  • RSA_key : RSA key pair label.

Step 3

end

Example:

Device(config)# end

Returns to privileged EXEC mode.

Configuring PKI Trustpoint Parameters

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

crypto pki trustpoint trustpoint_name

Example:

Device(config)# crypto pki trustpoint microsoft-ca

Creates a new trustpoint for an external CA server. Here, trustpoint_name refers to the trustpoint name.

Step 3

enrollment url HTTP_URL

Example:

Device(ca-trustpoint)# enrollment url 
http://CA_server/certsrv/mscep/mscep.dll

Specifies the URL of the CA on which your router should send certificate requests.

url url: URL of the file system where your router should send certificate requests. An IPv6 address can be added in the URL enclosed in brackets. For example: http:// [2001:DB8:1:1::1]:80. For more enrollment method options, see the enrollment url (ca-trustpoint) command page.

Step 4

subject-name subject_name

Example:

Device(ca-trustpoint)# subject-name C=IN, 
ST=KA, L=Bengaluru, O=Cisco, CN=eagle-eye/emailAddress=support@abc.com

Creates subject name parameters for the trustpoint.

Step 5

rsakeypair RSA_key key_size

Example:

Device(ca-trustpoint)# rsakeypair ewlc-tp1

Maps RSA key with that of the trustpoint.

  • RSA_key : RSA key pair label.

  • key_size : Signature key length. Range is from 360 to 4096.

Step 6

revocation {crl | none | ocsp}

Example:

Device(ca-trustpoint)# revocation none

Checks revocation.

Step 7

end

Example:

Device(ca-trustpoint)# end

Returns to privileged EXEC mode.

Authenticating and Enrolling a PKI Trustpoint (GUI)

Procedure


Step 1

Choose Configuration > Security > PKI Management.

Step 2

In the PKI Management window, click the Trustpoints tab.

Step 3

In the Add Trustpoint dialog box, provide the following information:

  1. In the Label field, enter the RSA key label.

  2. In the Enrollment URL field, enter the enrollment URL.

  3. Check the Authenticate check box to authenticate the Public Certificate from the enrollment URL.

  4. In the Subject Name section, enter the Country Code, State, Location, Organization, Domain Name, and Email Address.

  5. Check the Key Generated check box to view the available RSA keypairs. Choose an option from the Available RSA Keypairs drop-down list.

  6. Check the Enroll Trustpoint check box.

  7. In the Password field, enter the password.

  8. In the Re-Enter Password field, confirm the password.

  9. Click Apply to Device.

The new trustpoint is added to the trustpoint name list.

Authenticating and Enrolling the PKI Trustpoint with CA Server (CLI)

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

crypto pki authenticate trustpoint_name

Example:

Device(config)# crypto pki authenticate microsoft-ca

Fetches the CA certificate.

Step 3

yes

Example:

Device(config)# % Do you accept this certificate? [yes/no]: 
yes Trustpoint CA certificate accepted.

Step 4

crypto pki enroll trustpoint_name

Example:

Device(config)# crypto pki enroll microsoft-ca
%
% Start certificate enrollment .. 
% Create a challenge password. You will need to verbally 
provide this password to the CA Administrator in order to 
revoke your certificate. For security reasons your password 
will not be saved in the configuration.
Please make a note of it.

Enrolls the client certificate.

Step 5

password

Example:

Device(config)# abcd123

Enters a challenge password to the CA server.

Step 6

password

Example:

Device(config)# abcd123

Re-enters a challenge password to the CA server.

Step 7

yes

Example:

Device(config)# % Include the router serial number
in the subject name? [yes/no]: yes

Step 8

no

Example:

Device(config)# % Include an IP address 
in the subject name? [no]: no

Step 9

yes

Example:

Device(config)# 
Request certificate from CA? [yes/no]: yes
% Certificate request sent to Certificate Authority
% The 'show crypto pki certificate verbose
client' command will show the fingerprint.

Step 10

end

Example:

Device(config)# end

Returns to privileged EXEC mode.

Configuring AP Join Attempts with LSC Certificate (GUI)

Procedure


Step 1

Choose Configuration > Wireless > Access Points.

Step 2

In the All Access Points window, click the LSC Provision name.

Step 3

From the Status drop-down list, choose a status to enable LSC.

Step 4

From the Trustpoint Name drop-down list, choose the trustpoint.

Step 5

In the Number of Join Attempts field, enter the number of retry attempts that will be permitted.

Step 6

Click Apply.


Configuring AP Join Attempts with LSC Certificate (CLI)

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

ap lsc-provision join-attempt number_of_attempts

Example:

Device(config)# ap lsc-provision join-attempt 10

Specifies the maximum number of AP join failure attempts with the newly provisioned LSC certificate.

When the number of AP joins exceed the specified limit, AP joins back with the Manufacturer Installed Certificate (MIC).

Step 3

end

Example:

Device(config)# end

Returns to privileged EXEC mode. Alternatively, you can also press Ctrl-Z to exit global configuration mode.

Configuring Subject-Name Parameters in LSC Certificate

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

ap lsc-provision subject-name-parameter country country-str state state-str city city-str domain domain-str org org-str email-address email-addr-str

Example:

Device(config)# ap lsc-provision subject-name-parameter 
country India state Karnataka city Bangalore domain domain1 org 
Right email-address adc@gfe.com

Specifies the attributes to be included in the subject-name parameter of the certificate request generated by an AP.

Step 3

end

Example:

Device(config)# end

Returns to privileged EXEC mode.

Configuring Key Size for LSC Certificate

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

ap lsc-provision key-size{ 2048 | 3072 | 4096}}

Example:

Device(config)# ap lsc-provision key-size 2048

Specifies the size of keys to be generated for the LSC on AP.

Step 3

end

Example:

Device(config)# end

Returns to privileged EXEC mode. Alternatively, you can also press Ctrl-Z to exit global configuration mode.

Configuring Trustpoint for LSC Provisioning on an Access Point

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

ap lsc-provision trustpoint tp-name

Example:

Device(config)# ap lsc-provision trustpoint 
microsoft-ca

Specifies the trustpoint with which the LCS is provisioned to an AP.

tp-name : The trustpoint name.

Step 3

end

Example:

Device(config)# end

Returns to privileged EXEC mode.

Configuring an AP LSC Provision List (GUI)

Procedure


Step 1

Choose Configuration > Wireless > Access Points.

Step 2

In the All Access Points window, click the corresponding LSC Provision name.

Step 3

From the Status drop-down list, choose a status to enable LSC.

Step 4

From the Trustpoint Name drop-down list, choose a trustpoint.

Step 5

In the Number of Join Attempts field, enter the number of retry attempts that are allowed.

Step 6

From the Key Size drop-down list, choose a key.

Step 7

In the Edit AP Join Profile window, click the CAPWAP tab.

Step 8

In the Add APs to LSC Provision List section, click Select File to upload the CSV file that contains AP details.

Step 9

Click Upload File.

Step 10

In the AP MAC Address field, enter the AP MAC address. and add them. (The APs added to the provision list are displayed in the APs in provision List .)

Step 11

In the Subject Name Parameters section, enter the following details:

  • Country

  • State

  • City

  • Organization

  • Department

  • Email Address

Step 12

Click Apply.


Configuring an AP LSC Provision List (CLI)

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

ap lsc-provision mac-address mac-addr

Example:

Device(config)# ap lsc-provision 
mac-address 001b.3400.02f0

Adds the AP to the LSC provision list.

Note

 

You can provision a list of APs using the ap lsc-provision provision-list command.

(Or)

You can provision all the APs using the ap lsc-provision command.

Step 3

end

Example:

Device(config)# end

Returns to privileged EXEC mode.

Configuring LSC Provisioning for all the APs (GUI)

Procedure


Step 1

Choose Configuration > Wireless > Access Points.

Step 2

In the Access Points window, expand the LSC Provision section.

Step 3

Set Status to Enabled state.

Note

 

If you set Status to Provision List, LSC provisioning will be configured only for APs that are a part of the provision list.

Step 4

From the Trustpoint Name drop-down list, choose the appropriate trustpoint for all APs.

Step 5

In the Number of Join Attempts field, enter the number of retry attempts that the APs can make to join the controller.

Step 6

From the Key Size drop-down list, choose the appropriate key size of the certificate:

  • 2048
  • 3072
  • 4096

Step 7

In the Add APs to LSC Provision List section, click Select File to upload the CSV file that contains the AP details.

Step 8

Click Upload File.

Step 9

In the AP MAC Address field, enter the AP MAC address. (The APs that are added to the provision list are displayed in the APs in Provision List section.)

Step 10

In the Subject Name Parameters section, enter the following details:

  1. Country

  2. State

  3. City

  4. Organization

  5. Department

  6. Email Address

Step 11

Click Apply.


Configuring LSC Provisioning for All APs (CLI)

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

ap lsc-provision

Example:

Device(config)# ap lsc-provision

Enables LSC provisioning for all APs.

By default, LSC provisioning is disabled for all APs.

Step 3

end

Example:

Device(config)# end

Returns to privileged EXEC mode.

Configuring LSC Provisioning for the APs in the Provision List

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

ap lsc-provision provision-list

Example:

Device(config)# ap lsc-provision provision-list

Enables LSC provisioning for a set of APs configured in the provision list.

Step 3

end

Example:

Device(config)# end

Returns to privileged EXEC mode. Alternatively, you can also press Ctrl-Z to exit global configuration mode.

Verifying LSC Configuration

To view the details of the wireless management trustpoint, use the following command:

Device# show wireless management trustpoint

Trustpoint  Name : microsoft-ca
Certificate Info : Available
Certificate Type : LSC
Certificate Hash : 9e5623adba5307facf778e6ea2f5082877ea4beb
 Private key Info : Available

To view the LSC provision-related configuration details for an AP, use the following command:

Device# show ap lsc-provision summary

AP LSC-provisioning : Disabled
Trustpoint used for LSC-provisioning : microsoft-ca
LSC Revert Count in AP reboots : 10

AP LSC Parameters :
Country : IN
State : KA
City : BLR
Orgn : ABC
Dept : ABC
Email : support@abc.com
Key Size : 2048

AP LSC-provision List : Enabled
Total number of APs in provision list: 3

Mac Address
-----------
0038.df24.5fd0  
2c5a.0f22.d4ca  
e4c7.22cd.b74f  

Configuring Management Trustpoint to LSC (GUI)

Procedure


Step 1

Choose Administration > Management > HTTP/HTTPS.

Step 2

In the HTTP Trust Point Configuration section, set Enable Trust Point to the Enabled state.

Step 3

From the Trust Points drop-down list, choose the appropriate trustpoint.

Step 4

Save the configuration.


Configuring Management Trustpoint to LSC (CLI)

After LSC provisioning, the APs will automatically reboot and join at the LSC mode after bootup. Similarly, if you remove the AP LSC provisioning, the APs reboot and join at non-LSC mode.

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

wireless management trustpoint trustpoint_name

Example:

Device(config)# wireless management trustpoint microsoft-ca

Configures the management trustpoint to LSC.

Step 3

end

Example:

Device(config)# end

Returns to privileged EXEC mode. Alternatively, you can also press Ctrl-Z to exit global configuration mode.