ADC

Crear un certificado

Una entidad de certificación (CA) es una entidad que emite certificados digitales para su uso en criptografía de clave pública. Aplicaciones, como exploradores web, que realizan transacciones SSL certificados de confianza 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 guiones bajos y puntos.

  • Crea una clave privada.
  • Cree una solicitud de firma de certificado (CSR).
  • Envíe la CSR a una entidad de certificación.
  • Cree un par de claves de certificado.
  • 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

Cómo crear e instalar un certificado nuevo

Crear una clave privada

Notas:

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

  • A partir de 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 mantenerse de forma segura en el dispositivo Citrix ADC. Todos los datos cifrados con la clave pública solo se pueden descifrar mediante el uso de la clave privada.

El certificado que recibe de la CA solo es válido con la clave privada que se usó 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 de certificación (CA). El certificado que recibe de la CA solo es válido con la clave privada que se usó 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 permitida incluye la longitud del nombre de ruta absoluto si la ruta se incluye en el nombre de la clave.

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

Crear una clave privada RSA mediante la CLI

En la línea de comandos, 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, selecciona Crear clave RSA.

    Crear clave RSA

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

    • Nombre dearchivo clave: nombre y, opcionalmente, ruta 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 de exponente público: exponente público para 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: Encripte la clave RSA generada mediante el algoritmo AES 256, DES o Triple-DES (DES3). De forma predeterminada, las claves privadas no se cifran.
    • Frase de contraseña PEM: Si la clave privada está cifrada, introduzca una frase de contraseña para la clave.

    Introduzca valores

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

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

  2. En Formato de clave, seleccione PEM.

  3. En PEM Encoding Algorithm, seleccione AES256.

  4. Seleccione PKCS8.

Crear una solicitud de firma de certificado mediante la CLI

En la línea de comandos, 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. Diríjase 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 Nombre alternativo del sujeto (SAN) de un certificado le permite asociar varios valores, como nombres de dominio y direcciones IP, con un solo certificado. En otras palabras, puede proteger varios dominios, como www.example.com, www.example1.com, www.example2.com, con un solo certificado.

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

El dispositivo Citrix ADC admite agregar valores de SAN al crear una CSR. Puede enviar una CSR con una entrada de SAN a una entidad de certificación para obtener un certificado firmado con esa entrada de SAN. Cuando el dispositivo recibe una solicitud, comprueba si hay un nombre de dominio coincidente en las entradas de 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 de SAN.

Nota: El dispositivo Citrix ADC procesa solo 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:

subjectAltName: El nombre alternativo del sujeto (SAN) es una extensión de X.509 que permite asociar varios valores a un certificado de seguridad mediante un campo subjectAltName. 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 los valores entre comillas. Separe dos valores con un espacio. No se requieren comillas en la interfaz gráfica de usuario. 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 del tráfico > SSL > Archivos SSL.
  2. En la ficha CSR, haga clic en Crear solicitud de firma de certificado (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 del archivo CSR.

Presentar la CSR a la entidad de certificación

La mayoría de las autoridades de certificación (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 carpeta /nsconfig/ssl.

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: Como el dispositivo Citrix ADC firma estos certificados, y no una CA real, no debe usarlos 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 de 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 utilícela para crear una solicitud de firma de certificado (CSR) en el dispositivo. A continuación, en lugar de enviar la CSR a una CA, use Citrix ADC CA Tools para generar un certificado.

Crear un certificado mediante un asistente

  1. Diríjase 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 desea crear.
  3. Siga las instrucciones que aparecen en pantalla.

Crear un certificado de CA raíz 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 siguiente ejemplo, csreq1 es la CSR y rsa1 es la clave privada que se creó 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 siguiente ejemplo, csr1 es la CSR creada anteriormente. Cert1 y rsakey1 son el certificado y la clave correspondiente del certificado autofirmado (CA raíz), y pvtkey1 es la clave privada del certificado de CA intermedia.

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

Crear un certificado de CA raíz mediante la interfaz gráfica de usuario

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

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

Vaya a Administración del tráfico > SSL y, en el grupo Introducción, seleccione Asistente para certificados de CA intermediay 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 de certificación (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 un certificado intermedio, utilice los valores de certificado (cert1) y de la clave privada (rsakey1) del certificado de CA raíz 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 del certificado (certsy) y de la 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 mediante 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 de OpenSSL en su equipo local modificando 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 la CLI de Citrix ADC como usuario nsroot 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-->