Contents

Introduction

Prerequisites

Requirements

Components Used

Background Information

Configure

Generate aCSR

Import the Certificate Authority Certificate Chain

Import the Signed Identity Certificate for the Server

Configure Chassis Manager to Use the New Certificate

Verify

Troubleshoot

Related Information

Introduction

This document describes how to generate a CSR and install the identity certificate for use with the Chassis Manager for FXOS on FP 4100/9300 series devices.

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

- Configure Firepower eXtensible Operating System (FXOS) from the Command Line

- Use Certificate Signing Request (CSR)

- Private Key Infrastructure (PKI) Concepts

Components Used

The information in this document is based on these software and hardware versions:

- Firepower (FP) 4100 and 9300 Series Hardware

- FXOS Versions 2.10

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Background Information

After the initial configuration, a self-signed SSL certificate is generated for use with the Chassis Manager web application. Since that certificate is self-signed, it is not automatically trusted by client browsers. The first time that a new client browser accesses the Chassis Manager web interface, the browser throws an SSL warning similar to your connection tha it is not private, and requires the user to accept the certificate before you access the Chassis Manager. This process allows a certificate signed by a trusted certificate authority to be installed, which allows a client browser to trust the connection, and bring up the web interface with no warnings.

Configure

Generate a CSR

Perform these steps in order to obtain a certificate that contains the IP address or Fully Qualified Domain Name (FQDN) of the device (which allows a client browser to identify the server properly):

- Create a keyring and select the modulus size of the private key.

Note: The keyring name can be any input. In these examples, firepower_cert is used.

This example creates a keyring with a key size of 1024 bits:

Firepower-chassis# scope security

Firepower-chassis /security # create keyring kr220

Firepower-chassis /security/keyring* # set modulus mod1024

Firepower-chassis /security/keyring* # commit-buffer

- Configure the CSR fields. The CSR can be generated with just basic options like a subject name. This prompts for a certificate request password as well.

This example creates and displays a certificate request with an IPv4 address for a key ring, with basic options:

Firepower-chassis# scope security

Firepower-chassis /security # scope keyring kr220

Firepower-chassis /security/keyring # create certreq ip 192.168.200.123 subject-name sjc04

Certificate request password:

Confirm certificate request password:

Firepower-chassis /security/keyring* # commit-buffer

- The CSR can also be generated with more advanced options that allow information like locale and organization to be embedded in the certificate.

Firepower-chassis# scope security

Firepower-chassis /security # scope keyring kr220

Firepower-chassis /security/keyring # create certreq

Firepower-chassis /security/keyring/certreq* # set "ip 192.168.200.123"

Firepower-chassis /security/keyring/certreq* #  set subject-name "sjc04"

Firepower-chassis /security/keyring/certreq* # set country "US"

Firepower-chassis /security/keyring/certreq* # set dns "bg1-samc-15A"

Firepower-chassis /security/keyring/certreq* # set email "test@cisco.com"

Firepower-chassis /security/keyring/certreq* # set locality "new york city"

Firepower-chassis /security/keyring/certreq* # set org-name "Cisco Systems"

Firepower-chassis /security/keyring/certreq* # set org-unit-name "Testing"

Firepower-chassis /security/keyring/certreq* # set state "new york"

Firepower-chassis /security/keyring/certreq* # commit-buffer

- Export the CSR to provide to your certificate authority. Copy the output that starts with (and includes) -----BEGIN CERTIFICATE REQUEST----- ends with (and includes) -----END CERTIFICATE REQUEST-----.

Firepower-chassis /security/keyring/certreq # show certreq

Certificate request subject name: sjc04

Certificate request ip address: 192.168.200.123

Certificate request e-mail name: test@cisco.com

Certificate request country name: US

State, province or county (full name): New York

Locality name (eg, city): new york city

Organization name (eg, company): Cisco

Organization Unit name (eg, section): Testing

Request:

-----BEGIN CERTIFICATE REQUEST-----

MIIBfTCB5wIBADARMQ8wDQYDVQQDEwZzYW1jMDQwgZ8wDQYJKoZIhvcNAQEBBQAD

gY0AMIGJAoGBALpKn1t8qMZO4UGqILKFXQQc2c8b/vW2rnRF8OPhKbhghLA1YZ1F

JqcYEG5Yl1+vgohLBTd45s0GC8m4RTLJWHo4SwccAUXQ5Zngf45YtX1WsylwUWV4

0re/zgTk/WCd56RfOBvWR2Dtztu2pGA14sd761zLxt29K7R8mzj6CAUVAgMBAAGg

LTArBgkqhkiG9w0BCQ4xHjAcMBoGA1UdEQEB/wQQMA6CBnNhbWMwNIcECsEiXjAN

BgkqhkiG9w0BAQQFAAOBgQCsxN0qUHYGFoQw56RwQueLTNPnrndqUwuZHUO03Teg

nhsyu4satpyiPqVV9viKZ+spvc6x5PWIcTWgHhH8BimOb/0OKuG8kwfIGGsEDlAv

TTYvUP+BZ9OFiPbRIA718S+V8ndXr1HejiQGxlDNqoN+odCXPc5kjoXD0lZTL09H

BA==

-----END CERTIFICATE REQUEST-----

Import the Certificate Authority Certificate Chain

Note: All certificates must be in Base64 format to be imported into FXOS. If the certificate or chain received from the Certificate Authority is in a different format, you must first convert it with an SSL tool such as OpenSSL.

- Create a new trustpoint to hold the certificate chain.

Note: The trustpoint name can be any input. In the examples, firepower_chain is used.

Firepower-chassis# scope security

Firepower-chassis /security # create trustpoint tPoint10

Firepower-chassis /security/trustpoint* # set certchain

Enter lines one at a time. Enter ENDOFBUF to finish. Press ^C to abort.

Trustpoint Certificate Chain:

> -----BEGIN CERTIFICATE-----

> MIIDMDCCApmgAwIBAgIBADANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEL

> BxMMU2FuIEpvc2UsIENBMRUwEwYDVQQKEwxFeGFtcGxlIEluYy4xEzARBgNVBAsT

> ClRlc3QgR3JvdXAxGTAXBgNVBAMTEHRlc3QuZXhhbXBsZS5jb20xHzAdBgkqhkiG

> 9w0BCQEWEHVzZXJAZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ

> AoGBAMZw4nTepNIDhVzb0j7Z2Je4xAG56zmSHRMQeOGHemdh66u2/XAoLx7YCcYU

> ZgAMivyCsKgb/6CjQtsofvtrmC/eAehuK3/SINv7wd6Vv2pBt6ZpXgD4VBNKONDl

> GMbkPayVlQjbG4MD2dx2+H8EH3LMtdZrgKvPxPTE+bF5wZVNAgMBAAGgJTAjBgkq

> hkiG9w0BCQcxFhMUQSBjaGFsbGVuZ2UgcGFzc3dvcmQwDQYJKoZIhvcNAQEFBQAD

> gYEAG61CaJoJaVMhzCl903O6Mg51zq1zXcz75+VFj2I6rH9asckCld3mkOVx5gJU

> Ptt5CVQpNgNLdvbDPSsXretysOhqHmp9+CLv8FDuy1CDYfuaLtvlWvfhevskV0j6

> jtcEMyZ+f7+3yh421ido3nO4MIGeBgNVHSMEgZYwgZOAFLlNjtcEMyZ+f7+3yh42

> 1ido3nO4oXikdjB0MQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFDASBgNVBAcT

> C1NhbnRhIENsYXJhMRswGQYDVQQKExJOdW92YSBTeXN0ZW1zIEluYy4xFDASBgNV

> BAsTC0VuZ2luZWVyaW5nMQ8wDQYDVQQDEwZ0ZXN0Q0GCAQAwDAYDVR0TBAUwAwEB

> /zANBgkqhkiG9w0BAQQFAAOBgQAhWaRwXNR6B4g6Lsnr+fptHv+WVhB5fKqGQqXc

> wR4pYiO4z42/j9Ijenh75tCKMhW51az8copP1EBmOcyuhf5C6vasrenn1ddkkYt4

> PR0vxGc40whuiozBolesmsmjBbedUCwQgdFDWhDIZJwK5+N3x/kfa2EHU6id1avt

> 4YL5Jg==

> -----END CERTIFICATE-----

> ENDOFBUF

Firepower-chassis /security/trustpoint* # commit-buffer

Note: For a Certificate Authority that uses intermediate certificates, the root and intermediate certificates must be combined. In the text file, paste the root certificate at the top, followed by each intermediate certificate in the chain (that includes all BEGIN CERTIFICATE and END CERTIFICATE flags). Then paste that entire file before the ENDOFBUF delineation.

Import the Signed Identity Certificate for the Server

- Associate the trustpoint created in the previous step with the keyring that was created for the CSR.

Firepower-chassis# scope security

Firepower-chassis /security # scope keyring kr220

Firepower-chassis /security/keyring # set trustpoint tPoint10

- Paste the contents of the identity certificate provided by the Certificate Authority.

Firepower-chassis /security/keyring* # set cert

Enter lines one at a time. Enter ENDOFBUF to finish. Press ^C to abort.

Keyring certificate:

> -----BEGIN CERTIFICATE-----

> MIIB/zCCAWgCAQAwgZkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEVMBMGA1UE

> BxMMU2FuIEpvc2UsIENBMRUwEwYDVQQKEwxFeGFtcGxlIEluYy4xEzARBgNVBAsT

> ClRlc3QgR3JvdXAxGTAXBgNVBAMTEHRlc3QuZXhhbXBsZS5jb20xHzAdBgkqhkiG

> 9w0BCQEWEHVzZXJAZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ

> AoGBAMZw4nTepNIDhVzb0j7Z2Je4xAG56zmSHRMQeOGHemdh66u2/XAoLx7YCcYU

> ZgAMivyCsKgb/6CjQtsofvtrmC/eAehuK3/SINv7wd6Vv2pBt6ZpXgD4VBNKONDl

> GMbkPayVlQjbG4MD2dx2+H8EH3LMtdZrgKvPxPTE+bF5wZVNAgMBAAGgJTAjBgkq

> hkiG9w0BCQcxFhMUQSBjaGFsbGVuZ2UgcGFzc3dvcmQwDQYJKoZIhvcNAQEFBQAD

> gYEAG61CaJoJaVMhzCl903O6Mg51zq1zXcz75+VFj2I6rH9asckCld3mkOVx5gJU

> Ptt5CVQpNgNLdvbDPSsXretysOhqHmp9+CLv8FDuy1CDYfuaLtvlWvfhevskV0j6

> mK3Ku+YiORnv6DhxrOoqau8r/hyI/L43l7IPN1HhOi3oha4=

> -----END CERTIFICATE-----

> ENDOFBUF

Firepower-chassis /security/keyring* # commit-buffer

Configure Chassis Manager to Use the New Certificate

The certificate has now been installed, but the web service is not yet configured to use it.

Firepower-chassis# scope system

Firepower-chassis /system # scope services

Firepower-chassis /system/services # enable https

Firepower-chassis /system/services* # set https port 443

Warning: When committed, this closes all the web sessions.

Firepower-chassis /system/services* # set https keyring kring7984

Firepower-chassis /system/services* # set https cipher-suite-mode high

Firepower-chassis /system/services* # commit-buffer

Verify

Use this section in order to confirm that your configuration works properly.

- show https - Output displays the keyring associated with the HTTPS server. It can reflect the name created in the steps mentioned previously. It if still shows default, then it has not been updated to use the new certificate.

Firepower-chassis /system/services # show https Name: https Admin State: Enabled Port: 443 Operational port: 443 Key Ring: kring7984 Cipher suite mode: Medium Strength Cipher suite: ALL:!ADH:!EXPORT40:!EXPORT56:!LOW:!RC4:!MD5:!IDEA:+HIGH:+MEDIU M:+EXP:+eNULL

