Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Configuration

Vérification

Introduction

Ce document décrit comment générer une demande de signature de certificat (CSR) afin d'obtenir un certificat tiers et comment télécharger un certificat chaîné vers Cisco Connected Mobile Experiences (CMX).

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Connaissances de base de Linux

- Infrastructure à clé publique (PKI)

- Certificats numériques

Components Used

Les informations de ce document sont basées sur la version 10.3 de CMX

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. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Configuration

Générer le CSR

Étape 1. Connectez-vous à la CLI de CMX, accédez en tant que root, accédez au répertoire de certificats et créez un dossier pour le CSR et le fichier de clé.

[cmxadmin@cmx]$ su -

Password:

[root@cmx]# cd /opt/haproxy/ssl/

[root@cmx]# mkdir newcert

[root@cmx]# cd newcert

Note: Le répertoire par défaut des certificats sur CMX est /opt/haproxy/ssl/.

Étape 2. Générez le fichier CSR et la clé.

[root@cmx newcert]# openssl req -nodes -days 365 -newkey rsa:2048 -keyout /opt/haproxy/ssl/newcert/private.key -out /opt/haproxy/ssl/newcert/cert.crt

Generating a 2048 bit RSA private key

........+++

......................+++

writing new private key to '/opt/haproxy/ssl/newcert/private.key'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [XX]:MX

State or Province Name (full name) []:Tlaxcala

Locality Name (eg, city) [Default City]:Tlaxcala

Organization Name (eg, company) [Default Company Ltd]:Cisco

Organizational Unit Name (eg, section) []:TAC

