ADC

Créer un certificat

Une autorité de certification (CA) est une entité qui émet des certificats numériques destinés à être utilisés dans la cryptographie à clé publique. Les applications, telles que les navigateurs Web, qui effectuent des transactions SSL font confiance aux certificats émis ou signés par une autorité de certification. Ces applications tiennent à jour une liste des autorités de certification auxquelles elles font confiance. Si l’une des autorités de certification de confiance signe le certificat utilisé pour la transaction sécurisée, l’application poursuit la transaction.

Attention : Citrix vous recommande d’utiliser des certificats obtenus auprès d’autorités de certification autorisées, telles que Verisign, pour toutes vos transactions SSL. Utilisez les certificats générés sur l’appliance NetScaler à des fins de test uniquement, et non dans le cadre d’un déploiement en direct.

Pour importer un certificat et une clé existants, reportez-vous à la section Importer un certificat.

Procédez comme suit pour créer un certificat et le lier à un serveur virtuel SSL. Les seuls caractères spéciaux autorisés dans les noms de fichiers sont le trait de soulignement et le point. Les caractères spéciaux ne sont pas autorisés comme premier caractère du nom de fichier.

  • Créez une clé privée.
  • Créez une demande de signature de certificat (CSR).
  • Soumettez le CSR à une autorité de certification.
  • Créez une paire de clés de certificat.
  • Liez la paire de clés de certificat à un serveur virtuel SSL

Le schéma suivant illustre le flux de travail.

Flux de bout en bout

Comment créer et installer un nouveau certificat

Créer une clé privée

Remarques :

  • À partir de la version 12.1 build 49.x, vous pouvez utiliser l’algorithme AES256 au format de clé PEM pour chiffrer une clé privée sur l’appliance. L’AES avec clé 256 bits est plus efficace et plus sécurisé sur le plan mathématique par rapport à la clé 56 bits du Data Encryption Standard (DES).

  • À partir de la version 12.1 build 50.x, vous pouvez créer une clé RSA au format PKCS #8.

La clé privée est la partie la plus importante d’un certificat numérique. Par définition, cette clé ne doit être partagée avec personne et doit être conservée en toute sécurité sur l’appliance NetScaler. Toutes les données chiffrées avec la clé publique ne peuvent être déchiffrées qu’à l’aide de la clé privée.

Le certificat que vous recevez de l’autorité de certification n’est valide qu’avec la clé privée qui a été utilisée pour créer la demande de signature de certificat. La clé est requise pour ajouter le certificat à l’appliance NetScaler.

L’appliance prend uniquement en charge les algorithmes de cryptage RSA pour créer des clés privées. Vous pouvez soumettre l’un ou l’autre type de clé privée à l’autorité de certification (CA). Le certificat que vous recevez de l’autorité de certification n’est valide qu’avec la clé privée qui a été utilisée pour créer la demande de signature de certificat. La clé est requise pour ajouter le certificat à l’appliance NetScaler.

Important :

  • Veillez à limiter l’accès à votre clé privée. Toute personne ayant accès à votre clé privée peut déchiffrer vos données SSL.
  • La longueur du nom de clé SSL autorisé inclut la longueur du chemin d’accès absolu si le chemin est inclus dans le nom de la clé.

Tous les certificats et clés SSL sont stockés dans le dossier /nsconfig/ssl de l’appliance. Pour plus de sécurité, vous pouvez utiliser l’algorithme DES ou triple DES (3DES) pour chiffrer la clé privée stockée sur l’appliance.

Créer une clé privée RSA à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

create ssl rsakey <keyFile> <bits> [-exponent ( 3 | F4 )] [-keyform (DER | PEM )] [-des | -des3 | -aes256] {-password } [-pkcs8]
<!--NeedCopy-->

Exemple :

create rsakey testkey 2048 -aes256 -password 123456 -pkcs8
<!--NeedCopy-->

Créer une clé privée RSA à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL > Fichiers SSL.

  2. Dans l’onglet Clés, sélectionnez Créer une clé RSA.

    Créer une clé RSA

  3. Entrez des valeurs pour les paramètres suivants et cliquez sur Créer.

    • Key Filename  : nom du fichier de clé RSA et, éventuellement, chemin d’accès au fichier clé RSA. /nsconfig/ssl/ est le chemin par défaut.
    • Taille de la clé  : taille, en bits, de la clé RSA. Peut aller de 512 bits à 4096 bits.
    • Valeur de l’exposant public  : exposant public pour la clé RSA. L’exposant fait partie de l’algorithme de chiffrement et est nécessaire à la création de la clé RSA.
    • Format de clé  : format dans lequel le fichier de clé RSA est stocké sur l’appliance.
    • Algorithme de codage PEM  : cryptez la clé RSA générée à l’aide de l’algorithme AES 256, DES ou Triple-DES (DES3). Par défaut, les clés privées ne sont pas chiffrées.
    • Phrase secrète PEM  : si la clé privée est cryptée, saisissez une phrase de passe pour la clé.

    Entrez des valeurs

