Etapa 2: Criar uma solicitação de assinatura de certificado (CSR) e um certificado - AWS CloudHSM

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Etapa 2: Criar uma solicitação de assinatura de certificado (CSR) e um certificado

Para habilitar o HTTPS, o servidor web precisa de um certificado SSL/TLS e de uma chave privada correspondente. Para usar o descarregamento de SSL/TLS AWS CloudHSM, você armazena a chave privada no HSM do seu cluster. AWS CloudHSM Para fazer isso, use o AWS CloudHSM key storage provider [provedor de armazenamento de chaves (KSP)] para a Cryptography API: Next Generation (CNG) da Microsoft para criar uma solicitação de assinatura de certificado (CSR). Em seguida, você fornece a CSR para uma autoridade de certificação (CA), que assina a CSR para produzir um certificado.

Criar uma CSR

Use o AWS CloudHSM KSP em seu Windows Server para criar uma CSR.

Para criar uma CSR
  1. Se você ainda não tiver feito isso, conecte-se ao Windows Server. Para obter mais informações, consulte Connect to Your Instance no Guia do usuário do Amazon EC2.

  2. Use o comando a seguir para iniciar o AWS CloudHSM daemon do 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 clientes Windows 1.1.2+:

      C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
    • Para o cliente Windows 1.1.1 e anterior:

      C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
  3. No Windows Server, use um editor de texto para criar um arquivo de solicitação de certificado chamado IISCertRequest.inf. O exemplo a seguir mostra o conteúdo de um arquivo IISCertRequest.inf de exemplo. Para obter mais informações sobre as seções, as chaves e os valores que você pode especificar no arquivo, consulte a documentação da Microsoft. Não mude o valor 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. Use o comando certreq do Windows para criar uma CSR no arquivo IISCertRequest.inf que você criou na etapa anterior. O exemplo a seguir salva a CSR em um arquivo chamado IISCertRequest.csr. Se você usou um nome de arquivo diferente para o arquivo de solicitação de certificado, substitua IIS CertRequest .inf pelo nome de arquivo apropriado. Opcionalmente, você pode substituir IIS CertRequest .csr por um nome de arquivo diferente para seu arquivo CSR.

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

    O arquivo IISCertRequest.csr contém sua CSR. Você precisa dessa CSR para obter um certificado assinado.

Obtenção e importação de um certificado assinado

Em um ambiente de produção, geralmente usa-se uma autoridade de certificação (CA) para criar um certificado de uma CSR. Não é necessária uma CA para um ambiente de teste. Se você usar uma CA, envie o arquivo da CSR (IISCertRequest.csr) para ela e use a CA para criar um certificado SSL/TLS assinado.

Em vez de usar uma CA, você pode usar uma ferramenta como a OpenSSL para criar um certificado autoassinado.

Atenção

Os certificados autoassinados não são confiáveis para os navegadores e não devem ser usados em ambientes de produção. Eles podem ser usados em ambientes de teste.

Os procedimentos a seguir mostram como criar um certificado autoassinado e usá-lo para assinar a CSR do servidor web.

Para criar um certificado autoassinado
  1. Use o comando OpenSSL a seguir para criar uma chave privada. Opcionalmente, você pode substituir SelfSignedCA.key pelo nome do arquivo para conter sua chave 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. Use o comando OpenSSL a seguir para criar um certificado autoassinado usando a chave privada que você criou na etapa anterior. Este é um comando interativo. Leia as instruções na tela e siga os avisos. Substitua SelfSignedCA.key pelo nome do arquivo que contém sua chave privada (se for diferente). Opcionalmente, você pode substituir SelfSignedCA.crt pelo nome do arquivo para conter seu certificado autoassinado.

    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 usar o certificado autoassinado para assinar a CSR do servidor web
  • Use o comando OpenSSL a seguir para usar a chave privada e o certificado autoassinado para assinar a CSR. Substitua as opções a seguir pelo nome do arquivo que contém os dados correspondentes (se forem diferentes).

    • IIS CertRequest .csr — O nome do arquivo que contém o CSR do seu servidor web

    • SelfSignedCA.crt — O nome do arquivo que contém seu certificado autoassinado

    • SelfSignedCA.key — O nome do arquivo que contém sua chave privada

    • IISCert.crt: o nome do arquivo que conterá o certificado assinado do 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:

Assim que concluir a etapa anterior, você terá um certificado assinado para seu servidor web (IISCert.crt) e um certificado autoassinado (SelfSignedCA.crt). Quando tiver esses arquivos, vá para Etapa 3: configure o servidor Web.