Common Name (eg, your name or your server's hostname) []:cmx.example.com

Email Address []:cmx@example.com

Étape 3. Obtenez la signature du CSR par le tiers.

Afin d'obtenir le certificat de CMX et de l'envoyer à un tiers, exécutez la commande cat pour ouvrir le CSR. Vous pouvez copier et coller la sortie dans un fichier .txt ou modifier l'extension en fonction des exigences du tiers. Voici un exemple.

[root@cmx newcert]# cat cert.crt

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

MIIC0TCCAbkCAQAwgYsxCzAJBgNVBAYTAk1YMREwDwYDVQQIDAhUbGF4Y2FsYTER

MA8GA1UEBwwIVGxheGNhbGExDjAMBgNVBAoMBUNpc2NvMQwwCgYDVQQLDANUQUMx

GDAWBgNVBAMMD2NteC5leGFtcGxlLmNvbTEeMBwGCSqGSIb3DQEJARYPY214QGV4

YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2YybDkDR

vRSwD19EVaJehsNjG9Cyo3vQPOPcAAdgjFBpUHMt8QNgn6YFdHYZdpKaRTJXhztm

fa/7Nevb1IP/pSBgYRxHXQEhl9Gj4DT0gT2T+AZ8j3J9KMSe8Bakj4qY8Ua7GCdC

A62NzVcDxDM83gUD92oGbxOF9VFE2hiRvCQc+d6gBRuTOXxtyLBAtcL3hkiOEQx7

sDA55CwZU7ysMdWHUBn4AglzI1gPyzlmT3dwR0gfOSYN4j5+H0nrYtrPBZSUbZaa

8pGXVu7sFtV8bahgtnYiCUtiz9J+k5V9DBjqpSzYzb3+KxeAA+g0iV3J1VzsLNt7

mVocT9oPaOEI8wIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBAI6Q/A4zTfrWP2uS

xtN8X6p6aP8guU0bTWhGEMBEgBQd0bBWYdhxaItGt1a1tdNcIGLACeMPuk7WpsiH

rUs5kiIjlAc2/ANBao6/nlv56vhGUx0dOq0fk/glbrKL+a8Lx9ixtee77aPZ1xVD

A/n3FdNdSIidWH0M4q8JunxbT33vM9h8H6oqe/JI3BDnw4tRnkYaGWJsyWUlPCuO

TWPMagMkntv0JaEOHLg4/JZyVSdDiTnmb/U8cEH2RrcUP8iwjykDpb/V4tb4VtgM

7+9HKxQRQHq5Qji8/QyMG6ctoD+B7k6UpzXvi5FpvqGQWwXJNC52suAt0QeeZj1J

rpudLUs=

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

[root@cmx newcert]#

Étape 4. Créez la chaîne de certificats à importer dans CMX.

Afin de créer le certificat final, copiez et collez le certificat signé dans un fichier .txt avec la clé privée, le certificat intermédiaire et le certificat racine. Assurez-vous de l'enregistrer en tant que fichier .pem.

Cet exemple montre le format du certificat final.

-----BEGIN RSA PRIVATE KEY----- < Your Private Key

MIIEpAIBAAKCAQEA2gXgEo7ouyBfWwCktcYo8ABwFw3d0yG5rvZRHvS2b3FwFRw5

...

-----END RSA PRIVATE KEY-----

-----BEGIN CERTIFICATE----- < Your CMX server signed certificate

MIIFEzCCAvugAwIBAgIBFzANBgkqhkiG9w0BAQsFADCBlDELMAkGA1UEBhMCVVMx

...

-----END CERTIFICATE-----

-----BEGIN CERTIFICATE----- < Your intermediate CA certificates

...

-----END CERTIFICATE-----

-----BEGIN CERTIFICATE----- < The root CA certificate that signed your certificate

MIIGqjCCBJKgAwIBAgIJAPj9p1QMdTgoMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD

...

-----END CERTIFICATE-----

Étape 5. Transférez le certificat final dans CMX.

Afin de transférer le certificat final vers CMX à partir de votre ordinateur, ouvrez votre application SFTP et connectez-vous à CMX avec les informations d'identification de l'administrateur. Vous devez être en mesure d'afficher les dossiers de CMX comme indiqué dans l'image.

Ensuite, faites glisser et déposez le certificat chaîné dans le dossier /home/cmxadmin/.

Note: Le répertoire par défaut lorsque vous ouvrez une connexion SFTP à CMX est /home/cmxadmin/.

Étape 6. Modifiez l'autorisation du certificat final et du propriétaire. Ensuite, déplacez-le vers le dossier qui contient la clé privée. Voici un exemple.

[root@cmx ~]# cd /home/cmxadmin/

[root@cmx cmxadmin]# chmod 775 final.pem

[root@cmx cmxadmin]# chown cmx:cmx final.pem

[root@cmx cmxadmin]# mv final.pem /opt/haproxy/ssl/newcert/

[root@cmx cmxadmin]# cd /opt/haproxy/ssl/newcert/

[root@cmx newcert]# ls -la

total 16

drwxr-xr-x 2 root root 4096 Apr 25 12:30 .

drwxr-xr-x 4 cmx  cmx  4096 Apr 25 09:25 ..

-rw-r--r-- 1 root root 1054 Apr 25 11:01 cert.crt

-rwxrwxr-x 1 cmx  cmx     0 Apr 25 12:29 final.pem

-rw-r--r-- 1 root root 1708 Apr 25 11:01 private.key

[root@cmx newcert]#

Étape 7. Assurez-vous que tout est correctement construit.

[root@cmx newcert]#openssl verify -CAfile /opt/haproxy/ssl/newcert/final.pem /opt/haproxy/ssl/newcert/final.pem

/opt/haproxy/ssl/newcert/final.pem: OK

Vous devez obtenir un message OK.

Étape 8. Installez le certificat final et redémarrez CMX.

[root@cmx newcert]#cmxctl node sslmode enable --pem /opt/haproxy/ssl/newcert/final.pem

enabling ssl

ssl enabled

[root@cmx newcert]#reboot

Étape 9 (Facultatif) Si vous exécutez CMX 10.3.1 ou version ultérieure, vous pouvez être affecté par ce bogue :

- CSCvh21464 :: CMX WEBUI n'utilise pas le certificat auto-signé ou tiers installé

Ce bogue empêche CMX de mettre à jour le chemin du certificat. La solution de contournement pour résoudre ce problème consiste à créer deux liens logiciels pour pointer vers le nouveau certificat et la nouvelle clé privée, et recharger CMX. Voici un exemple :

[root@cmx ~]# cd /opt/haproxy/ssl/

[root@cmx ssl]# mkdir backup

[root@cmx ssl]# mv host.pem backup/

[root@cmx ssl]# mv host.key backup/

[root@cmx ssl]# ln -s /opt/haproxy/ssl/newcert/final.pem host.pem

[root@cmx ssl]# ln -s /opt/haproxy/ssl/newcert/private.key host.key

[root@cmx ssl]#

[root@cmx ssl]# ls -la

total 16

drwxr-xr-x 4 cmx  cmx  4096 Apr 25 12:59 .

drwxr-xr-x 6 cmx  cmx  4096 Mar 31  2017 ..

lrwxrwxrwx 1 root root   36 Mar 26 09:58 host.key -> /opt/haproxy/ssl/newcert/private.key

lrwxrwxrwx 1 root root   38 Mar 26 09:58 host.pem -> /opt/haproxy/ssl/newcert/final.pem

drwxr-xr-x 2 root root 4096 Apr 25 12:30 newcert

[root@cmx ssl]#

[root@cmx ssl]# reboot

Vérification

Ouvrez l'interface utilisateur graphique de CMX, dans ce cas Google Chrome est utilisé. Ouvrez le certificat en cliquant sur l'onglet Secure qui se trouve en regard de l'URL et vérifiez les détails comme indiqué dans l'image.