Sélectionnez un algorithme de codage AES256 dans une clé RSA à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL > Fichiers SSL > Créer une clé RSA.

  2. Dans Format de clé, sélectionnez PEM.

  3. Dans Algorithme de codage PEM, sélectionnez AES256.

  4. Sélectionnez PKCS8.

Créer une demande de signature de certificat à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

create ssl certreq <reqFile> -keyFile <input_filename> | -fipsKeyName <string>) [-keyForm (DER | PEM) {-PEMPassPhrase }] -countryName <string> -stateName <string> -organizationName <string> -organizationUnitName <string> -localityName <string> -commonName <string> -emailAddress <string> {-challengePassword } -companyName <string> -digestMethod ( SHA1 | SHA256 )
<!--NeedCopy-->

Exemple :

create ssl certreq priv_csr_sha256 -keyfile priv_2048_2 -keyform PEM -countryName IN -stateName Karnataka -localityName Bangalore -organizationName Citrix -organizationUnitName NS -digestMethod SHA256
<!--NeedCopy-->

Créer une demande de signature de certificat à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL.
  2. Dans Certificat SSL, cliquez sur Créer une demande de signature de certificat (CSR).

    Créer une demande de signature de certificat

  3. Dans Méthode de synthèse, sélectionnez SHA256.

Pour plus d’informations, reportez-vous à la section Créer une CSR .

Prise en charge du nom alternatif du sujet dans une demande de signature de certificat

Le champ Subject Alternative Name (SAN) d’un certificat vous permet d’associer plusieurs valeurs, telles que des noms de domaine et des adresses IP, à un seul certificat. En d’autres termes, vous pouvez sécuriser plusieurs domaines, tels que www.exemple.com, www.exemple1.com, www.exemple2.com, avec un seul certificat.

Certains navigateurs, tels que Google Chrome, ne prennent plus en charge un nom commun dans une demande de signature de certificat (CSR). Ils appliquent le SAN dans tous les certificats approuvés publiquement.

L’appliance NetScaler prend en charge l’ajout de valeurs SAN lors de la création d’un CSR. Vous pouvez envoyer une demande de signature de certificat avec une entrée SAN à une autorité de certification pour obtenir un certificat signé avec cette entrée SAN. Lorsque l’appliance reçoit une demande, elle recherche un nom de domaine correspondant dans les entrées SAN du certificat de serveur. Si une correspondance est trouvée, il envoie le certificat au client et termine la négociation SSL. Vous pouvez utiliser l’interface de ligne de commande ou l’interface graphique pour créer une demande de signature de certificat avec des valeurs SAN.

Remarque : L’appliance NetScaler traite uniquement les valeurs SAN basées sur le DNS.

Créer une demande de signature de certificat avec l’autre nom de l’objet à l’aide de l’interface

create ssl certReq <reqFile> (-keyFile <input_filename> | -fipsKeyName <string>) [-subjectAltName <string>] [-keyform ( DER | PEM )  {-PEMPassPhrase }] -countryName <string> -stateName <string> -organizationName <string> [-organizationUnitName <string>] [-localityName <string>] [-commonName <string>] [-emailAddress <string>] {-challengePassword } [-companyName <string>] [-digestMethod ( SHA1 | SHA256 )]
<!--NeedCopy-->

Paramètres :

SubjectAltName : L’autre nom de l’objet (SAN) est une extension de X.509 qui permet d’associer différentes valeurs à un certificat de sécurité à l’aide d’un champ SubjectAltName. Ces valeurs sont appelées « Subject Alternative Names » (SAN). Les noms incluent :

  1. Adresses IP (préfixe avec « IP : » Exemple : IP : 198.51.10.5 IP : 192.0.2.100)

  2. Noms DNS (préfixe avec « DNS : » Exemple : DNS : www.exemple.com DNS : www.exemple.org DNS : www.exemple.net)

Sur la ligne de commande, entrez des valeurs entre guillemets. Séparez deux valeurs par un espace. Les guillemets ne sont pas obligatoires dans l’interface graphique. Longueur maximale : 127

Exemple :

create certReq test1.csr -keyFile test1.ky -countryName IN -stateName Kar -organizationName citrix -commonName ctx.com -subjectAltName "DNS:*.example.com DNS:www.example.org DNS:www.example.net"
<!--NeedCopy-->

