Citrix ADC

Installer, lier et mettre à jour des certificats

Pour installer un certificat, reportez-vous à la section Ajouter ou mettre à jour une paire de clés de certificat.

Certificats de liaison

De nombreux certificats de serveur sont signés par plusieurs autorités de certification (CA) hiérarchiques, ce qui signifie que les certificats forment une chaîne comme celle-ci :

Chaîne de certificats

Parfois, l’autorité de certification intermédiaire est divisée en un certificat d’autorité de certification intermédiaire principal et secondaire. Ensuite, les certificats forment une chaîne comme celle-ci :

Chaîne de certificats 2

Les machines clientes contiennent généralement le certificat d’autorité de certification racine dans leur magasin de certificats local, mais pas un ou plusieurs certificats d’autorité de certification intermédiaires. L’appliance ADC doit envoyer un ou plusieurs certificats d’autorité de certification intermédiaires aux clients.

Remarque : L’appliance ne doit pas envoyer le certificat d’autorité de certification racine au client. Le modèle de relation d’approbation de l’infrastructure à clé publique (PKI) exige que les certificats d’autorité de certification racine soient installés sur les clients par le biais d’une méthode hors bande. Par exemple, les certificats sont inclus avec le système d’exploitation ou le navigateur Web. Le client ignore un certificat d’autorité de certification racine envoyé par l’appliance.

Parfois, une autorité de certification intermédiaire que les navigateurs Web standard ne reconnaissent pas comme une autorité de certification de confiance émet le certificat de serveur. Dans ce cas, un ou plusieurs certificats d’autorité de certification doivent être envoyés au client avec le propre certificat du serveur. Sinon, le navigateur met fin à la session SSL car il ne parvient pas à authentifier le certificat du serveur.

Certificats intermédiaires

Lien vidéo vers Comment associer un certificat d’autorité intermédiaire ?

Reportez-vous aux sections suivantes pour ajouter le serveur et les certificats intermédiaires :

  • Liaison manuelle des certificats
  • Liaison automatique des certificats
  • Création d’une chaîne de certificats

Liaison manuelle des certificats

Remarque : Cette fonctionnalité n’est pas prise en charge sur la plate-forme Citrix ADC FIPS et dans une configuration de cluster.

Au lieu d’ajouter et de lier des certificats individuels, vous pouvez désormais regrouper un certificat de serveur et jusqu’à neuf certificats intermédiaires dans un seul fichier. Vous pouvez spécifier le nom du fichier lors de l’ajout d’une paire de clés de certificat. Avant cela, assurez-vous que les conditions préalables suivantes sont remplies.

  • Les certificats contenus dans le fichier sont dans l’ordre suivant :
    • Certificat de serveur (doit être le premier certificat du fichier)
    • Facultativement, une clé de serveur
    • Certificat intermédiaire 1 (ic1)
    • Certificat intermédiaire 2 (ic2)
    • Certificat intermédiaire 3 (ic3), etc. Remarque : des fichiers de certificats intermédiaires sont créés pour chaque certificat intermédiaire portant le nom “<certificatebundlename>.pem_ic< n>” où n est compris entre 1 et 9. Par exemple, bundle.pem_ic1, où bundle est le nom du jeu de certificats et ic1 est le premier certificat intermédiaire de l’ensemble.
  • L’option Bundle est sélectionnée.
  • Le dossier ne contient pas plus de neuf certificats intermédiaires.

Le fichier est analysé et le certificat de serveur, les certificats intermédiaires et la clé de serveur (le cas échéant) sont identifiés. Tout d’abord, le certificat et la clé du serveur sont ajoutés. Ensuite, les certificats intermédiaires sont ajoutés, dans l’ordre dans lequel ils ont été ajoutés au fichier, et liés en conséquence.

Une erreur est signalée si l’une des conditions suivantes existe :

  • Un fichier de certificat pour l’un des certificats intermédiaires existe sur l’appliance.
  • La clé est placée avant le certificat du serveur dans le fichier.
  • Un certificat intermédiaire est placé avant le certificat du serveur.
  • Les certificats intermédiaires ne sont pas placés dans le fichier dans le même ordre que celui où ils ont été créés.
  • Aucun certificat n’est présent dans le fichier.
  • Un certificat n’est pas au format PEM approprié.
  • Le nombre de certificats intermédiaires dans le fichier est supérieur à neuf.

Ajouter un jeu de certificats à l’aide de la CLI

À l’invite de commandes, tapez les commandes suivantes pour créer un jeu de certificats et vérifier la configuration :

add ssl certKey <certkeyName> -cert <string> -key <string> -bundle (YES | NO)

show ssl

show ssl certlink
<!--NeedCopy-->

Dans l’exemple suivant, le jeu de certificats (bundle.pem) contient les fichiers suivants :

Certificat de serveur (bundle) lié à bundle_ic1

Premier certificat intermédiaire (bundle_ic1) lié à bundle_ic2

Deuxième certificat intermédiaire (bundle_ic2) lié à bundle_ic3

Troisième certificat intermédiaire (bundle_ic3)

add ssl certKey bundletest -cert bundle9.pem -key bundle9.pem -bundle yes

sh ssl certkey

