Citrix ADC

Crear un certificado

Una entidad emisora de certificados (CA) es una entidad que emite certificados digitales para su uso en criptografía de clave pública. Las aplicaciones, como los exploradores web web, que realizan transacciones SSL confían en certificados emitidos o firmados por una entidad de certificación. Estas aplicaciones mantienen una lista de las CA en las que confían. Si alguna de las entidades emisoras de certificados de confianza firma el certificado que se está usando para la transacción segura, la aplicación procede con la transacción.

Precaución: Citrix recomienda utilizar certificados obtenidos de CA autorizadas, como Verisign, para todas las transacciones SSL. Utilice los certificados generados en el dispositivo Citrix ADC únicamente con fines de prueba, no en ninguna implementación activa.

Para importar un certificado y una clave existentes, consulte Importación de un certificado.

Realice los siguientes pasos para crear un certificado y vincularlo a un servidor virtual SSL. Los únicos caracteres especiales permitidos en los nombres de archivo son guión bajo y punto.

  • Cree una clave privada.
  • Cree una solicitud de firma de certificados (CSR).
  • Envíe la CSR a una entidad emisora de certificados.
  • Cree un par de certificados y claves.
  • Enlazar el par de claves de certificado a un servidor virtual SSL

El siguiente diagrama ilustra el flujo de trabajo.

Flujo de extremo a extremo

Enlace de vídeo a Cómo creo e instalo un nuevo certificado.

Crear una clave privada

Notas:

  • Desde la versión 12.1, compilación 49.x, puede utilizar el algoritmo AES256 con formato de clave PEM para cifrar una clave privada en el dispositivo. AES con clave de 256 bits es más matemáticamente eficiente y seguro en comparación con la clave de 56 bits del Estándar de cifrado de datos (DES).

  • Desde la versión 12.1 compilación 50.x, puede crear una clave RSA en formato PKCS #8.

La clave privada es la parte más importante de un certificado digital. Por definición, esta clave no se debe compartir con nadie y debe guardarse de forma segura en el dispositivo Citrix ADC. Los datos cifrados con la clave pública solo se pueden descifrar mediante la clave privada.

El certificado que recibe de la entidad emisora de certificados solo es válido con la clave privada que se utilizó para crear la CSR. La clave es necesaria para agregar el certificado al dispositivo Citrix ADC.

El dispositivo solo admite los algoritmos de cifrado RSA para crear claves privadas. Puede enviar cualquier tipo de clave privada a la entidad emisora de certificados (CA). El certificado que recibe de la entidad emisora de certificados solo es válido con la clave privada que se utilizó para crear la CSR. La clave es necesaria para agregar el certificado al dispositivo Citrix ADC.

Importante:

  • Asegúrese de limitar el acceso a su clave privada. Cualquier persona que tenga acceso a su clave privada puede descifrar sus datos SSL.
  • La longitud del nombre de clave SSL permitido incluye la longitud del nombre de ruta absoluta si la ruta está incluida en el nombre de clave.

Todos los certificados y claves SSL se almacenan en la /nsconfig/ssl carpeta del dispositivo. Para mayor seguridad, puede utilizar el algoritmo DES o DES triple (3DES) para cifrar la clave privada almacenada en el dispositivo.

Crear una clave privada RSA mediante la CLI

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Crear una clave privada RSA mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > SSL > Archivos SSL.

  2. En la ficha Claves, seleccione Crear clave RSA.

    Crear clave RSA

  3. Introduzca valores para los siguientes parámetros y haga clic en Crear.

    • Nombre dearchivo clave: Nombre y, opcionalmente, ruta de acceso al archivo de clave RSA. /nsconfig/ssl/ es la ruta predeterminada.
    • Tamaño de clave: Tamaño, en bits, de la clave RSA. Puede variar de 512 bits a 4096 bits.
    • Valor del exponente público: Exponente público de la clave RSA. El exponente forma parte del algoritmo de cifrado y es necesario para crear la clave RSA.
    • Formato de clave: Formato en el que se almacena el archivo de clave RSA en el dispositivo.
    • Algoritmo de codificación PEM - Cifre la clave RSA generada mediante el algoritmo AES 256, DES o Triple-DES (DES3). De forma predeterminada, las claves privadas no están cifradas.
    • Frase de contraseña PEM: Si la clave privada está cifrada, introduzca una frase de paso para la clave.

    Introducir valores

Seleccione un algoritmo de codificación AES256 en una clave RSA mediante la interfaz gráfica de usuario

  1. Vaya a Administración de Tráfico > SSL > Archivos SSL > Crear clave RSA.

  2. En Formato de clave, seleccione PEM.

  3. En el algoritmo de codificación PEM, seleccione AES256.

  4. Seleccione PKCS8.

Crear una solicitud de firma de certificado mediante la CLI

En el símbolo del sistema, escriba:

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-->

Ejemplo:

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-->

Crear una solicitud de firma de certificado mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > SSL.
  2. En Certificado SSL, haga clic en Crear solicitud de firma de certificado (CSR).

    Crear solicitud de firma de certificado

  3. En Método de resumen, seleccione SHA256.

Consulte Crear una CSR para obtener más información.

Compatibilidad con el nombre alternativo del sujeto en una solicitud de firma de certificado

El campo de nombre alternativo del sujeto (SAN) de un certificado le permite asociar varios valores, como nombres de dominio y direcciones IP, con un único certificado. En otras palabras, puede proteger varios dominios, como www.example.com, www.example1.com, www.example2.com, con un solo certificado.

Algunos exploradores, como Google Chrome, ya no admiten un nombre común en una solicitud de firma de certificados (CSR). Imponen SAN en todos los certificados de confianza pública.

El dispositivo Citrix ADC admite la adición de valores SAN al crear una CSR. Puede enviar una CSR con una entrada SAN a una entidad emisora de certificados para obtener un certificado firmado con esa entrada SAN. Cuando el dispositivo recibe una solicitud, comprueba si hay un nombre de dominio coincidente en las entradas SAN del certificado del servidor. Si se encuentra una coincidencia, envía el certificado al cliente y completa el protocolo de enlace SSL. Puede usar la CLI o la GUI para crear una CSR con valores SAN.

Nota: El dispositivo Citrix ADC procesa solo los valores de SAN basados en DNS.

Cree una CSR con el nombre alternativo del sujeto mediante la CLI

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-->

Parámetros:

SubjetAltName: El nombre alternativo del sujeto (SAN) es una extensión a X.509 que permite asociar varios valores a un certificado de seguridad mediante un campo SubjetAltName. Estos valores se denominan “Nombres alternativos del sujeto” (SAN). Los nombres incluyen:

  1. Direcciones IP (Prefijo con “IP:” Ejemplo: IP:198.51.10.5 IP:192.0.2.100)

  2. Nombres DNS (Prefijo con “DNS:” Ejemplo: DNS:www.example.com DNS:www.example.org DNS:www.example.net)

En la línea de comandos, introduzca valores entre comillas. Separe dos valores con un espacio. Las comillas no son necesarias en la GUI. Longitud máxima: 127

Ejemplo:

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-->

Nota:

En un dispositivo FIPS, debe reemplazar el nombre del archivo de clave por el nombre de clave FIPS si crea la clave FIPS directamente en el dispositivo.

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-->

Crear una CSR mediante la interfaz gráfica de usuario

  1. Vaya a Administración de Tráfico > SSL > Archivos SSL.
  2. En la ficha CSR, haga clic en Crear solicitud de firma de certificados (CSR).
  3. Introduzca los valores y haga clic en Crear.

Limitaciones

Para usar SAN al crear un certificado SSL, debe especificar explícitamente los valores de SAN. Los valores no se leen automáticamente desde el archivo CSR.

Presentar la RSC a la entidad de certificación

La mayoría de las autoridades certificadoras (CA) aceptan envíos de certificados por correo electrónico. La CA devuelve un certificado válido a la dirección de correo electrónico desde la que envía el CSR.

La CSR se almacena en la /nsconfig/ssl carpeta.