Remarque :

Sur une appliance FIPS, vous devez remplacer le nom du fichier clé par le nom de la clé FIPS si vous créez la clé FIPS directement sur l’appliance.

create certReq <csrname> -fipsKeyName fipskey.ky -countryName IN -stateName Kar -organizationName citrix -commonName ctx.com -subjectAltName "DNS:www.example.com DNS:www.example.org DNS:www.example.net"
<!--NeedCopy-->

Créer un CSR à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL > Fichiers SSL.
  2. Dans l’onglet CSR, cliquez sur Create Certificate Signing Request (CSR).
  3. Entrez les valeurs et cliquez sur Créer.

Limitations

Pour utiliser le SAN lors de la création d’un certificat SSL, vous devez spécifier explicitement les valeurs du SAN. Les valeurs ne sont pas lues automatiquement à partir du fichier CSR.

Soumettre le CSR à l’autorité de certification

La plupart des autorités de certification (CA) acceptent les soumissions de certificats par e-mail. L’autorité de certification renvoie un certificat valide à l’adresse e-mail à partir de laquelle vous soumettez le CSR.

La demande de signature de certificat est stockée dans le dossier /nsconfig/ssl.

Générer un certificat de test

Remarque :

Pour générer un certificat de test de serveur, reportez-vous à la section Génération d’un certificat de test de serveur.

L’appliance NetScaler possède une suite d’outils CA intégrée que vous pouvez utiliser pour créer des certificats autosignés à des fins de test.

Attention : étant donné que c’est l’appliance NetScaler qui signe ces certificats, et non une véritable autorité de certification, vous ne devez pas les utiliser dans un environnement de production. Si vous tentez d’utiliser un certificat auto-signé dans un environnement de production, les utilisateurs reçoivent un avertissement « certificat non valide » à chaque accès au serveur virtuel.

L’appliance prend en charge la création des types de certificats suivants :

  • Certificats Root-CA
  • Certificats CA intermédiaires
  • Certificats d’utilisateur final
    • certificats de serveur
    • certificats clients

Avant de générer un certificat, créez une clé privée et utilisez-la pour créer une demande de signature de certificat (CSR) sur l’appliance. Ensuite, au lieu d’envoyer le CSR à une autorité de certification, utilisez les outils NetScaler CA pour générer un certificat.

Création d’un certificat à l’aide d’un assistant

  1. Accédez à Gestion du trafic > SSL.
  2. Dans le volet d’informations, sous Démarrage, sélectionnez l’assistant correspondant au type de certificat que vous souhaitez créer.
  3. Suivez les instructions qui s’affichent à l’écran.

Créer un certificat d’autorité de certification racine à l’aide de la CLI

À l’invite de commandes, tapez la commande suivante :

create ssl cert <certFile> <reqFile> <certType> [-keyFile <input_filename>] [-keyform ( DER | PEM )] [-days <positive_integer>]
<!--NeedCopy-->

Dans l’exemple suivant, csreq1 est le CSR et rsa1 est la clé privée qui a été créée précédemment.

Exemple :

create ssl cert cert1 csreq1 ROOT_CERT -keyFile rsa1 -keyForm PEM -days 365

  Done
<!--NeedCopy-->

Créer un certificat CA intermédiaire à l’aide de l’interface de ligne de commande

create ssl cert <certFile> <reqFile> <certType> [-keyFile <input_filename>] [-keyform ( DER | PEM )] [-days <positive_integer>] [-certForm ( DER | PEM )] [-CAcert <input_filename>] [-CAcertForm ( DER | PEM )] [-CAkey <input_filename>] [-CAkeyForm ( DER | PEM )] [-CAserial <output_filename>]
<!--NeedCopy-->

Dans l’exemple suivant, csr1 est la CSR créée précédemment. Cert1 et rsakey1 sont le certificat et la clé correspondante du certificat auto-signé (autorité de certification racine), et pvtkey1 est la clé privée du certificat d’autorité de certification intermédiaire.

Exemple :

create ssl cert certsy csr1 INTM_CERT -CAcert cert1 -CAkey rsakey1 -CAserial 23
Done

create ssl rsakey pvtkey1 2048 -exponent F4 -keyform PEM
Done
<!--NeedCopy-->

Créer un certificat d’autorité de certification racine à l’aide de l’interface graphique

Accédez à Gestion du trafic > SSL et, dans le groupe Mise en route, sélectionnez Assistant Certificat d’autorité de certification racineet configurez un certificat d’autorité de certification racine.

Créer un certificat CA intermédiaire à l’aide de l’interface graphique

