Paso 2: crear una solicitud de firma de certificado (CSR) y un certificado - AWS CloudHSM

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Paso 2: crear una solicitud de firma de certificado (CSR) y un certificado

Para habilitar HTTPS, el servidor web necesita un certificado SSL/TLS y la clave privada correspondiente. Para utilizar la descarga de SSL/TLS, debe almacenar la clave privada en el HSM de su clúster AWS CloudHSM. AWS CloudHSM Para ello, utilice el proveedor de almacenamiento de claves (KSP) de AWS CloudHSM para la API de criptografía de nueva generación (CNG) de Microsoft si desea crear una solicitud de firma de certificado (CSR). A continuación, debe proporcionar la CSR a una entidad de certificación (CA), para que firme la CSR y genere un certificado.

Creación de una CSR

Utilice el AWS CloudHSM KSP de su servidor Windows para crear una CSR.

Para crear una CSR
  1. Si aún no lo ha hecho, conéctese a su servidor de Windows. Para obtener más información, consulte Connect to Your Instance en la Guía del usuario de Amazon EC2.

  2. Utilice el siguiente comando para iniciar el daemon del AWS CloudHSM cliente.

    Amazon Linux
    $ sudo start cloudhsm-client
    Amazon Linux 2
    $ sudo service cloudhsm-client start
    CentOS 7
    $ sudo service cloudhsm-client start
    CentOS 8
    $ sudo service cloudhsm-client start
    RHEL 7
    $ sudo service cloudhsm-client start
    RHEL 8
    $ sudo service cloudhsm-client start
    Ubuntu 16.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 18.04 LTS
    $ sudo service cloudhsm-client start
    Windows
    • Para la versión 1.1.2 y posteriores del cliente de Windows:

      C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
    • Para la versión 1.1.1 y anteriores de clientes de Windows:

      C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
  3. En Windows Server, utilice un editor de texto para crear un archivo de solicitud de certificado denominado IISCertRequest.inf. A continuación, se muestra el contenido de un archivo IISCertRequest.inf de ejemplo. Para obtener más información sobre las secciones, las claves y los valores que puede especificar en el archivo, consulte la documentación de Microsoft. No cambie el valor de ProviderName.

    [Version] Signature = "$Windows NT$" [NewRequest] Subject = "CN=example.com,C=US,ST=Washington,L=Seattle,O=ExampleOrg,OU=WebServer" HashAlgorithm = SHA256 KeyAlgorithm = RSA KeyLength = 2048 ProviderName = "Cavium Key Storage Provider" KeyUsage = 0xf0 MachineKeySet = True [EnhancedKeyUsageExtension] OID=1.3.6.1.5.5.7.3.1
  4. Utilice el comando certreq de Windows para crear una CSR a partir del archivo IISCertRequest.inf que creó en el paso anterior. En el siguiente ejemplo, se guarda la CSR en un archivo denominado IISCertRequest.csr. Si utilizó un nombre de archivo diferente para el archivo de solicitud de certificado, sustituya el CertRequestarchivo.inf de IIS por el nombre de archivo adecuado. Si lo desea, puede sustituir el CertRequestarchivo.csr de IIS por un nombre de archivo diferente para el archivo CSR.

    C:\>certreq -new IISCertRequest.inf IISCertRequest.csr SDK Version: 2.03 CertReq: Request Created

    El archivo IISCertRequest.csr contiene la CSR. Necesita esta CSR para obtener un certificado firmado.

Obtención e importación de un certificado firmado

En un entorno de producción, normalmente se usa una entidad de certificación (CA) para crear un certificado de una CSR. No es necesaria una CA para un entorno de prueba. Si utiliza una CA, envíe el archivo de la CSR (IISCertRequest.csr) a la CA para que cree un certificado SSL/TLS firmado.

Como alternativa al uso de una CA, puede utilizar una herramienta como OpenSSL para crear un certificado autofirmado.

aviso

Los navegadores no confían en certificados autofirmados y no deben utilizarse en entornos de producción. Se pueden usar en entornos de prueba.

Los siguientes procedimientos muestran cómo crear un certificado autofirmado y cómo utilizarlo para firmar la CSR del servidor web.

Para crear un certificado autofirmado
  1. Utilice el siguiente comando de OpenSSL para crear una clave privada. Si lo desea, puede sustituir SelfSignedCA.key por el nombre del archivo para que contenga su clave privada.

    openssl genrsa -aes256 -out SelfSignedCA.key 2048 Generating RSA private key, 2048 bit long modulus ......................................................................+++ .........................................+++ e is 65537 (0x10001) Enter pass phrase for SelfSignedCA.key: Verifying - Enter pass phrase for SelfSignedCA.key:
  2. Utilice el siguiente comando de OpenSSL para crear un certificado autofirmado con la clave privada que ha creado en el paso anterior. Este es un comando interactivo. Lea las instrucciones que aparecen en pantalla y siga las indicaciones. Sustituya SelfSignedCA.key por el nombre del archivo que contiene la clave privada (si es diferente). Si lo desea, puede sustituir SelfSignedca.crt por el nombre del archivo para que contenga su certificado autofirmado.

    openssl req -new -x509 -days 365 -key SelfSignedCA.key -out SelfSignedCA.crt Enter pass phrase for SelfSignedCA.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:
Para utilizar el certificado autofirmado para firmar la CSR del servidor web
  • Utilice el siguiente comando de OpenSSL para utilizar la clave privada y el certificado autofirmado para firmar la CSR. Sustituya los nombres de los archivos siguientes por los que contienen los datos correspondientes (si son distintos).

    • IIS CertRequest .csr: nombre del archivo que contiene la CSR del servidor web

    • SelfSignedCA.crt: el nombre del archivo que contiene el certificado autofirmado

    • SelfSignedCA.key: el nombre del archivo que contiene la clave privada

    • IISCert.crt: nombre del archivo en que se va a guardar el certificado firmado del servidor web

    openssl x509 -req -days 365 -in IISCertRequest.csr \ -CA SelfSignedCA.crt \ -CAkey SelfSignedCA.key \ -CAcreateserial \ -out IISCert.crt Signature ok subject=/ST=IIS-HSM/L=IIS-HSM/OU=IIS-HSM/O=IIS-HSM/CN=IIS-HSM/C=IIS-HSM Getting CA Private Key Enter pass phrase for SelfSignedCA.key:

Una vez que haya completado el paso anterior, tendrá un certificado firmado para el servidor web (IISCert.crt) y un certificado autofirmado (SelfSignedCA.crt). Cuando tenga estos archivos, vaya al Paso 3: configurar el servidor web.