1)      Name: ns-server-certificate
        Cert Path: ns-server.cert
        Key Path: ns-server.key
        Format: PEM
        Status: Valid,   Days to expiration:5733
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Server Certificate
        Version: 3
        Serial Number: 01
        Signature Algorithm: sha256WithRSAEncryption
        Issuer:  C=US,ST=California,L=San Jose,O=Citrix ANG,OU=NS Internal,CN=default OULLFT
        Validity
                Not Before: Apr 21 15:56:16 2016 GMT
                Not After : Mar  3 06:30:56 2032 GMT
        Subject:  C=US,ST=California,L=San Jose,O=Citrix ANG,OU=NS Internal,CN=default OULLFT
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048

2)      Name: servercert
        Cert Path: complete/server/server_rsa_1024.pem
        Key Path: complete/server/server_rsa_1024.ky
        Format: PEM
        Status: Valid,   Days to expiration:7150
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Server Certificate
        Version: 3
        Serial Number: 1F
        Signature Algorithm: sha1WithRSAEncryption
        Issuer:  C=IN,ST=KAR,O=Citrix R&D Pvt Ltd,CN=Citrix
        Validity
                Not Before: Sep  2 09:54:07 2008 GMT
                Not After : Jan 19 09:54:07 2036 GMT
        Subject:  C=IN,ST=KAR,O=Citrix Pvt Ltd,CN=Citrix
        Public Key Algorithm: rsaEncryption
        Public Key size: 1024

3)      Name: bundletest
        Cert Path: bundle9.pem
        Key Path: bundle9.pem
        Format: PEM
        Status: Valid,   Days to expiration:3078
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Server Certificate
        Version: 3
        Serial Number: 01
        Signature Algorithm: sha256WithRSAEncryption
        Issuer:  C=IN,ST=ka,O=sslteam,CN=ICA9
        Validity
                Not Before: Nov 28 06:43:11 2014 GMT
                Not After : Nov 25 06:43:11 2024 GMT
        Subject:  C=IN,ST=ka,O=sslteam,CN=Server9
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048

4)      Name: bundletest_ic1
        Cert Path: bundle9.pem_ic1
        Format: PEM
        Status: Valid,   Days to expiration:3078
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Intermediate CA
        Version: 3
        Serial Number: 01
        Signature Algorithm: sha256WithRSAEncryption
        Issuer:  C=IN,ST=ka,O=sslteam,CN=ICA8
        Validity
                Not Before: Nov 28 06:42:56 2014 GMT
                Not After : Nov 25 06:42:56 2024 GMT
        Subject:  C=IN,ST=ka,O=sslteam,CN=ICA9
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048

5)      Name: bundletest_ic2
        Cert Path: bundle9.pem_ic2
        Format: PEM
        Status: Valid,   Days to expiration:3078
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Intermediate CA
        Version: 3
        Serial Number: 01
        Signature Algorithm: sha256WithRSAEncryption
        Issuer:  C=IN,ST=ka,O=sslteam,CN=ICA7
        Validity
                Not Before: Nov 28 06:42:55 2014 GMT
                Not After : Nov 25 06:42:55 2024 GMT
        Subject:  C=IN,ST=ka,O=sslteam,CN=ICA8
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048

6)      Name: bundletest_ic3
        Cert Path: bundle9.pem_ic3
        Format: PEM
        Status: Valid,   Days to expiration:3078
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Intermediate CA
        Version: 3
        Serial Number: 01
        Signature Algorithm: sha256WithRSAEncryption
        Issuer:  C=IN,ST=ka,O=sslteam,CN=ICA6
        Validity
                Not Before: Nov 28 06:42:53 2014 GMT
                Not After : Nov 25 06:42:53 2024 GMT
        Subject:  C=IN,ST=ka,O=sslteam,CN=ICA7
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048

7)      Name: bundletest_ic4
        Cert Path: bundle9.pem_ic4
        Format: PEM
        Status: Valid,   Days to expiration:3078
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Intermediate CA
        Version: 3
        Serial Number: 01
        Signature Algorithm: sha256WithRSAEncryption
        Issuer:  C=IN,ST=ka,O=sslteam,CN=ICA5
        Validity
                Not Before: Nov 28 06:42:51 2014 GMT
                Not After : Nov 25 06:42:51 2024 GMT
        Subject:  C=IN,ST=ka,O=sslteam,CN=ICA6
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048

8)      Name: bundletest_ic5
        Cert Path: bundle9.pem_ic5
        Format: PEM
        Status: Valid,   Days to expiration:3078
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Intermediate CA
        Version: 3
        Serial Number: 01
        Signature Algorithm: sha256WithRSAEncryption
        Issuer:  C=IN,ST=ka,O=sslteam,CN=ICA4
        Validity
                Not Before: Nov 28 06:42:50 2014 GMT
                Not After : Nov 25 06:42:50 2024 GMT
        Subject:  C=IN,ST=ka,O=sslteam,CN=ICA5
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048

9)      Name: bundletest_ic6
        Cert Path: bundle9.pem_ic6
        Format: PEM
        Status: Valid,   Days to expiration:3078
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Intermediate CA
        Version: 3
        Serial Number: 01
        Signature Algorithm: sha256WithRSAEncryption
        Issuer:  C=IN,ST=ka,O=sslteam,CN=ICA3
        Validity
                Not Before: Nov 28 06:42:48 2014 GMT
                Not After : Nov 25 06:42:48 2024 GMT
        Subject:  C=IN,ST=ka,O=sslteam,CN=ICA4
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048

10)     Name: bundletest_ic7
        Cert Path: bundle9.pem_ic7
        Format: PEM
        Status: Valid,   Days to expiration:3078
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Intermediate CA
        Version: 3
        Serial Number: 01
        Signature Algorithm: sha256WithRSAEncryption
        Issuer:  C=IN,ST=ka,O=sslteam,CN=ICA2
        Validity
                Not Before: Nov 28 06:42:46 2014 GMT
                Not After : Nov 25 06:42:46 2024 GMT
        Subject:  C=IN,ST=ka,O=sslteam,CN=ICA3
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048

11)     Name: bundletest_ic8
        Cert Path: bundle9.pem_ic8
        Format: PEM
        Status: Valid,   Days to expiration:3078
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Intermediate CA
        Version: 3
        Serial Number: 01
        Signature Algorithm: sha256WithRSAEncryption
        Issuer:  C=IN,ST=ka,O=sslteam,CN=ICA1
        Validity
                Not Before: Nov 28 06:42:45 2014 GMT
                Not After : Nov 25 06:42:45 2024 GMT
        Subject:  C=IN,ST=ka,O=sslteam,CN=ICA2
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048

12)     Name: bundletest_ic9
        Cert Path: bundle9.pem_ic9
        Format: PEM
        Status: Valid,   Days to expiration:3078
        Certificate Expiry Monitor: ENABLED
        Expiry Notification period: 30 days
        Certificate Type: Intermediate CA
        Version: 3
        Serial Number: 01
        Signature Algorithm: sha256WithRSAEncryption
        Issuer:  C=IN,ST=ka,O=sslteam,CN=RootCA4096
        Validity
                Not Before: Nov 28 06:42:43 2014 GMT
                Not After : Nov 25 06:42:43 2024 GMT
        Subject:  C=IN,ST=ka,O=sslteam,CN=ICA1
        Public Key Algorithm: rsaEncryption
        Public Key size: 2048
Done

sh ssl certlink

1)      Cert Name: bundletest    CA Cert Name: bundletest_ic1
2)      Cert Name: bundletest_ic1        CA Cert Name: bundletest_ic2
3)      Cert Name: bundletest_ic2        CA Cert Name: bundletest_ic3
4)      Cert Name: bundletest_ic3        CA Cert Name: bundletest_ic4
5)      Cert Name: bundletest_ic4        CA Cert Name: bundletest_ic5
6)      Cert Name: bundletest_ic5        CA Cert Name: bundletest_ic6
7)      Cert Name: bundletest_ic6        CA Cert Name: bundletest_ic7
8)      Cert Name: bundletest_ic7        CA Cert Name: bundletest_ic8
9)      Cert Name: bundletest_ic8        CA Cert Name: bundletest_ic9
Done
<!--NeedCopy-->

Ajouter un jeu de certificats à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL > Certificats > Certificats d’autorité de certification.
  2. Dans le volet d’informations, cliquez sur Installer.
  3. Dans la boîte de dialogue Installer le certificat, tapez les détails, tels que le certificat et le nom du fichier de clé, puis sélectionnez Ensemble de certificats.
  4. Cliquez sur Installer, puis cliquez sur Fermer.

Liaison automatique des certificats

Remarque : Cette fonctionnalité est disponible à partir de la version 13.0 build 47.x.

Vous n’avez plus besoin de lier manuellement un certificat à son émetteur jusqu’au certificat racine. Si les certificats d’autorité de certification intermédiaires et le certificat racine sont présents sur l’appliance, vous pouvez cliquer sur le bouton Lier dans le certificat d’utilisateur final.

Bouton Lier le certificat

La chaîne de potentiel apparaît.

Chaîne potentielle de liaison de certificats automatisée

Cliquez sur Lier le certificat pour lier tous les certificats.

Chaîne de certificats Link

Création d’une chaîne de certificats

Au lieu d’utiliser un ensemble de certificats (un seul fichier), vous pouvez créer une chaîne de certificats. La chaîne relie le certificat du serveur à son émetteur (l’autorité de certification intermédiaire). Cette approche nécessite que le fichier de certificat de l’autorité de certification intermédiaire soit installé sur l’appliance ADC et que l’application cliente doive faire confiance à l’un des certificats de la chaîne. Par exemple, liez Cert-Intermédiaire-A au Cert-Intermédiaire-B, où Cert-Intermédiaire-B est lié au Cert-Intermédiaire-C, qui est un certificat approuvé par l’application cliente.

Remarque : L’appliance prend en charge l’envoi d’un maximum de 10 certificats dans la chaîne de certificats envoyés au client (un certificat de serveur et neuf certificats d’autorité de certification).

Créer une chaîne de certificats à l’aide de la CLI

À l’invite de commandes, tapez les commandes suivantes pour créer une chaîne de certificats et vérifier la configuration. (Répétez la première commande pour chaque nouveau maillon de la chaîne.)

link ssl certkey <certKeyName> <linkCertKeyName>
show ssl certlink
<!--NeedCopy-->

Exemple :

link ssl certkey siteAcertkey CAcertkey
Done

show ssl certlink

linked certificate:
       1) Cert Name: siteAcertkey CA Cert Name: CAcertkey
Done
<!--NeedCopy-->

Créer une chaîne de certificats à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL > Certificats.
  2. Sélectionnez un certificat de serveur, puis dans la liste Action, sélectionnez Lieret spécifiez un nom de certificat d’autorité de certification.

Prise en charge du bundle de certificats SSL

Remarque

Cette fonctionnalité est disponible à partir de la version 13.1 build 12.x.

La conception actuelle d’un bundle de certificats présente les inconvénients suivants :

  • L’ajout d’un bundle de certificats ajoute plusieurs commandes dans la configuration. Par conséquent, vous ne pouvez pas ajouter un autre bundle de certificats si les deux ensembles partagent un certificat intermédiaire commun.
  • La suppression d’un bundle de certificats est un processus manuel. Vous devez supprimer manuellement les fichiers dans un ordre spécifique.
  • La mise à jour d’un bundle de certificats n’est pas prise
  • Le cluster n’est pas supporté.

La nouvelle conception d’un bundle de certificats résout tous ces problèmes. La nouvelle entité fonctionne sur un fichier de bundle de certificats. Il n’est donc pas nécessaire de créer des fichiers pour chaque certificat intermédiaire. La suppression est également simple avec cette nouvelle entité.

Deux ensembles de certificats peuvent partager une partie de la chaîne de certificats intermédiaires. Vous pouvez également ajouter une paire de clés de certificat à l’aide du même certificat de serveur et de la même clé qui font également partie d’un bundle de certificats.

Dans l’exemple suivant :

  1. Le bundle de certificats bundle1.pem contient un certificat de serveur (S1) et des certificats intermédiaires (IC1 et IC2).
  2. Le certificat du serveur est server_cert.pem (S1).
  3. Les certificats intermédiaires sont ic1.pem (IC1) et ic2.pem (IC2).

Vous pouvez ajouter un bundle de certificats contenant S1, IC1 et IC2.

add ssl certkeybundle b1 -bundlefile bundle1.pem

Vous pouvez également ajouter une paire de clés de certificat à l’aide de S1 et IC1.

add ssl certkey server-cert -cert server_cert.pem

add ssl certkey ic1 -cert ic1.pem

Important !

  • La création du lot échoue si l’ordre suivant n’est pas respecté :
    • Le certificat de serveur (SC) doit être placé en haut du fichier de bundle.
    • IC[1-9] sont des certificats intermédiaires. IC[i] est émis par IC[i+1]. Les certificats doivent être placés dans un ordre et tous les certificats intermédiaires doivent être présents dans le lot.
  • Les certificats doivent être au format PEM uniquement.
  • La clé de certificat du serveur (SCK) peut être placée n’importe où dans le bundle.
  • Un maximum de 9 certificats intermédiaires sont pris en charge.

Pour ajouter un bundle de certificats

À l’invite de commandes, tapez :

add ssl certKeyBundle <bundle_name> -bundlefile <bundle_file_name> -passplain <>

Exemple :

add ssl certkeyBundle cert_bundle -bundlefile bundle_4096.pem

Pour supprimer un bundle de certificats

À l’invite de commandes, tapez :

rm ssl certKeyBundle <bundle_name>

Exemple :

rm ssl certkeybundle cert_bundle

Pour lier un bundle de certificats à un serveur virtuel SSL

À l’invite de commandes, tapez :

bind ssl vserver <vip-name> -certkeybundleName <certkeybundle_name> [ -SNICertkeybundle]

Exemple :

bind ssl vserver v_server -certkeyBundleName cert_bundle

show ssl certkeyBundle cert_bundle

1) Name: cert_bundle
        Bundle path: bundle_4096.pem
        Certificate:
                Status: Valid,   Days to expiration:278
                Serial Number: 83
                Subject:  C=IN,ST=KAR,O=CITRIX,CN=4096.com
                Issuer:  C=IN,ST=KAR,O=CITRIX,CN=ia24096.com
                Signature Algorithm: sha256WithRSAEncryption
                Validity
                        Not Before: Jul 13 10:17:57 2021 GMT
                        Not After : Jul 13 10:17:57 2022 GMT
                Public Key Algorithm: rsaEncryption
                Public Key size: 4096
                SAN ENTRIES: None


        CA Certificate:
                Status: Valid,   Days to expiration:278
                Serial Number: 82
                Subject:  C=IN,ST=KAR,O=CITRIX,CN=ia24096.com
                Issuer:  C=IN,ST=KAR,O=CITRIX,CN=ia14098.com
                Signature Algorithm: sha256WithRSAEncryption
                Validity
                        Not Before: Jul 13 10:15:37 2021 GMT
                        Not After : Jul 13 10:15:37 2022 GMT
                Public Key Algorithm: rsaEncryption
                Public Key size: 4096
                SAN ENTRIES: None

        CA Certificate:
                Status: Valid,   Days to expiration:278
                Serial Number: 81
                Subject:  C=IN,ST=KAR,O=CITRIX,CN=ia14098.com
                Issuer:  C=IN,ST=KAR,O=CITRIX,CN=root4098.com
                Signature Algorithm: sha256WithRSAEncryption
                Validity
                        Not Before: Jul 13 10:13:20 2021 GMT
                        Not After : Jul 13 10:13:20 2022 GMT
                Public Key Algorithm: rsaEncryption
                Public Key size: 4096
                SAN ENTRIES: None

        CA Certificate:
                Status: Valid,   Days to expiration:278
                Serial Number: 00
                Subject:  C=IN,ST=KAR,O=CITRIX,CN=root4098.com
                Issuer:  C=IN,ST=KAR,O=CITRIX,CN=root4098.com
                Signature Algorithm: sha256WithRSAEncryption
                Validity
                        Not Before: Jul 13 10:10:23 2021 GMT
                        Not After : Jul 13 10:10:23 2022 GMT
                Public Key Algorithm: rsaEncryption
                Public Key size: 2048
                SAN ENTRIES: None

1)      Vserver Name: v_server
<!--NeedCopy-->

Pour lier un bundle de certificats à un serveur virtuel SSL en tant que bundle de certificats SNI

À l’invite de commandes, tapez :

bind ssl vserver <vip-name> -certkeybundleName b2 -SNICertkeybundle

Exemple :

bind ssl vserver v_server -certkeyBundleName cert_bundle -sniCertkeybundle

sh ssl certkeybundle cert_bundle

1) Name: cert_bundle
        Bundle path: bundle_4096.pem
        Certificate:
                Status: Valid,   Days to expiration:278
                Serial Number: 83
                Subject:  C=IN,ST=KAR,O=CITRIX,CN=4096.com
                Issuer:  C=IN,ST=KAR,O=CITRIX,CN=ia24096.com
                Signature Algorithm: sha256WithRSAEncryption
                Validity
                        Not Before: Jul 13 10:17:57 2021 GMT
                        Not After : Jul 13 10:17:57 2022 GMT
                Public Key Algorithm: rsaEncryption
                Public Key size: 4096
                SAN ENTRIES: None


        CA Certificate:
                Status: Valid,   Days to expiration:278
                Serial Number: 82
                Subject:  C=IN,ST=KAR,O=CITRIX,CN=ia24096.com
                Issuer:  C=IN,ST=KAR,O=CITRIX,CN=ia14098.com
                Signature Algorithm: sha256WithRSAEncryption
                Validity
                        Not Before: Jul 13 10:15:37 2021 GMT
                        Not After : Jul 13 10:15:37 2022 GMT
                Public Key Algorithm: rsaEncryption
                Public Key size: 4096
                SAN ENTRIES: None

        CA Certificate:
                Status: Valid,   Days to expiration:278
                Serial Number: 81
                Subject:  C=IN,ST=KAR,O=CITRIX,CN=ia14098.com
                Issuer:  C=IN,ST=KAR,O=CITRIX,CN=root4098.com
                Signature Algorithm: sha256WithRSAEncryption
                Validity
                        Not Before: Jul 13 10:13:20 2021 GMT
                        Not After : Jul 13 10:13:20 2022 GMT
                Public Key Algorithm: rsaEncryption
                Public Key size: 4096
                SAN ENTRIES: None

        CA Certificate:
                Status: Valid,   Days to expiration:278
                Serial Number: 00
                Subject:  C=IN,ST=KAR,O=CITRIX,CN=root4098.com
                Issuer:  C=IN,ST=KAR,O=CITRIX,CN=root4098.com
                Signature Algorithm: sha256WithRSAEncryption
                Validity
                        Not Before: Jul 13 10:10:23 2021 GMT
                        Not After : Jul 13 10:10:23 2022 GMT
                Public Key Algorithm: rsaEncryption
                Public Key size: 2048
                SAN ENTRIES: None

1)    Vserver Name: v_server
2)    Vserver Name: v_server
<!--NeedCopy-->

Pour dissocier un bundle de certificats d’un serveur virtuel SSL

À l’invite de commandes, tapez :

unbind ssl vserver <vip-name> -certkeybundleName <certkeybundle_name> [ -SNICertkeybundle]

Exemple :

unbind ssl vserver v_server -certkeybundleName cert_bundle

Scénarios utilisateur pour la liaison de bundle de certificats

Les scénarios suivants expliquent comment l’appliance ADC traite une demande liée à des bundles de certificats.

Scénario 1 : Une paire de clés de certificat et un bundle de certificats contenant le même certificat de serveur sont liés au même serveur virtuel SSL

Lors de la liaison d’une paire de clés de certificat et d’un ensemble de certificats contenant le même certificat de serveur au même serveur virtuel SSL, l’ordre des commandes détermine la liaison finale.

Par exemple,

  • Le bundle de certificats bundle1.pem contient le certificat de serveur S1 et les certificats intermédiaires IC1 et IC2.
  • Le fichier de certificat server_cert.pem contient S1.

bundle1.pem et server_cert.pem ont tous deux le même certificat de serveur S1.

Si les commandes suivantes sont exécutées dans l’ordre spécifié, la liaison du certificat du serveur au serveur virtuel SSL remplace la liaison du groupe de certificats à ce serveur virtuel.

  1. add ssl certkeybundle b1 -bundlefile bundle1.pem
  2. add ssl certkey server_cert -cert server_cert.pem
  3. bind ssl vserver v1 -certkeybundle b1
  4. bind ssl vserver v1 -cert server_cert

Scénario 2 : deux bundles de certificats contiennent la même chaîne de certificats intermédiaire

Vous pouvez ajouter deux bundles de certificats avec la même chaîne de certificats intermédiaire. Les deux groupes agissent en tant qu’entités indépendantes.

Dans l’exemple suivant, le bundle de certificats 1 contient le certificat de serveur S1 et les certificats intermédiaires IC1 et IC2 dans cet ordre. Le lot de certificats 2 contient le certificat serveur S2 et les certificats intermédiaires IC1 et IC2 dans cet ordre.

  • Bundle de certificats1.pem (S1, IC1, IC2)
  • Bundle de certificats 2.pem (S2, IC1, IC2)

Lorsque S1 dans le bundle 1 est sélectionné dans le processus d’établissement de liaison SSL, la chaîne de certificats intermédiaire du bundle 1 est envoyée au client.

add ssl certkeybundle bundle-1 -bundlefile bundle1.pem add ssl certkeybundle bundle-2 -bundlefile bundle2.pem

Scénario 2 : deux bundles de certificats contiennent des certificats intermédiaires courants dans la chaîne

Vous pouvez ajouter deux bundles de certificats avec certains certificats intermédiaires courants dans la chaîne.

Dans l’exemple suivant, le bundle 1 contient le certificat de serveur S1 et les certificats intermédiaires IC1 et IC2. Le bundle de certificats 2 contient le certificat de serveur S2 et les certificats intermédiaires IC1, IC2 et IC3.

Bundle de certificats1.pem (S1, IC1, IC2) Bundle de certificats2.pem (S2, IC1, IC2, IC3)

add ssl certkeybundle bundle-1 -bundlefile bundle1.pem add ssl certkeybundle bundle-2 -bundlefile bundle2.pem

Lorsque S1 dans le bundle 1 est sélectionné dans le processus d’établissement de liaison SSL, la chaîne de certificats intermédiaire du bundle 1 est envoyée au client. C’est-à-dire qu’ (S1→IC1→IC2) il est envoyé au client. IC3 n’est pas ajouté.

Lorsque S2 dans le groupe-2 est sélectionné dans le processus d’établissement de liaison SSL, la chaîne de certificats intermédiaire du groupe-2 n’est envoyée qu’au client. C’est-à-dire qu’ (S1→IC1→IC2→IC3) il est envoyé au client.

Limitations du bundle de certificats

  • La surveillance de l’état d’un certificat dans le bundle de certificats n’est pas prise en charge.
  • La mise à jour d’un bundle de certificats n’est pas prise
  • Les bundles de certificats ne peuvent être liés qu’à des serveurs virtuels SSL.
  • L’agrafage OCSP n’est pas pris en charge.

Mettre à jour un certificat de serveur existant

Pour modifier manuellement un certificat de serveur existant, vous devez effectuer les étapes suivantes :

  1. Dissociez l’ancien certificat du serveur virtuel.
  2. Supprimez le certificat de l’appliance.
  3. Ajoutez le nouveau certificat à l’appliance.
  4. Liez le nouveau certificat au serveur virtuel.

Pour réduire les temps d’arrêt lors du remplacement d’une paire de clés de certificat, vous pouvez mettre à jour un certificat existant. Si vous souhaitez remplacer un certificat par un certificat qui a été émis pour un autre domaine, vous devez désactiver les vérifications de domaine avant de mettre à jour le certificat.

Pour recevoir des notifications concernant les certificats arrivant à expiration, vous pouvez activer le moniteur d’expiration.

Lorsque vous supprimez ou dissociez un certificat d’un serveur virtuel ou d’un service SSL configuré, le serveur virtuel ou le service devient inactif. Ils sont actifs après qu’un nouveau certificat valide leur est lié. Pour réduire les temps d’arrêt, vous pouvez utiliser la fonctionnalité de mise à jour pour remplacer une paire de clés de certificat liée à un serveur virtuel SSL ou à un service SSL.

Diagramme de présentation de la procédure de mise à jour d’un certificat SSL sur l’appliance Citrix ADC.

Vue d'ensemble

Lien vidéo vers Comment mettre à jour un certificat existant ?

Mettre à jour une paire de clés de certificat existante à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour mettre à jour une paire de clés de certificat existante et vérifier la configuration :

update ssl certkey <certkeyName> -cert <string> -key <string>

show ssl certKey <certkeyName>
<!--NeedCopy-->

Exemple :

update ssl certkey siteAcertkey -cert /nsconfig/ssl/cert.pem -key /nsconfig/ssl/pkey.pem

Done

show ssl certkey siteAcertkey

Name: siteAcertkey       Status: Valid
           Version: 3
           Serial Number: 02
           Signature Algorithm: md5WithRSAEncryption
           Issuer: /C=US/ST=CA/L=Santa Clara/O=siteA/OU=Tech
           Validity
                Not Before: Nov 11 14:58:18 2001 GMT
                Not After: Aug 7 14:58:18 2004 GMT
           Subject: /C=US/ST-CA/L=San Jose/O=CA/OU=Security
           Public Key Algorithm: rsaEncryption
           Public Key size: 2048
Done
<!--NeedCopy-->

Mettre à jour une paire de clés de certificat existante à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL > Certificats > Certificatsde serveur.

  2. Sélectionnez le certificat que vous souhaitez mettre à jour, puis cliquez sur Mettre à jour. Certificat de mise à jour

  3. Sélectionnez Mettre à jour le certificat et la clé. Mettre à jour le certificat et la clé

  4. Dans Nom du fichier de certificat, cliquez sur Choisir un fichier > Localet accédez au fichier .pfx ou au fichier PEM de certificat mis à jour. Accédez au fichier

    • Si vous chargez un fichier .pfx, vous êtes invité à spécifier le mot de passe du fichier .pfx.

    • Si vous chargez un fichier PEM de certificat, vous devez également télécharger un fichier de clé de certificat. Si la clé est cryptée, vous devez spécifier le mot de passe de cryptage.

  5. Si le nom commun du nouveau certificat ne correspond pas à l’ancien certificat, sélectionnez Aucune vérification de domaine.

  6. Cliquez sur OK. Tous les serveurs virtuels SSL auxquels ce certificat est lié sont automatiquement mis à jour. Cliquez sur OK

  7. Après avoir remplacé le certificat, vous devrez peut-être mettre à jour le lien de certificat vers un nouveau certificat intermédiaire. Pour plus d’informations sur la mise à jour d’un certificat intermédiaire sans rompre les liens, voir Mettre à jour un certificat intermédiaire sans rompre les liens.

    • Cliquez avec le bouton droit sur le certificat mis à jour, puis cliquez sur Liaisonsde certificats, pour voir s’il est lié à un certificat intermédiaire.

    • Si le certificat n’est pas lié, cliquez avec le bouton droit sur le certificat mis à jour, puis cliquez sur Lier pour le lier à un certificat intermédiaire. Si vous ne voyez pas d’option de liaison, vous devez d’abord installer un nouveau certificat intermédiaire sur l’appliance sous le nœud Certificats de l’autorité de certification.

    Mise à jour du lien de certificat

