m_controller-self-signed-certificate
m_controller-self-signed-certificate
m_controller-self-signed-certificate
AP Join
• Use Cases, on page 1
• Prerequisites, on page 2
• Configuring Clock Calendar (CLI), on page 2
• Enabling HTTP Server (CLI), on page 3
• Configuring CA Server (CLI), on page 3
• Configuring Trustpoint (CLI), on page 5
• Authenticating and Enrolling the PKI TrustPoint with CA Server (CLI), on page 6
• Tagging Wireless Management TrustPoint Name (CLI), on page 7
• Verifying Controller Certificates for Wireless AP Join, on page 7
Use Cases
Use Case-1
Cisco Catalyst 9800-CL platform does not contain manufacturer installed SUDI certificates. You will need
to configure Self-Signed Certificates on your controller.
Use Case-2
APs running on earlier versions and having Manufacturer Installed Certificate (MIC) issued by a SHA1 Cisco
Trusted CA cannot join the controller with SHA2 SUDI certificate. During CAPWAP join process, the AP
displays a bad certificate error and tears down the DTLS handshake.
Workaround: To upgrade APs, configure controller Self-Signed certificates. Once done, you can delete the
Self-Signed certificates and revert back to the SUDI certificate.
Note This workaround does not apply to the Embedded Wireless Controller running Catalyst 9k switches. But
applies to other hardware appliance controllers, such as Cisco Catalyst 9800-40, Cisco Catalyst 9800-80, and
Cisco Catalyst 9800-L.
Note Certificate used in DTLS connections (AP and mobility) must use RSA key of size equal or more than 2048
bits. Otherwise, the APs and mobility connections will fail after reload. Run the show crypto pki certificate
verbose _tp-name_ command to display the key size of the device certificate.
Prerequisites
• Ensure that the VLAN interface is up and it’s IP is reachable.
• Ensure that the ip http server is enabled. For more information, see Enabling HTTP Server.
• Set the clock calendar-valid command appropriately. For more information, see #unique_1246.
• Check if the PKI CA server is already configured or not. If configured, you will need to delete the existing
CA server configuration.
Note The show crypto pki server command output should not display anything.
Step 2 crypto key generate rsa general-keys Configures a certificate for the controller.
modulus size_of_key_module label
When you generate RSA keys, you are
keypair_name
prompted to enter a modulus length. A longer
Example: modulus length might be more secure, but it
Device(config)# crypto key generate rsa takes longer to generate and to use.
general-keys modulus 2048 label WLC_CA
Note
The recommended key-pair name is WLC_CA
and key modulus is 2048 bits.
Step 6 hash sha256 (Optional) Specifies the hash function for the
signature used in the granted certificates.
Example:
Device(config)# hash sha256
Step 9 database archive pkcs12 password password Sets the CA key and CA certificate archive
format and password to encrypt the file.
Example:
Device(config)# database archive pkcs12
password 0 cisco123
Step 2 crypto key generate rsa exportable When you generate RSA keys, you are
general-keys modulus prompted to enter a modulus length. A longer
size-of-the-key-modulus label label modulus length might be more secure, but it
takes longer to generate and to use.
Example:
Device(config)# crypto key generate rsa
exportable general-keys modulus 2048
label ewlc-tp1
Step 3 crypto pki trustpoint trustpoint_name Creates a new trust point for an external CA
server. Here, trustpoint_name refers to the
Example:
trustpoint name.
Device(config)# crypto pki trustpoint
ewlc-tp1 Note
Ensure that same names are used for key-pair
(label) and trustpoint_name.
Step 4 rsakeypair RSA_key key_size Maps RSA key with that of the trustpoint.
Example: • RSA_key—Refers to the RSA key pair
Device(ca-trustpoint)# rsakeypair label.
ewlc-tp1
• key_size—Refers to the signature key
length. The value ranges from 360 to
4096.
Step 9 eku request server-auth client-auth (Optional) Sets certificate key-usage purpose.
Example:
Device(ca-trustpoint)# eku request
server-auth client-auth
Step 2 wireless management trustpoint Tags the wireless management trustpoint name.
trustpoint_name
Example:
Device(config)# wireless management
trustpoint ewlc-tp1
To view the wireless management trustpoint details, use the following command: