

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

# Emitir certificados de entidade final privada
<a name="PcaIssueCert"></a>

Com uma CA privada em vigor, você pode solicitar certificados de entidade final privada do AWS Certificate Manager (ACM) ou. CA privada da AWS Os recursos de ambos os serviços são comparados na tabela a seguir.


****  

|  Recurso  |  ACM  |  CA privada da AWS  | 
| --- | --- | --- | 
|  Emitir certificados de entidade final  |  ✓ (usando [RequestCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_RequestCertificate.html) ou o console)  |  ✓ (usando [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html))  | 
|  Associação com balanceadores de carga e serviços voltados para a Internet AWS   |  ✓  |  Não compatível  | 
| Renovação gerenciada de certificados | ✓ | [Com suporte](https://docs.aws.amazon.com/acm/latest/userguide/managed-renewal.html) indireto por meio do ACM | 
|  Suporte a consoles  |  ✓  |  Não compatível  | 
|  Suporte à API  |  ✓  |  ✓  | 
|  Compatibilidade da CLI  |  ✓  |  ✓  | 

Ao CA privada da AWS criar um certificado, ele segue um modelo que especifica o tipo de certificado e o comprimento do caminho. Se nenhum ARN de modelo for fornecido à instrução de API ou CLI que cria o certificado, o modelo [EndEntityCertificate/V1](template-definitions.md#EndEntityCertificate-V1) é aplicado por padrão. Para obter mais informações sobre modelos de certificado disponíveis, consulte [Use modelos CA Privada da AWS de certificado](UsingTemplates.md).

Embora os certificados ACM sejam projetados com base na confiança pública, CA privada da AWS atendem às necessidades de sua PKI privada. Consequentemente, você pode configurar certificados usando a CA privada da AWS API e a CLI de maneiras não permitidas pelo ACM. Incluindo o seguinte:
+ Criar um certificado com qualquer nome de requerente.
+ Usar qualquer um dos [algoritmos de chave privada e tamanhos de chave compatíveis](https://docs.aws.amazon.com/privateca/latest/userguide/supported-algorithms.html).
+ Usar qualquer um dos [algoritmos de assinatura compatíveis](https://docs.aws.amazon.com/privateca/latest/userguide/supported-algorithms.html).
+ Especificar qualquer período de validade para a [CA](PcaCreateCa.html) privada e os [certificados](PcaIssueCert.html) privados.

Depois de criar um certificado TLS privado usando CA privada da AWS, você pode [importá-lo](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html) para o ACM e usá-lo com um serviço compatível AWS .

**nota**  
Os certificados criados com o procedimento abaixo, usando o **issue-certificate** comando ou com a ação da [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html)API, não podem ser exportados diretamente para uso externo AWS. Porém, você pode usar sua CA privada para assinar certificados emitidos pelo ACM, e esses certificados podem ser exportados juntamente com suas chaves secretas. Para obter mais informações, consulte [Solicitar um certificado prvado](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) e [Exportar certificado privado](https://docs.aws.amazon.com/acm/latest/userguide/export-private.html), no *Guia do Usuário do ACM*.

## Emitir um certificado padrão (AWS CLI)
<a name="IssueCertCli"></a>

Você pode usar o comando da CA privada da AWS CLI [issue-certificate](https://docs.aws.amazon.com/cli/latest/reference/acm-pca/issue-certificate.html) ou a ação da API [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html)para solicitar um certificado de entidade final. Esse comando requer o nome de recurso da Amazon (ARN) da CA privada que você deseja usar para emitir o certificado. Você também deve gerar uma solicitação de assinatura de certificado (CSR) usando um programa como o [OpenSSL](https://www.openssl.org/).

Se você usa a CA privada da AWS API ou AWS CLI emite um certificado privado, o certificado não é gerenciado, o que significa que você não pode usar o console do ACM, a CLI do ACM ou a API do ACM para visualizá-lo ou exportá-lo, e o certificado não é renovado automaticamente. Porém, você pode usar o comando [get-certificate](https://docs.aws.amazon.com/cli/latest/reference/acm-pca/get-certificate.html) do PCA para recuperar os detalhes do certificado e, se for proprietário da CA, poderá criar um [relatório de auditoria](PcaAuditReport.md).

**Considerações ao criar certificados**
+ Em conformidade com o [RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280), o tamanho do nome de domínio (tecnicamente, o Nome Comum) fornecido não pode exceder 64 octetos (caracteres), incluindo pontos. Para adicionar um nome de domínio mais longo, especifique-o no campo Nome alternativo do requerente, que oferece suporte a nomes de até 253 octetos de comprimento. 
+ Se você estiver usando a AWS CLI versão 1.6.3 ou posterior, use o prefixo `fileb://` ao especificar arquivos de entrada codificados em base64, como. CSRs Isso garante que os dados CA privada da AWS sejam analisados corretamente.

O comando OpenSSL a seguir gera uma CSR e uma chave privada para um certificado:

```
$ openssl req -out csr.pem -new -newkey rsa:2048 -nodes -keyout private-key.pem
```

É possível inspecionar o conteúdo do CSR da seguinte maneira:

```
$ openssl req -in csr.pem -text -noout
```

A saída resultante deve ser semelhante a este exemplo abreviado:

```
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=US, O=Big Org, CN=example.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:ca:85:f4:3a:b7:5f:e2:66:be:fc:d8:97:65:3d:
                    a4:3d:30:c6:02:0a:9e:1c:ca:bb:15:63:ca:22:81:
                    00:e1:a9:c0:69:64:75:57:56:53:a1:99:ee:e1:cd:
                    ...
                    aa:38:73:ff:3d:b7:00:74:82:8e:4a:5d:da:5f:79:
                    5a:89:52:e7:de:68:95:e0:16:9b:47:2d:57:49:2d:
                    9b:41:53:e2:7f:e1:bd:95:bf:eb:b3:a3:72:d6:a4:
                    d3:63
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha256WithRSAEncryption
         74:18:26:72:33:be:ef:ae:1d:1e:ff:15:e5:28:db:c1:e0:80:
         42:2c:82:5a:34:aa:1a:70:df:fa:4f:19:e2:5a:0e:33:38:af:
         21:aa:14:b4:85:35:9c:dd:73:98:1c:b7:ce:f3:ff:43:aa:11:
         ....
         3c:b2:62:94:ad:94:11:55:c2:43:e0:5f:3b:39:d3:a6:4b:47:
         09:6b:9d:6b:9b:95:15:10:25:be:8b:5c:cc:f1:ff:7b:26:6b:
         fa:81:df:e4:92:e5:3c:e5:7f:0e:d8:d9:6f:c5:a6:67:fb:2b:
         0b:53:e5:22
```

O comando abaixo cria um certificado. Como nenhum modelo foi especificado, um certificado básico de entidade final é emitido por padrão.

```
$ aws acm-pca issue-certificate \
      --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \
      --csr fileb://csr.pem \
      --signing-algorithm "SHA256WITHRSA" \
      --validity Value=365,Type="DAYS"
```

O ARN do certificado emitido é retornado:

```
{
   "CertificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID"
}
```

**nota**  
CA privada da AWS retorna imediatamente um ARN com um número de série ao receber o **issue-certificate** comando. Porém, o processamento do certificado ocorre de maneira assíncrona e ainda pode falhar. Se isso acontecer, um comando **get-certificate** usando o novo ARN também falhará.

## Emitir um certificado com um nome de assunto personalizado usando um APIPassthrough modelo
<a name="custom-subject-1"></a>

Neste exemplo, é emitido um certificado contendo elementos personalizados do nome do requerente. Além de fornecer um CSR como o fornecido[Emitir um certificado padrão (AWS CLI)](#IssueCertCli), você passa dois argumentos adicionais para o **issue-certificate** comando: o ARN de um APIPassthrough modelo e um arquivo de configuração JSON que especifica os atributos personalizados e seus identificadores de objeto (). OIDs Você não pode usar `StandardAttributes` em conjunto com `CustomAttributes` o. no entanto, você pode passar pelo padrão OIDs como parte do`CustomAttributes`. O nome do assunto padrão OIDs está listado na tabela a seguir (informações do [RFC 4519](https://www.rfc-editor.org/rfc/rfc4519) e do banco de dados de [referência do Global OID):](https://oidref.com)


|  Nome do requerente  |  Abreviação  |  ID de objeto  | 
| --- | --- | --- | 
|  countryName  |  c  | 2.5.4.6 | 
|  commonName  |  cn  | 2.5.4.3 | 
|  dnQualifier [qualificador de nome distinto]  |    | 2.5.4.46 | 
|  generationQualifier  |    | 2.5.4.44 | 
|  givenName  |    | 2.5.4.42 | 
|  Initials  |    | 2.5.4.43 | 
|  Locality  |  l  | 2.5.4.7 | 
|  organizationName  |  o  | 2.5.4.10 | 
|  organizationalUnitName  |  ou  | 2.5.4.11 | 
|  Pseudonym  |    | 2.5.4.65 | 
|  SerialNumber  |    | 2.5.4.5 | 
|  st [estado]  |    | 2.5.4.8 | 
|  surname  |  sn  | 2.5.4.4 | 
|  título  |    | 2.5.4.12 | 
|  domainComponent  |  dc  |  0.9.2342.19200300.100.1.25  | 
|  userid  |    |  0.9.2342.19200300.100.1.1  | 

O arquivo de configuração de amostra `api_passthrough_config.txt` contém o código a seguir:

```
{
  "Subject": {
    "CustomAttributes": [
      {
        "ObjectIdentifier": "2.5.4.6",
        "Value": "US"
      },
      {
        "ObjectIdentifier": "1.3.6.1.4.1.37244.1.1",
        "Value": "BCDABCDA12341234"
      },
      {
        "ObjectIdentifier": "1.3.6.1.4.1.37244.1.5",
        "Value": "CDABCDAB12341234"
      }
    ]
  }
}
```

Use o seguinte comando para emitir o certificado:

```
$ aws acm-pca issue-certificate \
      --validity Type=DAYS,Value=10 
      --signing-algorithm "SHA256WITHRSA" \
      --csr fileb://csr.pem \
      --api-passthrough file://api_passthrough_config.txt \
      --template-arn arn:aws:acm-pca:::template/BlankEndEntityCertificate_APIPassthrough/V1 \
      --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566
```

O ARN do certificado emitido é retornado:

```
{
   "CertificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID"
}
```

Recupere o certificado localmente, da seguinte maneira:

```
$ aws acm-pca get-certificate \
      --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \
      --certificate-arn arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID | \
      jq -r .'Certificate' > cert.pem
```

É possível inspecionar o conteúdo do certificado usando OpenSSL:

```
$ openssl x509 -in cert.pem -text -noout
```

**nota**  
Também é possível criar uma CA privada que transmita atributos personalizados a cada certificado emitido.

## Emitir um certificado com extensões personalizadas usando um APIPassthrough modelo
<a name="custom-subject-2"></a>

Nesse exemplo, é emitido um certificado que contém extensões personalizadas. Para isso, você precisa passar três argumentos para o **issue-certificate** comando: o ARN de um APIPassthrough modelo e um arquivo de configuração JSON que especifica as extensões personalizadas e uma CSR como a mostrada em. [Emitir um certificado padrão (AWS CLI)](#IssueCertCli) 

O arquivo de configuração de amostra `api_passthrough_config.txt` contém o código a seguir:

```
{
  "Extensions": {
    "CustomExtensions": [
      {
        "ObjectIdentifier": "2.5.29.30",
        "Value": "MBWgEzARgg8ucGVybWl0dGVkLnRlc3Q=",
        "Critical": true
      }
    ]
  }
}
```

O certificado personalizado é emitido da seguinte maneira:

```
$ aws acm-pca issue-certificate \
      --validity Type=DAYS,Value=10 
      --signing-algorithm "SHA256WITHRSA" \
      --csr fileb://csr.pem \
      --api-passthrough file://api_passthrough_config.txt \
      --template-arn arn:aws:acm-pca:::template/EndEntityCertificate_APIPassthrough/V1 \
      --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566
```

O ARN do certificado emitido é retornado:

```
{
   "CertificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID"
}
```

Recupere o certificado localmente, da seguinte maneira:

```
$ aws acm-pca get-certificate \
      --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \
      --certificate-arn arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID | \
      jq -r .'Certificate' > cert.pem
```

É possível inspecionar o conteúdo do certificado usando OpenSSL:

```
$ openssl x509 -in cert.pem -text -noout
```