Mettre à jour un certificat de CA existant

Les étapes pour mettre à jour un certificat d’autorité de certification existant sont les mêmes que pour mettre à jour un certificat de serveur existant. La seule différence est que vous n’avez pas besoin de clé dans le cas des certificats d’autorité de certification.

Certificat d'autorité de certification

Désactiver les vérifications de

Lorsqu’un certificat SSL est remplacé sur l’appliance, le nom de domaine mentionné sur le nouveau certificat doit correspondre au nom de domaine du certificat remplacé. Par exemple, si vous avez un certificat émis sur abc.com et que vous le mettez à jour avec un certificat émis sur def.com, la mise à jour du certificat échoue.

Toutefois, si vous souhaitez que le serveur qui héberge un domaine particulier héberge un nouveau domaine, désactivez la vérification du domaine avant de mettre à jour son certificat.

Désactiver la vérification de domaine pour un certificat à l’aide de la CLI

À l’invite de commandes, tapez les commandes suivantes pour désactiver la vérification du domaine et vérifier la configuration :

update ssl certKey <certkeyName> -noDomainCheck

show ssl certKey <certkeyName>
<!--NeedCopy-->

Exemple :

update ssl certKey sv -noDomainCheck

Done

show ssl certkey sv

Name: sv
Cert Path: /nsconfig/ssl/complete/server/server_rsa_512.pem
Key Path: /nsconfig/ssl/complete/server/server_rsa_512.ky
Format: PEM
Status: Valid,   Days to expiration:9349
Certificate Expiry Monitor: DISABLED
Done
<!--NeedCopy-->

Désactiver la vérification de domaine pour un certificat à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL > Certificats, sélectionnez un certificat, puis cliquez sur Mettre à jour.
  2. Sélectionnez Aucune vérification de domaine.

Remplacez le certificat par défaut d’un boîtier ADC par un certificat d’autorité de certification de confiance qui correspond au nom d’hôte de l’appliance

La procédure suivante suppose que le certificat par défaut (ns-server-certificate) est lié aux services internes.

  1. Accédez à Gestion du trafic > SSL > Certificats SSL > Créer une demande de certificat.
  2. Dans le champ Nom courant, saisissez test.citrixadc.com.
  3. Soumettez le CSR à une autorité de certification approuvée.
  4. Après avoir reçu le certificat de l’autorité de certification approuvée, copiez le fichier /nsconfig/ssl dans le répertoire.
  5. Accédez à Gestion du trafic > SSL > Certificats > Certificats de serveur.
  6. Sélectionnez le certificat de serveur par défaut (ns-server-certificate) et cliquez sur Mettre à jour.
  7. Dans la boîte de dialogue Mettre à jour le certificat, dans Nom du fichier ducertificat, accédez au certificat reçu de l’autorité de certification après la signature.
  8. Dans le champ Nom du fichier clé, spécifiez le nom de fichier de clé privée par défaut (ns-server.key).
  9. Sélectionnez Aucune vérification de domaine.
  10. Cliquez sur OK.

Activer le moniteur d’expiration

Un certificat SSL est valide pour une période déterminée. Un déploiement typique inclut plusieurs serveurs virtuels qui traitent les transactions SSL, et les certificats qui leur sont liés peuvent expirer à des moments différents. Un moniteur d’expiration configuré sur l’appliance crée des entrées dans les journaux d’audit Syslog et ns de l’appliance lorsqu’un certificat configuré doit expirer.

Si vous souhaitez créer des alertes SNMP pour l’expiration du certificat, vous devez les configurer séparément.

Activer un moniteur d’expiration pour un certificat à l’aide de la CLI

À l’invite de commandes, tapez les commandes suivantes pour activer un moniteur d’expiration pour un certificat et vérifier la configuration :

set ssl certKey <certkeyName> [-expiryMonitor ( ENABLED | DISABLED ) [-notificationPeriod <positive_integer>]]

show ssl certKey <certkeyName>
<!--NeedCopy-->

Exemple :

set ssl certKey sv -expiryMonitor ENABLED –notificationPeriod 60
Done
<!--NeedCopy-->

Activer un moniteur d’expiration pour un certificat à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL > Certificats, sélectionnez un certificat, puis cliquez sur Mettre à jour.
  2. Sélectionnez Notifier à l’expirationet spécifiez éventuellement une période de notification.

Mettre à jour un certificat intermédiaire sans rompre les liens

Vous pouvez désormais mettre à jour un certificat intermédiaire sans rompre les liens existants. L’extension ‘AuthorityKeyIdentifier’, dans le certificat lié émis par le certificat à remplacer, ne doit pas contenir de champ de numéro de série du certificat d’autorité (« AuthorityCertSerialNumber »). Si l’extension ‘AuthorityKeyIdentifier’ contient un champ de numéro de série, les numéros de série du certificat de l’ancien et du nouveau certificat doivent être identiques. Vous pouvez mettre à jour n’importe quel nombre de certificats dans le lien, un par un, si la condition précédente est remplie. Auparavant, les liens étaient rompus si un certificat intermédiaire était mis à jour.