- show keyring <keyring_name> detail - Output displays the contents of the certificate that is imported, and shows if it is valid or not.

fp4120 /security #  scope security

fp4120 /security #  show keyring kring7984 detail Keyring kring7984: RSA key modulus: Mod2048 Trustpoint CA: tPoint10  Certificate status: Valid Certificate: Data: Version: 3 (0x2) Serial Number: 45:00:00:00:0a:de:86:55:16:82:24:f3:be:00:00:00:00:00:0a Signature Algorithm: ecdsa-with-SHA256 Issuer: DC=local, DC=naaustin, CN=naaustin-NAAUSTIN-PC-CA Validity Not Before: Apr 28 13:09:54 2016 GMT Not After : Apr 28 13:09:54 2018 GMT Subject: C=US, ST=California, L=San Jose, O=Cisco Systems, OU=TAC, CN=fp4120.test.local Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:b3:43:8d:e6:06:a0:91:f6:76:7e:2e:09:54:40: 0d:1b:ee:d8:1a:07:07:6e:75:2d:ec:ba:55:c8:c0: a1:9c:a3:8f:26:30:70:91:43:0d:40:0d:66:42:c4: 50:0d:c6:c9:db:7d:bf:b0:ad:1f:31:29:f2:a8:e2: fc:27:30:bb:8a:dc:5e:54:46:51:cb:3e:ff:6b:1e: d6:18:db:de:83:f5:cf:fb:37:74:de:7b:78:19:73: 3a:dc:5b:2b:3d:c3:e6:03:b1:30:82:a0:d2:2e:84: a1:b4:11:15:d7:48:61:7f:8f:8d:c3:8a:4a:09:9f: 9e:49:29:12:26:44:c1:d5:91:da:29:5f:5b:b6:d6: 20:de:47:ff:50:45:14:82:4f:c4:ca:b5:6a:dc:1f: ae:d8:3b:28:a0:f5:6a:ef:a9:93:9b:c0:70:60:ca: 87:6c:91:2f:e0:f9:ae:46:35:84:f3:cc:84:bd:5c: 07:ec:94:c4:8a:3f:4e:bf:16:da:b6:30:e3:55:22: 47:64:15:11:b4:26:a7:bf:20:6f:1a:e2:cf:fd:0f: cd:9a:fd:cb:a3:71:bd:21:36:cb:2f:98:08:61:95: 5a:b5:3c:69:e8:74:d4:7b:31:f6:30:82:33:39:ab: d4:e9:dd:6d:07:da:e7:cb:18:06:b6:1e:5d:3d:5d: 1d:85 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DNS:fp4120.test.local X509v3 Subject Key Identifier: FF:55:A9:B2:D8:84:60:4C:6C:F0:39:59:59:CB:87:67:03:ED:BB:94 X509v3 Authority Key Identifier: keyid:C8:89:DB:0C:73:EB:17:01:04:05:C6:F1:19:28:10:5B:BA:4E:54:89 X509v3 CRL Distribution Points: Full Name: URI:ldap:///CN=naaustin-NAAUSTIN-PC-CA,CN=naaustin-pc,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=naaustin,DC=local?certificateRevocationList?base?objectClass=cRLDistributionPoint Authority Information Access: CA Issuers - URI:ldap:///CN=naaustin-NAAUSTIN-PC-CA,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=naaustin,DC=local?cACertificate?base?objectClass=certificationAuthority 10.3.6.1.4.1.311.20.2: ...W.e.b.S.e.r.v.e.r X509v3 Key Usage: critical Digital Signature, Key Encipherment X509v3 Extended Key Usage: TLS Web Server Authentication Signature Algorithm: ecdsa-with-SHA256 30:45:02:20:57:b0:ec:d7:09:8a:b1:2d:15:1b:f2:c6:39:10: e3:f7:55:a3:6a:08:e8:24:41:df:4f:16:41:b6:07:35:4b:bf: 02:21:00:ed:47:4e:6e:24:89:04:6f:cf:05:98:e6:b2:0a:08: 2b:ad:1a:91:b8:e8:b4:e4:ef:51:d5:1d:f5:be:8a:d5:4c -----BEGIN CERTIFICATE----- MIIE8DCCBJagAwIBAgITRQAAAArehlUWgiTzvgAAAAAACjAKBggqhkjOPQQDAjBT MRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxGDAWBgoJkiaJk/IsZAEZFghuYWF1c3Rp bjEgMB4GA1UEAxMXbmFhdXN0aW4tTkFBVVNUSU4tUEMtQ0EwHhcNMTYwNDI4MTMw OTU0WhcNMTgwNDI4MTMwOTU0WjB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2Fs aWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxFjAUBgNVBAoTDUNpc2NvIFN5c3Rl bXMxDDAKBgNVBAsTA1RBQzEaMBgGA1UEAxMRZnA0MTIwLnRlc3QubG9jYWwwggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzQ43mBqCR9nZ+LglUQA0b7tga BwdudS3sulXIwKGco48mMHCRQw1ADWZCxFANxsnbfb+wrR8xKfKo4vwnMLuK3F5U RlHLPv9rHtYY296D9c/7N3Tee3gZczrcWys9w+YDsTCCoNIuhKG0ERXXSGF/j43D ikoJn55JKRImRMHVkdopX1u21iDeR/9QRRSCT8TKtWrcH67YOyig9WrvqZObwHBg yodskS/g+a5GNYTzzIS9XAfslMSKP06/Ftq2MONVIkdkFRG0Jqe/IG8a4s/9D82a /cujcb0hNssvmAhhlVq1PGnodNR7MfYwgjM5q9Tp3W0H2ufLGAa2Hl09XR2FAgMB AAGjggJYMIICVDAcBgNVHREEFTATghFmcDQxMjAudGVzdC5sb2NhbDAdBgNVHQ4E FgQU/1WpstiEYExs8DlZWcuHZwPtu5QwHwYDVR0jBBgwFoAUyInbDHPrFwEEBcbx GSgQW7pOVIkwgdwGA1UdHwSB1DCB0TCBzqCBy6CByIaBxWxkYXA6Ly8vQ049bmFh dXN0aW4tTkFBVVNUSU4tUEMtQ0EsQ049bmFhdXN0aW4tcGMsQ049Q0RQLENOPVB1 YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRp b24sREM9bmFhdXN0aW4sREM9bG9jYWw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz dD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIHMBggrBgEF BQcBAQSBvzCBvDCBuQYIKwYBBQUHMAKGgaxsZGFwOi8vL0NOPW5hYXVzdGluLU5B QVVTVElOLVBDLUNBLENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD Tj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPW5hYXVzdGluLERDPWxvY2Fs P2NBQ2VydGlmaWNhdGU/YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0 aG9yaXR5MCEGCSsGAQQBgjcUAgQUHhIAVwBlAGIAUwBlAHIAdgBlAHIwDgYDVR0P AQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAoGCCqGSM49BAMCA0gAMEUC IFew7NcJirEtFRvyxjkQ4/dVo2oI6CRB308WQbYHNUu/AiEA7UdObiSJBG/PBZjm sgoIK60akbjotOTvUdUd9b6K1Uw= -----END CERTIFICATE----- Zeroized: No

- Enter https://<FQDN_or_IP>/ in the address bar of a web browser, and browse to the Firepower Chassis Manager, and verify that the new trusted certificate is presented.

Warning: Browsers also verify the subject-name of a certificate against the input in the address bar, so if the certificate is issued to the fully qualified domain name, it must be accessed that way in the browser. If it is accessed via IP address, a different SSL error is thrown (Common Name Invalid) even if the trusted certificate is used.

Troubleshoot

There is currently no specific information available to troubleshoot this configuration.

Related Information

- Accessing the FXOS CLI

- Technical Support & Documentation - Cisco Systems