Generar un certificado de prueba

Nota:

Para generar un certificado de prueba de servidor, consulte Generación de un certificado de prueba de servidor.

El dispositivo Citrix ADC tiene un conjunto de herramientas de CA integrado que puede utilizar para crear certificados autofirmados con fines de prueba.

Precaución: dado que el dispositivo Citrix ADC firma estos certificados y no una CA real, no debe utilizarlos en un entorno de producción. Si intenta utilizar un certificado autofirmado en un entorno de producción, los usuarios reciben una advertencia de “certificado no válido” cada vez que se accede al servidor virtual.

El dispositivo admite la creación de los siguientes tipos de certificados

  • Certificados CA raíz
  • Certificados de CA intermedia
  • Certificados de usuario final
    • certificados de servidor
    • certificados de cliente

Antes de generar un certificado, cree una clave privada y úselo para crear una solicitud de firma de certificado (CSR) en el dispositivo. A continuación, en lugar de enviar la CSR a una CA, utilice las herramientas de CA de Citrix ADC para generar un certificado.

Crear un certificado mediante un asistente

  1. Vaya a Administración del tráfico > SSL.
  2. En el panel de detalles, en Introducción, seleccione el asistente para el tipo de certificado que quiere crear.
  3. Siga las instrucciones que aparecen en pantalla.

Crear un certificado Root-CA mediante la CLI

En el símbolo del sistema, escriba el siguiente comando:

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

En el ejemplo siguiente, csreq1 es la CSR y rsa1 es la clave privada creada anteriormente.

Ejemplo:

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

  Done
<!--NeedCopy-->

Crear un certificado de CA intermedia mediante la CLI

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-->

En el ejemplo siguiente, csr1 es la CSR creada anteriormente. Cert1 y rsakey1 son el certificado y la clave correspondiente del certificado autofirmado (Root-CA), y pvtkey1 es la clave privada del certificado Intermediate-CA.

Ejemplo:

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-->

Cree un certificado Root-CA mediante la interfaz gráfica de usuario

Vaya a Administración de tráfico > SSL y, en el grupo Introducción, seleccione Asistente para certificados de CA raíz y configure un certificado de CA raíz.

Crear un certificado de CA intermedio mediante la interfaz gráfica de usuario

Vaya a Administración de tráfico > SSL y, en el grupo Introducción, seleccione Asistente para certificados de CA intermedia y configure un certificado de CA intermedio.

Crear un certificado de usuario final

Un certificado de usuario final puede ser un certificado de cliente o un certificado de servidor. Para crear un certificado de usuario final de prueba, especifique el certificado de CA intermedia o el certificado de CA raíz autofirmado.

Nota: Para crear un certificado de usuario final para uso en producción, especifique un certificado de CA de confianza y envíe la CSR a una entidad emisora de certificados (CA).

Crear un certificado de usuario final de prueba mediante la interfaz de línea de comandos

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-->

Si no hay ningún certificado intermedio, utilice los valores de certificado (cert1) y clave privada (rsakey1) del certificado Root-CA en CAcert y CAkey.

Ejemplo:

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

Done
<!--NeedCopy-->

Si hay un certificado intermedio, utilice los valores de certificado (certsy) y clave privada (pvtkey1) del certificado intermedio en CAcert y CAkey.

Ejemplo:

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

Done
<!--NeedCopy-->

Crear un certificado SAN autofirmado con OpenSSL

Para crear un certificado SAN autofirmado con varios nombres alternativos de sujeto, lleve a cabo los siguientes pasos:

  1. Cree un archivo de configuración OpenSSL en su equipo local; para ello, modifique los campos relacionados según los requisitos de la empresa.

    Nota: En el ejemplo siguiente, el archivo de configuración es “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. Cargue el archivo en el directorio /nsconfig/ssl del dispositivo Citrix ADC.

  3. Inicie sesión en Citrix ADC CLI como nsroot usuario y cambie al símbolo del shell.

  4. Ejecute el siguiente comando para crear el certificado:

    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. Ejecute el siguiente comando para verificar el certificado:

    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-->