Par exemple, il existe quatre certificats : CertACertB, CertC, et CertD. Le certificat CertA est l’émetteur pour CertB, CertB est l’émetteur pour CertC, etc. Si vous souhaitez remplacer un certificat intermédiaire CertB par CertB_new, sans rompre le lien, la condition suivante doit être remplie :

Le numéro de série du certificat de CertB doit correspondre au numéro de série du certificat CertB_new si les deux conditions suivantes sont remplies :

  • L’extension AuthorityKeyIdentifier est présente dans CertC.
  • Cette extension contient un champ de numéro de série.

Si le nom commun d’un certificat change, spécifiez lors de la mise à jour du certificat nodomaincheck.

Dans l’exemple précédent, pour remplacer « www.example.com » dans CertD par « *.example.com », sélectionnez le paramètre « Aucune vérification de domaine ».

Mettez à jour le certificat à l’aide du CLI

À l’invite de commandes, tapez :

update ssl certKey <certkeyName> -cert <string> [-password] -key <string>  [-noDomainCheck]
<!--NeedCopy-->

Exemple :

update ssl certkey siteAcertkey -cert /nsconfig/ssl/cert.pem -key /nsconfig/ssl/pkey.pem -noDomainCheck
<!--NeedCopy-->

Afficher une chaîne de certificats

Un certificat contient le nom de l’autorité émettrice et le sujet à qui le certificat est délivré. Pour valider un certificat, vous devez consulter l’émetteur de ce certificat et confirmer si vous lui faites confiance. Si vous ne faites pas confiance à l’émetteur, vous devez savoir qui a émis le certificat d’émetteur. Remontez la chaîne jusqu’à ce que vous atteigniez le certificat d’autorité de certification racine ou un émetteur en qui vous avez confiance.

Dans le cadre de l’établissement de liaison SSL, lorsqu’un client demande un certificat, l’appliance présente un certificat et la chaîne de certificats d’émetteur présents sur l’appliance. Un administrateur peut afficher la chaîne de certificats des certificats présents sur l’appliance et installer les certificats manquants.

Afficher la chaîne de certificats pour les certificats présents sur l’appliance à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

show ssl certchain <cert_name>
<!--NeedCopy-->

Exemples

Il existe 3 certificats : c1, c2 et c3. Le certificat c3 est le certificat d’autorité de certification racine et signe c2, et c2 signe c1. Les exemples suivants illustrent la sortie de la commande show ssl certchain c1 dans différents scénarios.

Scénario 1 :

Le certificat c2 est lié à c1, et c3 est lié à c2.

Le certificat c3 est un certificat d’autorité de certification racine.

Si vous exécutez la commande suivante, les liens du certificat vers le certificat d’autorité de certification racine s’affichent.

show ssl certchain c1

Certificate chain details of certificate name c1 are:
    1) Certificate name: c2               linked; not a root certificate
    2) Certificate name: c3               linked; root certificate
Done
<!--NeedCopy-->

Scénario 2 :

Le certificat c2 est lié à c1.

Le certificat c2 n’est pas un certificat d’autorité de certification racine.

Si vous exécutez la commande suivante, les informations selon lesquelles le certificat c3 est un certificat d’autorité de certification racine mais n’est pas lié à c2 s’affichent.

show ssl certchain c1

Certificate chain  details of certificate name c1 are:
    1) Certificate Name: c2               linked; not a root certificate
    2) Certificate Name: c3               not linked; root certificate
    Done
<!--NeedCopy-->

Scénario 3 :

Les certificats c1, c2 et c3 ne sont pas liés mais sont présents sur l’appliance.

Si vous exécutez la commande suivante, les informations relatives à tous les certificats commençant par l’émetteur du certificat c1 s’affichent. Il est également précisé que les certificats ne sont pas liés.

show ssl certchain c1

Certificate chain details of certificate name c1 are:
    1) Certificate Name: c2               not linked; not a root certificate
    2) Certificate Name: c3               not linked; root certificate
    Done
<!--NeedCopy-->

Scénario 4 :

Le certificat c2 est lié à c1.

Le certificat c3 n’est pas présent sur l’appliance.

Si vous exécutez la commande suivante, les informations relatives au certificat lié à c1 s’affichent. Vous êtes invité à ajouter un certificat dont le nom d’objet est spécifié dans c2. Dans ce cas, l’utilisateur est invité à ajouter le certificat d’autorité de certification racine c3.

show ssl certchain c1

Certificate chain details of certificate name c1 are:
    1) Certificate Name: c2               linked; not a root certificate
    2) Certificate Name: /C=IN/ST=ka/O=netscaler/CN=test
       Action: Add a certificate with this subject name.
Done
<!--NeedCopy-->

Scénario 5 :

Un certificat n’est pas lié au certificat c1 et le certificat émetteur de c1 n’est pas présent sur l’appliance.

Si vous exécutez la commande suivante, vous êtes invité à ajouter un certificat portant le nom du sujet dans le certificat c1.

sh ssl certchain c1

Certificate chain details of certificate name c1 are:
    1) Certificate Name: /ST=KA/C=IN
       Action: Add a certificate with this subject name.
<!--NeedCopy-->