

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.

# Emita certificados privados de entidad final
<a name="PcaIssueCert"></a>

Con una CA privada, puede solicitar certificados de entidad final privada a AWS Certificate Manager (ACM) o. Autoridad de certificación privada de AWS Las capacidades de ambos servicios se comparan en la siguiente tabla.


****  

|  Funcionalidad  |  ACM  |  Autoridad de certificación privada de AWS  | 
| --- | --- | --- | 
|  Emitir un certificado de entidad final  |  ✓ (utilizando [RequestCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_RequestCertificate.html) o la consola)  |  ✓ (utilizando [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html))  | 
|  Asociación con balanceadores de carga y servicios conectados a Internet AWS   |  ✓  |  No compatible  | 
| Renovación administrada de certificados | ✓ | [Con compatibilidad](https://docs.aws.amazon.com/acm/latest/userguide/managed-renewal.html) indirecta a través de ACM | 
|  Soporte de consola  |  ✓  |  No compatible  | 
|  Compatibilidad con API  |  ✓  |  ✓  | 
|  Compatibilidad con CLI  |  ✓  |  ✓  | 

Cuando Autoridad de certificación privada de AWS crea un certificado, sigue una plantilla que especifica el tipo de certificado y la longitud de la ruta. Si no se proporciona ningún ARN de plantilla a la instrucción API o CLI que crea el certificado, se aplica la plantilla [EndEntityCertificate/V1](template-definitions.md#EndEntityCertificate-V1) de forma predeterminada. Para obtener más información acerca de las plantillas de certificados disponibles, consulte [Utilice plantillas de certificados AWS Private CA](UsingTemplates.md).

Si bien los certificados ACM se diseñan en función de la confianza pública, satisfacen Autoridad de certificación privada de AWS las necesidades de su PKI privada. En consecuencia, puede configurar los certificados mediante la Autoridad de certificación privada de AWS API y la CLI de formas no permitidas por ACM. Estos incluyen los siguientes:
+ Cree un certificado con cualquier nombre de sujeto.
+ Utilizar cualquier [algoritmo de clave privada y cualquier longitud de clave que sean compatibles](https://docs.aws.amazon.com/privateca/latest/userguide/supported-algorithms.html).
+ Mediante cualquiera de los [algoritmos de firma compatibles](https://docs.aws.amazon.com/privateca/latest/userguide/supported-algorithms.html).
+ Especificar cualquier periodo de validez para la [CA](PcaCreateCa.html) privada y los [certificados](PcaIssueCert.html) privados.

Tras crear un certificado TLS privado con él Autoridad de certificación privada de AWS, puede [importarlo](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html) a ACM y utilizarlo con un servicio compatible. AWS 

**nota**  
Los certificados creados con el siguiente procedimiento, mediante el **issue-certificate** comando o con la acción de la [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html)API, no se pueden exportar directamente para su uso externo. AWS Sin embargo, puede usar su CA privada para firmar los certificados emitidos a través de ACM y esos certificados se pueden exportar junto con sus claves secretas. Para obtener más información, consulte [Solicitar un certificado privado](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) y [Exportar un certificado privado](https://docs.aws.amazon.com/acm/latest/userguide/export-private.html) en la *Guía del usuario de ACM*.

## Emita un certificado estándar (AWS CLI)
<a name="IssueCertCli"></a>

Puede usar el comando [issue-certificate](https://docs.aws.amazon.com/cli/latest/reference/acm-pca/issue-certificate.html) de la Autoridad de certificación privada de AWS CLI o la acción de la API [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html)para solicitar un certificado de entidad final. Este comando necesita el nombre de recurso de Amazon (ARN) de la CA privada que desea utilizar para emitir el certificado. También debe generar una solicitud de firma de certificado (CSR) mediante un programa como [OpenSSL](https://www.openssl.org/).

Si usa la Autoridad de certificación privada de AWS API o AWS CLI emite un certificado privado, el certificado no se administra, lo que significa que no puede usar la consola ACM, la CLI de ACM o la API de ACM para verlo o exportarlo, y el certificado no se renueva automáticamente. Sin embargo, puede usar el comando PCA [get-certificate](https://docs.aws.amazon.com/cli/latest/reference/acm-pca/get-certificate.html) para recuperar los detalles del certificado y, si es propietario de la CA, puede crear un [informe de auditoría](PcaAuditReport.md).

**Consideraciones sobre la creación de certificados**
+ En conformidad con [RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280), la longitud del nombre de dominio (técnicamente, el nombre común) que proporcione no puede superar los 64 octetos (caracteres), incluidos los puntos. Para agregar un nombre de dominio más largo, especifíquelo en el campo Nombre alternativo del asunto, que admite nombres de hasta 253 octetos de longitud. 
+ Si utiliza la AWS CLI versión 1.6.3 o posterior, utilice el prefijo `fileb://` al especificar los archivos de entrada codificados en base64, como. CSRs Esto garantiza que se analicen los datos correctamente Autoridad de certificación privada de AWS .

El siguiente comando de OpenSSL genera una CSR y una clave privada para un certificado:

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

Puede inspeccionar el contenido de la CSR de la siguiente manera:

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

El resultado debe parecerse al siguiente ejemplo 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
```

El siguiente comando crea un certificado. Como no se especifica ninguna plantilla, se emite un certificado de entidad final base de forma predeterminada.

```
$ 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"
```

Se devuelve el ARN del certificado emitido:

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

**nota**  
Autoridad de certificación privada de AWS devuelve inmediatamente un ARN con un número de serie cuando recibe el **issue-certificate** comando. Sin embargo, el procesamiento del certificado se realiza de forma asíncrona y, aun así, puede fallar. Si esto ocurre, un comando **get-certificate** que utilice el nuevo ARN también fallará.

## Emita un certificado con un nombre de asunto personalizado mediante una plantilla APIPassthrough
<a name="custom-subject-1"></a>

En este ejemplo, se emite un certificado que contiene elementos de nombre de asunto personalizados. Además de proporcionar una CSR como la que aparece en[Emita un certificado estándar (AWS CLI)](#IssueCertCli), se pasan dos argumentos adicionales al **issue-certificate** comando: el ARN de APIPassthrough una plantilla y un archivo de configuración JSON que especifica los atributos personalizados y sus identificadores OIDs de objeto (). No puedes usarlo `StandardAttributes` junto con`CustomAttributes`. Sin embargo, puedes pasar el estándar OIDs como parte de. `CustomAttributes` El nombre OIDs del asunto predeterminado aparece en la siguiente tabla (información de la [RFC 4519](https://www.rfc-editor.org/rfc/rfc4519) y de la [base de datos de referencia global OID](https://oidref.com)):


|  Nombre del asunto  |  Abreviatura  |  ID de objeto  | 
| --- | --- | --- | 
|  countryName  |  c  | 2.5.4.6 | 
|  CommonName  |  cn  | 2.5.4.3 | 
|  dnQualifier [calificador de nombre distintivo]  |    | 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,234,19200300.100,1,25  | 
|  userid  |    |  0,9,2342 19200300.1001.1  | 

El archivo de configuración de ejemplo `api_passthrough_config.txt` contiene el código siguiente:

```
{
  "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"
      }
    ]
  }
}
```

Escriba el siguiente comando para extraer el 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
```

Se devuelve el ARN del certificado emitido:

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

Recupere el certificado localmente de la siguiente manera:

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

Puede inspeccionar el contenido del certificado mediante OpenSSL:

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

**nota**  
También es posible crear una CA privada que transfiera atributos personalizados a cada certificado que emita.

## Emita un certificado con extensiones personalizadas mediante una plantilla APIPassthrough
<a name="custom-subject-2"></a>

En este ejemplo, se emite un certificado que contiene extensiones personalizadas. Para ello, debe pasar tres argumentos al **issue-certificate** comando: el ARN de una APIPassthrough plantilla y un archivo de configuración JSON que especifica las extensiones personalizadas, y una CSR como la que se muestra en. [Emita un certificado estándar (AWS CLI)](#IssueCertCli) 

El archivo de configuración de ejemplo `api_passthrough_config.txt` contiene el código siguiente:

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

El certificado personalizado se emite de la siguiente manera:

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

Se devuelve el ARN del certificado emitido:

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

Recupere el certificado localmente de la siguiente manera:

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

Puede inspeccionar el contenido del certificado mediante OpenSSL:

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