Accédez à Gestion du trafic > SSL et, dans le groupe Mise en route, sélectionnez Assistant Certificat d’autorité de certification intermédiaireet configurez un certificat d’autorité de certification intermédiaire.

Créer un certificat d’utilisateur final

Un certificat d’utilisateur final peut être un certificat client ou un certificat de serveur. Pour créer un certificat d’utilisateur final de test, spécifiez le certificat d’autorité de certification intermédiaire ou le certificat d’autorité de certification racine auto-signé.

Remarque : Pour créer un certificat d’utilisateur final à des fins de production, spécifiez un certificat d’autorité de certification approuvée et envoyez la demande de signature de certificat à une autorité de certification (CA).

Créer un certificat d’utilisateur final de test à l’aide de l’interface de ligne de commande

create ssl cert <certFile> <reqFile> <certType> [-keyFile <input_filename>] [-keyform ( DER | PEM )] [-days<positive_integer>] [-certForm ( DER | PEM )] [-CAcert <input_filename>] [-CAcertForm ( DER | PEM )] [-CAkey<input_filename>] [-CAkeyForm ( DER | PEM )] [-CAserial <output_filename>]
<!--NeedCopy-->

S’il n’y a pas de certificat intermédiaire, utilisez les valeurs de certificat (cert1) et de clé privée (rsakey1) du certificat d’autorité de certification racine dans CAcert et CAkey.

Exemple :

create ssl cert cert12 csr1 SRVR_CERT -CAcert cert1 -CAkey rsakey1 -CAserial 23

Done
<!--NeedCopy-->

S’il existe un certificat intermédiaire, utilisez les valeurs de certificat (certsy) et de clé privée (pvtkey1) du certificat intermédiaire dans CAcert et CAkey.

Exemple :

create ssl cert cert12 csr1 SRVR_CERT -CAcert certsy -CAkey pvtkey1 -CAserial 23

Done
<!--NeedCopy-->

Création d’un certificat SAN auto-signé à l’aide d’OpenSSL

Pour créer un certificat SAN auto-signé avec plusieurs autres noms d’objet, effectuez les opérations suivantes :

  1. Créez un fichier de configuration OpenSSL sur votre ordinateur local en modifiant les champs associés selon les exigences de l’entreprise.

    Remarque : Dans l’exemple suivant, le fichier de configuration est « req.conf ».

    [req]
    distinguished_name = req_distinguished_name
    x509_extensions = v3_req
    prompt = no
    [req_distinguished_name]
    C = US
    ST = VA
    L = SomeCity
    O = MyCompany
    OU = MyDivision
    CN = www.company.com
    [v3_req]
    keyUsage = keyEncipherment, dataEncipherment
    extendedKeyUsage = serverAuth
    subjectAltName = @alt_names
    [alt_names]
    DNS.1 = www.company.net
    DNS.2 = company.com
    DNS.3 = company.net
    <!--NeedCopy-->
    
  2. Téléchargez le fichier dans le répertoire /nsconfig/ssl de l’appliance NetScaler.

  3. Connectez-vous à NetScaler CLI en tant qu’ nsroot utilisateur et passez à l’invite du shell.

  4. Exécutez la commande suivante pour créer le certificat :

    cd /nsconfig/ssl
    openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout cert.pem -out cert.pem -config req.conf -extensions 'v3_req'
    <!--NeedCopy-->
    
  5. Exécutez la commande suivante pour vérifier le certificat :

    openssl x509 -in cert.pem -noout –text
    Certificate:
    Data:
    Version: 3 (0x2)
    Serial Number:
    ed:90:c5:f0:61:78:25:ab
    Signature Algorithm: md5WithRSAEncryption
    Issuer: C=US, ST=VA, L=SomeCity, O=MyCompany, OU=MyDivision, CN=www.company.com
    Validity
    Not Before: Nov 6 22:21:38 2012 GMT
    Not After : Nov 6 22:21:38 2014 GMT
    Subject: C=US, ST=VA, L=SomeCity, O=MyCompany, OU=MyDivision, CN=www.company.com
    Subject Public Key Info:
    Public Key Algorithm: rsaEncryption
    RSA Public Key: (2048 bit)
    Modulus (2048 bit):
    …
    Exponent: 65537 (0x10001)
    X509v3 extensions:
    X509v3 Key Usage:
    Key Encipherment, Data Encipherment
    X509v3 Extended Key Usage:
    TLS Web Server Authentication
    X509v3 Subject Alternative Name:
    DNS:www.company.net, DNS:company.com, DNS:company.net
    Signature Algorithm: md5WithRSAEncryption …
    <!--NeedCopy-->