

# Protección de sus API de REST en API Gateway
<a name="rest-api-protect"></a>

API Gateway proporciona una serie de formas de proteger su API de ciertas amenazas, como usuarios malintencionados o picos de tráfico. Puede proteger su API usando estrategias como generar certificados SSL, configurar un firewall de aplicaciones web, establecer objetivos de limitación y permitir el acceso a su API desde una Virtual Private Cloud (VPC). En esta sección puede aprender cómo habilitar estas capacidades mediante API Gateway.

**Topics**
+ [Cómo activar la autenticación TLS mutua para las API de REST en API Gateway](rest-api-mutual-tls.md)
+ [Generación y configuración de un certificado SSL para la autenticación de backend en API Gateway](getting-started-client-side-ssl-authentication.md)
+ [Uso de AWS WAF para proteger sus API de REST en API Gateway](apigateway-control-access-aws-waf.md)
+ [Limitación de las solicitudes a sus API de REST para mejorar el rendimiento en API Gateway](api-gateway-request-throttling.md)
+ [API de REST privadas en API Gateway](apigateway-private-apis.md)

# Cómo activar la autenticación TLS mutua para las API de REST en API Gateway
<a name="rest-api-mutual-tls"></a>

La autenticación TLS mutua requiere la autenticación bidireccional entre el cliente y el servidor. Con la TLS mutua, los clientes deben presentar certificados X.509 para verificar su identidad y acceder a su API. La TLS mutua es un requisito frecuente para el Internet de las cosas (IoT) y las aplicaciones entre empresas. 

Puede utilizar TLS mutua junto con otras [operaciones de autorización y autenticación](apigateway-control-access-to-api.md) compatibles con API Gateway. API Gateway reenvía los certificados que los clientes proporcionan a los autorizadores de Lambda y a las integraciones del backend.

**importante**  
De forma predeterminada, los clientes pueden invocar su API mediante el punto de conexión `execute-api` que API Gateway genera para su API. Para asegurarse de que los clientes solo puedan acceder a su API mediante un nombre de dominio personalizado con la TLS mutua, deshabilite el punto de conexión `execute-api` predeterminado. Para obtener más información, consulte [Deshabilitación del punto de conexión predeterminado para las API de REST](rest-api-disable-default-endpoint.md). 

**Topics**
+ [Requisitos previos de la TLS mutua](#rest-api-mutual-tls-prerequisites)
+ [Configuración de la TLS mutua para un nombre de dominio personalizado](#rest-api-mutual-tls-configure)
+ [Invocar una API mediante un nombre de dominio personalizado que requiere la TLS mutua](#rest-api-mutual-tls-invoke)
+ [Actualización de su almacén de confianza](#rest-api-mutual-tls-update-truststore)
+ [Deshabilitar la TLS mutua](#rest-api-mutual-tls-disable)
+ [Solución de problemas de TLS mutuo para su API de REST](#rest-api-mutual-tls-troubleshooting)

## Requisitos previos de la TLS mutua
<a name="rest-api-mutual-tls-prerequisites"></a>

Para configurar la TLS mutua necesita lo siguiente:
+ Un nombre de dominio personalizado regional
+ Al menos un certificado configurado en AWS Certificate Manager para el nombre de dominio personalizado
+ Un almacén de confianza configurado y cargado en Amazon S3

### Nombres de dominio personalizados
<a name="rest-api-mutual-tls-custom-domain-name"></a>

 Para habilitar la TLS mutua para una API REST, debe configurar un nombre de dominio personalizado para su API. Puede habilitar la TLS mutua para un nombre de dominio personalizado y, a continuación, proporcionar el nombre de dominio personalizado a los clientes. Para acceder a una API mediante un nombre de dominio personalizado que tenga habilitada la TLS mutua, los clientes deben presentar certificados en los que confíe en las solicitudes de API. Dispone de más información en [Nombre de dominio personalizado para las API de REST públicas en API Gateway](how-to-custom-domains.md).

### Uso de certificados emitidos por AWS Certificate Manager
<a name="rest-api-mutual-tls-using-acm-issued-certs"></a>

Puede solicitar un certificado de confianza pública directamente desde ACM o importar certificados públicos o autofirmados. Para configurar un certificado en ACM, vaya a [ACM](https://console.aws.amazon.com/acm/). Si desea importar un certificado, siga leyendo en la siguiente sección.

### Uso de un certificado importado o de AWS Private Certificate Authority
<a name="rest-api-mutual-tls-non-acm-certs"></a>

Para utilizar un certificado importado en ACM o un certificado de AWS Private Certificate Authority con TLS mutua, API Gateway necesita un `ownershipVerificationCertificate` emitido por ACM. Este certificado de propiedad solo se utiliza para comprobar que dispone de permisos para utilizar el nombre de dominio. No se utiliza en el protocolo de enlace TLS. Si todavía no tiene un `ownershipVerificationCertificate`, vaya a [https://console.aws.amazon.com/acm/](https://console.aws.amazon.com/acm/) para configurarlo.

Este certificado deberá mantener su validez durante toda la vida útil del nombre de dominio. Si un certificado caduca y falla la renovación automática, se bloquearán todas las actualizaciones del nombre de dominio. Tendrá que actualizar el `ownershipVerificationCertificateArn` con un `ownershipVerificationCertificate` válido para poder realizar otros cambios. El `ownershipVerificationCertificate` no se puede utilizar como certificado de servidor para otro dominio de TLS mutua en API Gateway. Si un certificado se vuelve a importar directamente en ACM, el emisor debe ser el mismo.

### Configuración del almacén de confianza
<a name="rest-api-mutual-tls-create-trust-store"></a>

Los almacenes de confianza son archivos de texto cuya extensión es `.pem`. Son una lista de certificados de confianza procedentes de entidades de certificación. Para utilizar la TLS mutua, cree un almacén de confianza de certificados X.509 en los que confíe para acceder a su API.

En el almacén de confianza debe incluir la cadena de confianza completa, desde el certificado de entidad de certificación emisora hasta el certificado de entidad de certificación raíz. API Gateway acepta certificados de cliente emitidos por cualquier entidad de certificación presente en la cadena de confianza. Los certificados pueden ser de autoridades de certificación públicas o privadas. Los certificados pueden tener una longitud máxima de cadena de cuatro. También puede proporcionar certificados autofirmados. Se admiten los siguientes algoritmos en el almacén de confianza:
+ SHA-256 o más seguro
+ RSA-2048 o más seguro
+ ECDSA-256 o ECDSA-384

API Gateway valida una serie de propiedades de certificado. Puede utilizar autorizadores de Lambda para realizar comprobaciones adicionales cuando un cliente invoque una API, tales como verificar si se ha revocado un certificado. API Gateway valida las siguientes propiedades:


| Validación | Descripción | 
| --- | --- | 
|  Sintaxis X.509  |  El certificado debe cumplir los requisitos de sintaxis X.509.  | 
|  Integridad  |  El contenido del certificado no debe haberse alterado con respecto al firmado por la entidad de certificación del almacén de confianza.  | 
|  Validez  |  El período de validez del certificado debe ser actual.  | 
|  Encadenamiento de nombres/encadenamiento de claves  |  Los nombres y asuntos de los certificados deben formar una cadena ininterrumpida. Los certificados pueden tener una longitud máxima de cadena de cuatro.  | 

### Carga del almacén de confianza a un bucket de Amazon S3 en un solo archivo
<a name="w2aac15c20b7c11c13"></a>

El siguiente es un ejemplo del aspecto que puede tener un archivo .pem.

**Example certificates.pem**  

```
-----BEGIN CERTIFICATE-----
<Certificate contents>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<Certificate contents>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<Certificate contents>
-----END CERTIFICATE-----
...
```

El siguiente comando [cp](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) de la AWS CLI permite cargar `certificates.pem` en el bucket de Amazon S3.

```
aws s3 cp certificates.pem s3://bucket-name
```

## Configuración de la TLS mutua para un nombre de dominio personalizado
<a name="rest-api-mutual-tls-configure"></a>

Para configurar la TLS mutua para una API de REST, debe usar un nombre de dominio personalizado regional para la API, con una política de seguridad de `TLS_1_2`. Para obtener más información sobre cómo se elige una política de seguridad, consulte [Elección de una política de seguridad para el dominio personalizado en API Gateway](apigateway-custom-domain-tls-version.md).

**nota**  
La TLS mutua no es compatible con las API privadas.

Después de cargar su almacén de confianza en Amazon S3, puede configurar su nombre de dominio personalizado para que utilice TLS mutua. El siguiente comando [create-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-domain-name.html) permite crear un nombre de dominio personalizado con TLS mutua:

```
aws apigateway create-domain-name --region us-east-2 \
    --domain-name api.example.com \
    --regional-certificate-arn arn:aws:acm:us-east-2:123456789012:certificate/123456789012-1234-1234-1234-12345678 \
    --endpoint-configuration types=REGIONAL \
    --security-policy TLS_1_2 \
    --mutual-tls-authentication truststoreUri=s3://bucket-name/key-name
```

Después de crear el nombre de dominio, debe configurar los registros DNS y los mapeos de ruta base para las operaciones de la API. Para obtener más información, consulte [Configuración de un nombre de dominio personalizado regional en API Gateway](apigateway-regional-api-custom-domain-create.md).

## Invocar una API mediante un nombre de dominio personalizado que requiere la TLS mutua
<a name="rest-api-mutual-tls-invoke"></a>

Para invocar una API con la TLS mutua habilitada, los clientes deben presentar un certificado de confianza en la solicitud de la API. Cuando un cliente intenta invocar la API, API Gateway busca el emisor del certificado del cliente en el almacén de confianza. Para que API Gateway atienda la solicitud, en el almacén de confianza deben constar el emisor del certificado y la cadena de confianza completa hasta el certificado de entidad de certificación raíz.

El siguiente ejemplo de comando `curl` envía una solicitud a `api.example.com,` que incluye `my-cert.pem` en la solicitud. `my-key.key` es la clave privada del certificado.

```
curl -v --key ./my-key.key --cert ./my-cert.pem api.example.com
```

Su API solo se invoca si su almacén de confianza confía en el certificado. Las siguientes condiciones provocarán que API Gateway no pueda completar el protocolo de enlace TLS y deniegue la solicitud con un código de estado `403`. Si el certificado:
+ no es de confianza
+ ha caducado
+ no utiliza un algoritmo compatible

**nota**  
API Gateway no comprueba si se ha revocado un certificado.

## Actualización de su almacén de confianza
<a name="rest-api-mutual-tls-update-truststore"></a>

Para actualizar los certificados del almacén de confianza, cargue un nuevo paquete de certificados en Amazon S3. Después, puede actualizar el nombre de dominio personalizado para que utilice el certificado actualizado.

Utilice el [control de versiones de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html) para mantener varias versiones de su almacén de confianza. Cuando actualiza el nombre de dominio personalizado para utilizar una nueva versión del almacén de confianza, API Gateway devuelve advertencias si los certificados no son válidos.

API Gateway produce advertencias de certificado solo cuando actualiza el nombre de dominio. API Gateway no le notifica si caduca un certificado cargado anteriormente.

El siguiente comando [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) permite actualizar un nombre de dominio personalizado para utilizar una nueva versión del almacén de confianza.

```
aws apigateway update-domain-name \
    --domain-name api.example.com \
    --patch-operations op='replace',path='/mutualTlsAuthentication/truststoreVersion',value='abcdef123'
```

## Deshabilitar la TLS mutua
<a name="rest-api-mutual-tls-disable"></a>

El siguiente comando [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) permite deshabilitar la TLS mutua:

```
aws apigateway update-domain-name \
    --domain-name api.example.com \
    --patch-operations op='replace',path='/mutualTlsAuthentication/truststoreUri',value=''
```

## Solución de problemas de TLS mutuo para su API de REST
<a name="rest-api-mutual-tls-troubleshooting"></a>

A continuación se proporcionan consejos para solucionar errores y problemas que puedan surgir al activar TLS mutuo.

### Solución de problemas de advertencias de certificados
<a name="rest-api-mutual-tls-troubleshooting-certificate"></a>

 Cuando se crea un nombre de dominio personalizado con TLS mutua, API Gateway devuelve advertencias si los certificados del almacén de confianza no son válidos. Esto también puede ocurrir cuando se actualiza un nombre de dominio personalizado para que utilice un nuevo almacén de confianza. Las advertencias indican el problema con el certificado y el asunto del certificado que produjo la advertencia. La TLS mutua aún está habilitada en la API, pero es posible que algunos clientes no puedan acceder a su API.

Debe descodificar los certificados del almacén de confianza para identificar cuál de ellos ha producido la advertencia. Puede utilizar herramientas como `openssl` para descodificar los certificados e identificar sus asuntos.

El siguiente comando muestra el contenido de un certificado, incluido su asunto:

```
openssl x509 -in certificate.crt -text -noout
```

Actualice o elimine los certificados que produjeron advertencias y, a continuación, cargue un nuevo almacén de confianza en Amazon S3. Después de cargar el nuevo almacén de confianza, actualice el nombre de dominio personalizado para que utilice ese nuevo almacén de confianza.

### Solución de problemas por conflictos de nombres de dominio
<a name="w2aac15c20b7c21b7"></a>

El error `"The certificate subject <certSubject> conflicts with an existing certificate from a different issuer."` significa que varias entidades de certificación han emitido un certificado para este dominio. Para cada asunto del certificado, solo puede haber un emisor en API Gateway para dominios de TLS mutua. Tendrá que obtener todos los certificados para ese asunto a través de un solo emisor. Si el problema se debe a un certificado que no está bajo su control pero puede demostrar la propiedad del nombre de dominio, [contacte con Soporte](https://console.aws.amazon.com/support/cases#/create) para abrir un ticket.

### Solución de problemas por mensajes de estado de nombres de dominio
<a name="w2aac15c20b7c21b9"></a>

`PENDING_CERTIFICATE_REIMPORT`: esto significa que ha vuelto a importar un certificado en ACM y ha fallado la validación porque el nuevo certificado tiene un SAN (nombre alternativo de sujeto) que no está cubierto por el `ownershipVerificationCertificate`, o bien porque el asunto o los SAN del certificado no cubren el nombre de dominio. Es posible que haya algo que esté configurado incorrectamente o que se haya importado un certificado no válido. Debe volver a importar un certificado válido en ACM. Para obtener más información sobre la validación, consulte [Validación de la propiedad de dominios](https://docs.aws.amazon.com/acm/latest/userguide/domain-ownership-validation.html).

`PENDING_OWNERSHIP_VERIFICATION`: esto significa que el certificado verificado previamente ha caducado y ACM no lo ha podido renovar automáticamente. Tendrá que renovar el certificado o solicitar otro nuevo. Dispone de más información sobre la renovación de certificados en la guía [Solución de problemas de renovación de certificados administrados de ACM](https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-renewal.html).

### Resolución del problema de certificado devuelto incorrecto
<a name="w2aac15c20b7c21c11"></a>

Al migrar un certificado dedicado de un nombre de dominio completo (FQDN) a un nombre de dominio de cliente comodín, API Gateway puede devolver el certificado del FQDN en lugar del nombre de dominio comodín.

El siguiente comando muestra qué certificado devuelve API Gateway:

```
openssl s_client -connect hostname:port
```

Si el certificado resultante es para el FQDN, [póngase en contacto con Soporte](https://console.aws.amazon.com/support/cases#/create) para abrir un ticket.

# Generación y configuración de un certificado SSL para la autenticación de backend en API Gateway
<a name="getting-started-client-side-ssl-authentication"></a>

 Puede utilizar API Gateway para generar un certificado SSL y usar su clave pública en el backend para verificar que las solicitudes HTTP a su sistema backend proceden de API Gateway. Esto permite que el backend HTTP controle y acepte únicamente las solicitudes procedentes de Amazon API Gateway, incluso si el backend está disponible públicamente. 

**nota**  
 Puesto que algunos servidores backend no son compatibles con la autenticación SSL de los clientes de la manera en que lo es API Gateway, podrían devolver un error de certificado SSL. Para obtener una lista de servidores del backend incompatibles, consulte [Notas importantes de Amazon API Gateway](api-gateway-known-issues.md). 

 Los certificados SSL generados por API Gateway son autofirmados y solo la clave pública de un certificado está visible en la consola de API Gateway o a través de las API. 

**Topics**
+ [Generar un certificado cliente mediante la consola de API Gateway](#generate-client-certificate)
+ [Configurar una API para que use certificados SSL](#configure-api)
+ [Test Invoke para verificar la configuración del certificado cliente](#test-invoke)
+ [Configuración del servidor HTTPS backend para verificar el certificado cliente](#certificate-validation)
+ [Rotar un certificado cliente que va a caducar](#certificate-rotation)
+ [Entidades de certificación compatibles con API Gateway para las integraciones HTTP y Proxy HTTP en API Gateway](api-gateway-supported-certificate-authorities-for-http-endpoints.md)

## Generar un certificado cliente mediante la consola de API Gateway
<a name="generate-client-certificate"></a>

1. Abra la consola de Amazon API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway/). 

1. Elija una API de Rest o de WebSocket.

1. En el panel de navegación principal, elija **Certificados de cliente**.

1. En el panel **Certificados de cliente**, elija **Generar certificado**.

1.  (Opcional) En **Description (Descripción)**, introduzca una descripción. 

1. Elija **Generar certificado** para generar el certificado. API Gateway genera un certificado nuevo y devuelve el GUID del nuevo certificado junto con la clave pública codificada en PEM. 

Ahora está listo para configurar una API para que utilice el certificado.

## Configurar una API para que use certificados SSL
<a name="configure-api"></a>

En estas instrucciones, se presupone que usted ya ha completado [Generar un certificado cliente mediante la consola de API Gateway](#generate-client-certificate).

1.  En la consola de API Gateway, cree o abra una API de REST o de WebSocket para la que desee utilizar el certificado de cliente. Asegúrese de que la API se ha implementado en una etapa. 

1. En el panel de navegación principal, elija **Etapas**.

1. En la sección **Detalles de la etapa**, elija **Editar**.

1. En el **Certificado de cliente**, seleccione un certificado.

1. Seleccione **Save changes (Guardar cambios)**.

Una vez seleccionado y guardado un certificado para la API, API Gateway utilizará el certificado para todas las llamadas a las integraciones HTTP de la API. 

## Test Invoke para verificar la configuración del certificado cliente
<a name="test-invoke"></a>

1. Elija un método de la API de REST. Elija la pestaña **Prueba**. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña **Pruebas**.

1. En el **Certificado de cliente**, seleccione un certificado. 

1. Seleccione **Probar** 

 API Gateway presentará el certificado SSL elegido al backend HTTP para autenticar la API. 

## Configuración del servidor HTTPS backend para verificar el certificado cliente
<a name="certificate-validation"></a>

En estas instrucciones, se presupone que ya ha completado [Generar un certificado cliente mediante la consola de API Gateway](#generate-client-certificate) y ha descargado una copia del certificado cliente. Puede descargar un certificado de cliente mediante una llamada a [https://docs.aws.amazon.com/apigateway/latest/api/API_GetClientCertificate.html](https://docs.aws.amazon.com/apigateway/latest/api/API_GetClientCertificate.html) de la API REST de API Gateway o a [https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-client-certificate.html](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-client-certificate.html) de la AWS CLI. 

 Antes de configurar un servidor HTTPS backend para verificar el certificado SSL cliente de API Gateway, debe haber obtenido la clave privada codificada en PEM y un certificado de servidor proporcionado por una entidad de certificación de confianza. 

Si el nombre de dominio del servidor es `myserver.mydomain.com`, el valor de CNAME del certificado del servidor debe ser `myserver.mydomain.com` o `*.mydomain.com`. 

Las entidades de certificación admitidas incluyen [Let's Encrypt](https://letsencrypt.org/) o alguna de las [Entidades de certificación compatibles con API Gateway para las integraciones HTTP y Proxy HTTP en API Gateway](api-gateway-supported-certificate-authorities-for-http-endpoints.md). 

Como ejemplo, supongamos que el archivo de certificado de cliente es `apig-cert.pem` y los archivos de clave privada del servidor y certificado son `server-key.pem` y `server-cert.pem`, respectivamente. Para un servidor Node.js en el backend, puede configurar el servidor de manera similar a la siguiente:

```
var fs = require('fs'); 
var https = require('https');
var options = { 
    key: fs.readFileSync('server-key.pem'), 
    cert: fs.readFileSync('server-cert.pem'), 
    ca: fs.readFileSync('apig-cert.pem'), 
    requestCert: true, 
    rejectUnauthorized: true
};
https.createServer(options, function (req, res) { 
    res.writeHead(200); 
    res.end("hello world\n"); 
}).listen(443);
```



Para una aplicación node-[express](http://expressjs.com/), puede usar los módulos [client-certificate-auth](https://www.npmjs.com/package/client-certificate-auth) para autenticar las solicitudes cliente con certificados codificados en PEM. 

Para el resto de servidores HTTPS, consulte la documentación del servidor.

## Rotar un certificado cliente que va a caducar
<a name="certificate-rotation"></a>

El certificado cliente generado por API Gateway es válido durante 365 días. Debe rotar el certificado antes de que caduque un certificado cliente en una etapa de API para evitar tiempos de inactividad de la API.

### Rotación de un certificado cliente que va a caducar mediante la Consola de administración de AWS
<a name="certification-rotation-console"></a>

El siguiente procedimiento muestra cómo rotar un certificado de cliente en la consola para una API implementada anteriormente.

1. En el panel de navegación principal, elija **Certificados de cliente**.

1. En el panel **Certificados de cliente**, elija **Generar certificado**.

1.  Abra la API para la que desee utilizar el certificado cliente. 

1. Elija **Stages (Etapas)** en la API seleccionada y, a continuación, elija una etapa.

1. En la sección **Detalles de la etapa**, elija **Editar**.

1. En **Certificado de cliente**, seleccione el nuevo certificado.

1. Para guardar la configuración, elija **Guardar cambios**.

### Rotación de un certificado de cliente que va a caducar mediante la AWS CLI
<a name="certificate-rotation-cli"></a>

 Puede verificar la fecha de vencimiento del certificado mediante una llamada a [clientCertificate:by-id](https://docs.aws.amazon.com/apigateway/latest/api/API_GetClientCertificate.html) de la API de REST de API Gateway o al comando AWS CLI de [get-client-certificate](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-client-certificate.html) y mediante la inspección de la propiedad [expirationDate](https://docs.aws.amazon.com/apigateway/latest/api/API_ClientCertificate.html#expirationDate) devuelta.

Para rotar un certificado de cliente, haga lo siguiente:

1. Genere un nuevo certificado de cliente mediante una llamada a [clientcertificate:generate](https://docs.aws.amazon.com/apigateway/latest/api/API_GenerateClientCertificate.html) de la API REST de API Gateway o al comando de la AWS CLI [generate-client-certificate](https://docs.aws.amazon.com/cli/latest/reference/apigateway/generate-client-certificate.html). En este tutorial, suponemos que el nuevo ID del certificado cliente es `ndiqef`.

1.  Actualice el servidor backend para incluir el nuevo certificado cliente. No elimine el certificado cliente existente todavía.

   Algunos servidores pueden requerir reiniciar para finalizar la actualización. Consulte la documentación del servidor para saber si debe reiniciar el servidor durante la actualización.

1.  Actualice la etapa de la API de forma que utilice el nuevo certificado cliente llamando a [stage:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateStage.html) de la API REST de API Gateway, con el nuevo ID de certificado cliente (`ndiqef`):

   ```
   PATCH /restapis/{restapi-id}/stages/stage1 HTTP/1.1
   Content-Type: application/json
   Host: apigateway.us-east-1.amazonaws.com
   X-Amz-Date: 20170603T200400Z
   Authorization: AWS4-HMAC-SHA256 Credential=...
   
   {
     "patchOperations" : [
       {
           "op" : "replace",
           "path" : "/clientCertificateId",
           "value" : "ndiqef"
       }
     ]
   }
   ```

   También puede usar el comando [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html).

   Si está utilizando una API de WebSocket, use el comando [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/update-stage.html) de `apigatewayv2`.

1.  Actualice el servidor backend para eliminar el certificado antiguo.

1.  Elimine el certificado antiguo de API Gateway llamando al comando [clientcerfiticate:delete](https://docs.aws.amazon.com/apigateway/latest/api/API_DeleteClientCertificate.html) de la API REST de API Gateway y especificando el clientCertificateId (`a1b2c3`) del certificado antiguo:

   ```
   DELETE /clientcertificates/a1b2c3 
   ```

   También puede llamar al comando [delete-client-certificate](https://docs.aws.amazon.com/cli/latest/reference/apigateway/delete-client-certificate.html):

   ```
   aws apigateway delete-client-certificate --client-certificate-id a1b2c3
   ```

# Entidades de certificación compatibles con API Gateway para las integraciones HTTP y Proxy HTTP en API Gateway
<a name="api-gateway-supported-certificate-authorities-for-http-endpoints"></a>

 En la siguiente lista se incluyen las entidades de certificación que admite API Gateway para las integraciones HTTP, proxy HTTP y privadas. 

```
Alias name: accvraiz1
	 SHA1: 93:05:7A:88:15:C6:4F:CE:88:2F:FA:91:16:52:28:78:BC:53:64:17
	 SHA256: 9A:6E:C0:12:E1:A7:DA:9D:BE:34:19:4D:47:8A:D7:C0:DB:18:22:FB:07:1D:F1:29:81:49:6E:D1:04:38:41:13
Alias name: acraizfnmtrcm
	 SHA1: EC:50:35:07:B2:15:C4:95:62:19:E2:A8:9A:5B:42:99:2C:4C:2C:20
	 SHA256: EB:C5:57:0C:29:01:8C:4D:67:B1:AA:12:7B:AF:12:F7:03:B4:61:1E:BC:17:B7:DA:B5:57:38:94:17:9B:93:FA
Alias name: actalis
	 SHA1: F3:73:B3:87:06:5A:28:84:8A:F2:F3:4A:CE:19:2B:DD:C7:8E:9C:AC
	 SHA256: 55:92:60:84:EC:96:3A:64:B9:6E:2A:BE:01:CE:0B:A8:6A:64:FB:FE:BC:C7:AA:B5:AF:C1:55:B3:7F:D7:60:66
Alias name: actalisauthenticationrootca
	 SHA1: F3:73:B3:87:06:5A:28:84:8A:F2:F3:4A:CE:19:2B:DD:C7:8E:9C:AC
	 SHA256: 55:92:60:84:EC:96:3A:64:B9:6E:2A:BE:01:CE:0B:A8:6A:64:FB:FE:BC:C7:AA:B5:AF:C1:55:B3:7F:D7:60:66
Alias name: addtrustclass1ca
	 SHA1: CC:AB:0E:A0:4C:23:01:D6:69:7B:DD:37:9F:CD:12:EB:24:E3:94:9D
	 SHA256: 8C:72:09:27:9A:C0:4E:27:5E:16:D0:7F:D3:B7:75:E8:01:54:B5:96:80:46:E3:1F:52:DD:25:76:63:24:E9:A7
Alias name: addtrustexternalca
	 SHA1: 02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68
	 SHA256: 68:7F:A4:51:38:22:78:FF:F0:C8:B1:1F:8D:43:D5:76:67:1C:6E:B2:BC:EA:B4:13:FB:83:D9:65:D0:6D:2F:F2
Alias name: addtrustqualifiedca
	 SHA1: 4D:23:78:EC:91:95:39:B5:00:7F:75:8F:03:3B:21:1E:C5:4D:8B:CF
	 SHA256: 80:95:21:08:05:DB:4B:BC:35:5E:44:28:D8:FD:6E:C2:CD:E3:AB:5F:B9:7A:99:42:98:8E:B8:F4:DC:D0:60:16
Alias name: affirmtrustcommercial
	 SHA1: F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7
	 SHA256: 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7
Alias name: affirmtrustcommercialca
	 SHA1: F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7
	 SHA256: 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7
Alias name: affirmtrustnetworking
	 SHA1: 29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F
	 SHA256: 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0:B4:1B
Alias name: affirmtrustnetworkingca
	 SHA1: 29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F
	 SHA256: 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0:B4:1B
Alias name: affirmtrustpremium
	 SHA1: D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27
	 SHA256: 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A
Alias name: affirmtrustpremiumca
	 SHA1: D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27
	 SHA256: 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A
Alias name: affirmtrustpremiumecc
	 SHA1: B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB
	 SHA256: BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23
Alias name: affirmtrustpremiumeccca
	 SHA1: B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB
	 SHA256: BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23
Alias name: amazon-ca-g4-acm1
	 SHA1: F2:0D:28:B6:29:C2:2C:5E:84:05:E6:02:4D:97:FE:8F:A0:84:93:A0
	 SHA256: B0:11:A4:F7:29:6C:74:D8:2B:F5:62:DF:87:D7:28:C7:1F:B5:8C:F4:E6:73:F2:78:FC:DA:F3:FF:83:A6:8C:87
Alias name: amazon-ca-g4-acm2
	 SHA1: A7:E6:45:32:1F:7A:B7:AD:C0:70:EA:73:5F:AB:ED:C3:DA:B4:D0:C8
	 SHA256: D7:A8:7C:69:95:D0:E2:04:2A:32:70:A7:E2:87:FE:A7:E8:F4:C1:70:62:F7:90:C3:EB:BB:53:F2:AC:39:26:BE
Alias name: amazon-ca-g4-acm3
	 SHA1: 7A:DB:56:57:5F:D6:EE:67:85:0A:64:BB:1C:E9:E4:B0:9A:DB:9D:07
	 SHA256: 6B:EB:9D:20:2E:C2:00:70:BD:D2:5E:D3:C0:C8:33:2C:B4:78:07:C5:82:94:4E:7E:23:28:22:71:A4:8E:0E:C2
Alias name: amazon-ca-g4-legacy
	 SHA1: EA:E7:DE:F9:0A:BE:9F:0B:68:CE:B7:24:0D:80:74:03:BF:6E:B1:6E
	 SHA256: CD:72:C4:7F:B4:AD:28:A4:67:2B:E1:86:47:D4:40:E9:3B:16:2D:95:DB:3C:2F:94:BB:81:D9:09:F7:91:24:5E
Alias name: amazon-root-ca-ecc-384-1
	 SHA1: F9:5E:4A:AB:9C:2D:57:61:63:3D:B2:57:B4:0F:24:9E:7B:E2:23:7D
	 SHA256: C6:BD:E5:66:C2:72:2A:0E:96:E9:C1:2C:BF:38:92:D9:55:4D:29:03:57:30:72:40:7F:4E:70:17:3B:3C:9B:63
Alias name: amazon-root-ca-rsa-2k-1
	 SHA1: 8A:9A:AC:27:FC:86:D4:50:23:AD:D5:63:F9:1E:AE:2C:AF:63:08:6C
	 SHA256: 0F:8F:33:83:FB:70:02:89:49:24:E1:AA:B0:D7:FB:5A:BF:98:DF:75:8E:0F:FE:61:86:92:BC:F0:75:35:CC:80
Alias name: amazon-root-ca-rsa-4k-1
	 SHA1: EC:BD:09:61:F5:7A:B6:A8:76:BB:20:8F:14:05:ED:7E:70:ED:39:45
	 SHA256: 36:AE:AD:C2:6A:60:07:90:6B:83:A3:73:2D:D1:2B:D4:00:5E:C7:F2:76:11:99:A9:D4:DA:63:2F:59:B2:8B:CF
Alias name: amazon1
	 SHA1: 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16
	 SHA256: 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E
Alias name: amazon2
	 SHA1: 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A
	 SHA256: 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4
Alias name: amazon3
	 SHA1: 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E
	 SHA256: 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4
Alias name: amazon4
	 SHA1: F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE
	 SHA256: E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92
Alias name: amazonrootca1
	 SHA1: 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16
	 SHA256: 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E
Alias name: amazonrootca2
	 SHA1: 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A
	 SHA256: 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4
Alias name: amazonrootca3
	 SHA1: 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E
	 SHA256: 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4
Alias name: amazonrootca4
	 SHA1: F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE
	 SHA256: E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92
Alias name: amzninternalinfoseccag3
	 SHA1: B9:B1:CA:38:F7:BF:9C:D2:D4:95:E7:B6:5E:75:32:9B:A8:78:2E:F6
	 SHA256: 81:03:0B:C7:E2:54:DA:7B:F8:B7:45:DB:DD:41:15:89:B5:A3:81:86:FB:4B:29:77:1F:84:0A:18:D9:67:6D:68
Alias name: amzninternalrootca
	 SHA1: A7:B7:F6:15:8A:FF:1E:C8:85:13:38:BC:93:EB:A2:AB:A4:09:EF:06
	 SHA256: 0E:DE:63:C1:DC:7A:8E:11:F1:AB:BC:05:4F:59:EE:49:9D:62:9A:2F:DE:9C:A7:16:32:A2:64:29:3E:8B:66:AA
Alias name: aolrootca1
	 SHA1: 39:21:C1:15:C1:5D:0E:CA:5C:CB:5B:C4:F0:7D:21:D8:05:0B:56:6A
	 SHA256: 77:40:73:12:C6:3A:15:3D:5B:C0:0B:4E:51:75:9C:DF:DA:C2:37:DC:2A:33:B6:79:46:E9:8E:9B:FA:68:0A:E3
Alias name: aolrootca2
	 SHA1: 85:B5:FF:67:9B:0C:79:96:1F:C8:6E:44:22:00:46:13:DB:17:92:84
	 SHA256: 7D:3B:46:5A:60:14:E5:26:C0:AF:FC:EE:21:27:D2:31:17:27:AD:81:1C:26:84:2D:00:6A:F3:73:06:CC:80:BD
Alias name: atostrustedroot2011
	 SHA1: 2B:B1:F5:3E:55:0C:1D:C5:F1:D4:E6:B7:6A:46:4B:55:06:02:AC:21
	 SHA256: F3:56:BE:A2:44:B7:A9:1E:B3:5D:53:CA:9A:D7:86:4A:CE:01:8E:2D:35:D5:F8:F9:6D:DF:68:A6:F4:1A:A4:74
Alias name: autoridaddecertificacionfirmaprofesionalcifa62634068
	 SHA1: AE:C5:FB:3F:C8:E1:BF:C4:E5:4F:03:07:5A:9A:E8:00:B7:F7:B6:FA
	 SHA256: 04:04:80:28:BF:1F:28:64:D4:8F:9A:D4:D8:32:94:36:6A:82:88:56:55:3F:3B:14:30:3F:90:14:7F:5D:40:EF
Alias name: baltimorecodesigningca
	 SHA1: 30:46:D8:C8:88:FF:69:30:C3:4A:FC:CD:49:27:08:7C:60:56:7B:0D
	 SHA256: A9:15:45:DB:D2:E1:9C:4C:CD:F9:09:AA:71:90:0D:18:C7:35:1C:89:B3:15:F0:F1:3D:05:C1:3A:8F:FB:46:87
Alias name: baltimorecybertrustca
	 SHA1: D4:DE:20:D0:5E:66:FC:53:FE:1A:50:88:2C:78:DB:28:52:CA:E4:74
	 SHA256: 16:AF:57:A9:F6:76:B0:AB:12:60:95:AA:5E:BA:DE:F2:2A:B3:11:19:D6:44:AC:95:CD:4B:93:DB:F3:F2:6A:EB
Alias name: baltimorecybertrustroot
	 SHA1: D4:DE:20:D0:5E:66:FC:53:FE:1A:50:88:2C:78:DB:28:52:CA:E4:74
	 SHA256: 16:AF:57:A9:F6:76:B0:AB:12:60:95:AA:5E:BA:DE:F2:2A:B3:11:19:D6:44:AC:95:CD:4B:93:DB:F3:F2:6A:EB
Alias name: buypassclass2ca
	 SHA1: 49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99
	 SHA256: 9A:11:40:25:19:7C:5B:B9:5D:94:E6:3D:55:CD:43:79:08:47:B6:46:B2:3C:DF:11:AD:A4:A0:0E:FF:15:FB:48
Alias name: buypassclass2rootca
	 SHA1: 49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99
	 SHA256: 9A:11:40:25:19:7C:5B:B9:5D:94:E6:3D:55:CD:43:79:08:47:B6:46:B2:3C:DF:11:AD:A4:A0:0E:FF:15:FB:48
Alias name: buypassclass3ca
	 SHA1: DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57
	 SHA256: ED:F7:EB:BC:A2:7A:2A:38:4D:38:7B:7D:40:10:C6:66:E2:ED:B4:84:3E:4C:29:B4:AE:1D:5B:93:32:E6:B2:4D
Alias name: buypassclass3rootca
	 SHA1: DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57
	 SHA256: ED:F7:EB:BC:A2:7A:2A:38:4D:38:7B:7D:40:10:C6:66:E2:ED:B4:84:3E:4C:29:B4:AE:1D:5B:93:32:E6:B2:4D
Alias name: cadisigrootr2
	 SHA1: B5:61:EB:EA:A4:DE:E4:25:4B:69:1A:98:A5:57:47:C2:34:C7:D9:71
	 SHA256: E2:3D:4A:03:6D:7B:70:E9:F5:95:B1:42:20:79:D2:B9:1E:DF:BB:1F:B6:51:A0:63:3E:AA:8A:9D:C5:F8:07:03
Alias name: camerfirmachambersca
	 SHA1: 78:6A:74:AC:76:AB:14:7F:9C:6A:30:50:BA:9E:A8:7E:FE:9A:CE:3C
	 SHA256: 06:3E:4A:FA:C4:91:DF:D3:32:F3:08:9B:85:42:E9:46:17:D8:93:D7:FE:94:4E:10:A7:93:7E:E2:9D:96:93:C0
Alias name: camerfirmachamberscommerceca
	 SHA1: 6E:3A:55:A4:19:0C:19:5C:93:84:3C:C0:DB:72:2E:31:30:61:F0:B1
	 SHA256: 0C:25:8A:12:A5:67:4A:EF:25:F2:8B:A7:DC:FA:EC:EE:A3:48:E5:41:E6:F5:CC:4E:E6:3B:71:B3:61:60:6A:C3
Alias name: camerfirmachambersignca
	 SHA1: 4A:BD:EE:EC:95:0D:35:9C:89:AE:C7:52:A1:2C:5B:29:F6:D6:AA:0C
	 SHA256: 13:63:35:43:93:34:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BE:BA:CA
Alias name: certigna
	 SHA1: B1:2E:13:63:45:86:A4:6F:1A:B2:60:68:37:58:2D:C4:AC:FD:94:97
	 SHA256: E3:B6:A2:DB:2E:D7:CE:48:84:2F:7A:C5:32:41:C7:B7:1D:54:14:4B:FB:40:C1:1F:3F:1D:0B:42:F5:EE:A1:2D
Alias name: certignarootca
	 SHA1: 2D:0D:52:14:FF:9E:AD:99:24:01:74:20:47:6E:6C:85:27:27:F5:43
	 SHA256: D4:8D:3D:23:EE:DB:50:A4:59:E5:51:97:60:1C:27:77:4B:9D:7B:18:C9:4D:5A:05:95:11:A1:02:50:B9:31:68
Alias name: certplusclass2primaryca
	 SHA1: 74:20:74:41:72:9C:DD:92:EC:79:31:D8:23:10:8D:C2:81:92:E2:BB
	 SHA256: 0F:99:3C:8A:EF:97:BA:AF:56:87:14:0E:D5:9A:D1:82:1B:B4:AF:AC:F0:AA:9A:58:B5:D5:7A:33:8A:3A:FB:CB
Alias name: certplusclass3pprimaryca
	 SHA1: 21:6B:2A:29:E6:2A:00:CE:82:01:46:D8:24:41:41:B9:25:11:B2:79
	 SHA256: CC:C8:94:89:37:1B:AD:11:1C:90:61:9B:EA:24:0A:2E:6D:AD:D9:9F:9F:6E:1D:4D:41:E5:8E:D6:DE:3D:02:85
Alias name: certsignrootca
	 SHA1: FA:B7:EE:36:97:26:62:FB:2D:B0:2A:F6:BF:03:FD:E8:7C:4B:2F:9B
	 SHA256: EA:A9:62:C4:FA:4A:6B:AF:EB:E4:15:19:6D:35:1C:CD:88:8D:4F:53:F3:FA:8A:E6:D7:C4:66:A9:4E:60:42:BB
Alias name: certsignrootcag2
	 SHA1: 26:F9:93:B4:ED:3D:28:27:B0:B9:4B:A7:E9:15:1D:A3:8D:92:E5:32
	 SHA256: 65:7C:FE:2F:A7:3F:AA:38:46:25:71:F3:32:A2:36:3A:46:FC:E7:02:09:51:71:07:02:CD:FB:B6:EE:DA:33:05
Alias name: certum2
	 SHA1: D3:DD:48:3E:2B:BF:4C:05:E8:AF:10:F5:FA:76:26:CF:D3:DC:30:92
	 SHA256: B6:76:F2:ED:DA:E8:77:5C:D3:6C:B0:F6:3C:D1:D4:60:39:61:F4:9E:62:65:BA:01:3A:2F:03:07:B6:D0:B8:04
Alias name: certumca
	 SHA1: 62:52:DC:40:F7:11:43:A2:2F:DE:9E:F7:34:8E:06:42:51:B1:81:18
	 SHA256: D8:E0:FE:BC:1D:B2:E3:8D:00:94:0F:37:D2:7D:41:34:4D:99:3E:73:4B:99:D5:65:6D:97:78:D4:D8:14:36:24
Alias name: certumtrustednetworkca
	 SHA1: 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E
	 SHA256: 5C:58:46:8D:55:F5:8E:49:7E:74:39:82:D2:B5:00:10:B6:D1:65:37:4A:CF:83:A7:D4:A3:2D:B7:68:C4:40:8E
Alias name: certumtrustednetworkca2
	 SHA1: D3:DD:48:3E:2B:BF:4C:05:E8:AF:10:F5:FA:76:26:CF:D3:DC:30:92
	 SHA256: B6:76:F2:ED:DA:E8:77:5C:D3:6C:B0:F6:3C:D1:D4:60:39:61:F4:9E:62:65:BA:01:3A:2F:03:07:B6:D0:B8:04
Alias name: cfcaevroot
	 SHA1: E2:B8:29:4B:55:84:AB:6B:58:C2:90:46:6C:AC:3F:B8:39:8F:84:83
	 SHA256: 5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD
Alias name: chambersofcommerceroot2008
	 SHA1: 78:6A:74:AC:76:AB:14:7F:9C:6A:30:50:BA:9E:A8:7E:FE:9A:CE:3C
	 SHA256: 06:3E:4A:FA:C4:91:DF:D3:32:F3:08:9B:85:42:E9:46:17:D8:93:D7:FE:94:4E:10:A7:93:7E:E2:9D:96:93:C0
Alias name: chunghwaepkirootca
	 SHA1: 67:65:0D:F1:7E:8E:7E:5B:82:40:A4:F4:56:4B:CF:E2:3D:69:C6:F0
	 SHA256: C0:A6:F4:DC:63:A2:4B:FD:CF:54:EF:2A:6A:08:2A:0A:72:DE:35:80:3E:2F:F5:FF:52:7A:E5:D8:72:06:DF:D5
Alias name: cia-crt-g3-01-ca
	 SHA1: 2B:EE:2C:BA:A3:1D:B5:FE:60:40:41:95:08:ED:46:82:39:4D:ED:E2
	 SHA256: 20:48:AD:4C:EC:90:7F:FA:4A:15:D4:CE:45:E3:C8:E4:2C:EA:78:33:DC:C7:D3:40:48:FC:60:47:27:42:99:EC
Alias name: cia-crt-g3-02-ca
	 SHA1: 96:4A:BB:A7:BD:DA:FC:97:34:C0:0A:2D:F0:05:98:F7:E6:C6:6F:09
	 SHA256: 93:F1:72:FB:BA:43:31:5C:06:EE:0F:9F:04:89:B8:F6:88:BC:75:15:3C:BE:B4:80:AC:A7:14:3A:F6:FC:4A:C1
Alias name: comodo-ca
	 SHA1: AF:E5:D2:44:A8:D1:19:42:30:FF:47:9F:E2:F8:97:BB:CD:7A:8C:B4
	 SHA256: 52:F0:E1:C4:E5:8E:C6:29:29:1B:60:31:7F:07:46:71:B8:5D:7E:A8:0D:5B:07:27:34:63:53:4B:32:B4:02:34
Alias name: comodoaaaca
	 SHA1: D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
	 SHA256: D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
Alias name: comodoaaaservicesroot
	 SHA1: D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
	 SHA256: D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
Alias name: comodocertificationauthority
	 SHA1: 66:31:BF:9E:F7:4F:9E:B6:C9:D5:A6:0C:BA:6A:BE:D1:F7:BD:EF:7B
	 SHA256: 0C:2C:D6:3D:F7:80:6F:A3:99:ED:E8:09:11:6B:57:5B:F8:79:89:F0:65:18:F9:80:8C:86:05:03:17:8B:AF:66
Alias name: comodoecccertificationauthority
	 SHA1: 9F:74:4E:9F:2B:4D:BA:EC:0F:31:2C:50:B6:56:3B:8E:2D:93:C3:11
	 SHA256: 17:93:92:7A:06:14:54:97:89:AD:CE:2F:8F:34:F7:F0:B6:6D:0F:3A:E3:A3:B8:4D:21:EC:15:DB:BA:4F:AD:C7
Alias name: comodorsacertificationauthority
	 SHA1: AF:E5:D2:44:A8:D1:19:42:30:FF:47:9F:E2:F8:97:BB:CD:7A:8C:B4
	 SHA256: 52:F0:E1:C4:E5:8E:C6:29:29:1B:60:31:7F:07:46:71:B8:5D:7E:A8:0D:5B:07:27:34:63:53:4B:32:B4:02:34
Alias name: cybertrustglobalroot
	 SHA1: 5F:43:E5:B1:BF:F8:78:8C:AC:1C:C7:CA:4A:9A:C6:22:2B:CC:34:C6
	 SHA256: 96:0A:DF:00:63:E9:63:56:75:0C:29:65:DD:0A:08:67:DA:0B:9C:BD:6E:77:71:4A:EA:FB:23:49:AB:39:3D:A3
Alias name: deprecateditsecca
	 SHA1: 12:12:0B:03:0E:15:14:54:F4:DD:B3:F5:DE:13:6E:83:5A:29:72:9D
	 SHA256: 9A:59:DA:86:24:1A:FD:BA:A3:39:FA:9C:FD:21:6A:0B:06:69:4D:E3:7E:37:52:6B:BE:63:C8:BC:83:74:2E:CB
Alias name: deutschetelekomrootca2
	 SHA1: 85:A4:08:C0:9C:19:3E:5D:51:58:7D:CD:D6:13:30:FD:8C:DE:37:BF
	 SHA256: B6:19:1A:50:D0:C3:97:7F:7D:A9:9B:CD:AA:C8:6A:22:7D:AE:B9:67:9E:C7:0B:A3:B0:C9:D9:22:71:C1:70:D3
Alias name: digicertassuredidrootca
	 SHA1: 05:63:B8:63:0D:62:D7:5A:BB:C8:AB:1E:4B:DF:B5:A8:99:B2:4D:43
	 SHA256: 3E:90:99:B5:01:5E:8F:48:6C:00:BC:EA:9D:11:1E:E7:21:FA:BA:35:5A:89:BC:F1:DF:69:56:1E:3D:C6:32:5C
Alias name: digicertassuredidrootg2
	 SHA1: A1:4B:48:D9:43:EE:0A:0E:40:90:4F:3C:E0:A4:C0:91:93:51:5D:3F
	 SHA256: 7D:05:EB:B6:82:33:9F:8C:94:51:EE:09:4E:EB:FE:FA:79:53:A1:14:ED:B2:F4:49:49:45:2F:AB:7D:2F:C1:85
Alias name: digicertassuredidrootg3
	 SHA1: F5:17:A2:4F:9A:48:C6:C9:F8:A2:00:26:9F:DC:0F:48:2C:AB:30:89
	 SHA256: 7E:37:CB:8B:4C:47:09:0C:AB:36:55:1B:A6:F4:5D:B8:40:68:0F:BA:16:6A:95:2D:B1:00:71:7F:43:05:3F:C2
Alias name: digicertglobalrootca
	 SHA1: A8:98:5D:3A:65:E5:E5:C4:B2:D7:D6:6D:40:C6:DD:2F:B1:9C:54:36
	 SHA256: 43:48:A0:E9:44:4C:78:CB:26:5E:05:8D:5E:89:44:B4:D8:4F:96:62:BD:26:DB:25:7F:89:34:A4:43:C7:01:61
Alias name: digicertglobalrootg2
	 SHA1: DF:3C:24:F9:BF:D6:66:76:1B:26:80:73:FE:06:D1:CC:8D:4F:82:A4
	 SHA256: CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F
Alias name: digicertglobalrootg3
	 SHA1: 7E:04:DE:89:6A:3E:66:6D:00:E6:87:D3:3F:FA:D9:3B:E8:3D:34:9E
	 SHA256: 31:AD:66:48:F8:10:41:38:C7:38:F3:9E:A4:32:01:33:39:3E:3A:18:CC:02:29:6E:F9:7C:2A:C9:EF:67:31:D0
Alias name: digicerthighassuranceevrootca
	 SHA1: 5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25
	 SHA256: 74:31:E5:F4:C3:C1:CE:46:90:77:4F:0B:61:E0:54:40:88:3B:A9:A0:1E:D0:0B:A6:AB:D7:80:6E:D3:B1:18:CF
Alias name: digicerttrustedrootg4
	 SHA1: DD:FB:16:CD:49:31:C9:73:A2:03:7D:3F:C8:3A:4D:7D:77:5D:05:E4
	 SHA256: 55:2F:7B:DC:F1:A7:AF:9E:6C:E6:72:01:7F:4F:12:AB:F7:72:40:C7:8E:76:1A:C2:03:D1:D9:D2:0A:C8:99:88
Alias name: dstrootcax3
	 SHA1: DA:C9:02:4F:54:D8:F6:DF:94:93:5F:B1:73:26:38:CA:6A:D7:7C:13
	 SHA256: 06:87:26:03:31:A7:24:03:D9:09:F1:05:E6:9B:CF:0D:32:E1:BD:24:93:FF:C6:D9:20:6D:11:BC:D6:77:07:39
Alias name: dtrustrootclass3ca22009
	 SHA1: 58:E8:AB:B0:36:15:33:FB:80:F7:9B:1B:6D:29:D3:FF:8D:5F:00:F0
	 SHA256: 49:E7:A4:42:AC:F0:EA:62:87:05:00:54:B5:25:64:B6:50:E4:F4:9E:42:E3:48:D6:AA:38:E0:39:E9:57:B1:C1
Alias name: dtrustrootclass3ca2ev2009
	 SHA1: 96:C9:1B:0B:95:B4:10:98:42:FA:D0:D8:22:79:FE:60:FA:B9:16:83
	 SHA256: EE:C5:49:6B:98:8C:E9:86:25:B9:34:09:2E:EC:29:08:BE:D0:B0:F3:16:C2:D4:73:0C:84:EA:F1:F3:D3:48:81
Alias name: ecacc
	 SHA1: 28:90:3A:63:5B:52:80:FA:E6:77:4C:0B:6D:A7:D6:BA:A6:4A:F2:E8
	 SHA256: 88:49:7F:01:60:2F:31:54:24:6A:E2:8C:4D:5A:EF:10:F1:D8:7E:BB:76:62:6F:4A:E0:B7:F9:5B:A7:96:87:99
Alias name: emsigneccrootcac3
	 SHA1: B6:AF:43:C2:9B:81:53:7D:F6:EF:6B:C3:1F:1F:60:15:0C:EE:48:66
	 SHA256: BC:4D:80:9B:15:18:9D:78:DB:3E:1D:8C:F4:F9:72:6A:79:5D:A1:64:3C:A5:F1:35:8E:1D:DB:0E:DC:0D:7E:B3
Alias name: emsigneccrootcag3
	 SHA1: 30:43:FA:4F:F2:57:DC:A0:C3:80:EE:2E:58:EA:78:B2:3F:E6:BB:C1
	 SHA256: 86:A1:EC:BA:08:9C:4A:8D:3B:BE:27:34:C6:12:BA:34:1D:81:3E:04:3C:F9:E8:A8:62:CD:5C:57:A3:6B:BE:6B
Alias name: emsignrootcac1
	 SHA1: E7:2E:F1:DF:FC:B2:09:28:CF:5D:D4:D5:67:37:B1:51:CB:86:4F:01
	 SHA256: 12:56:09:AA:30:1D:A0:A2:49:B9:7A:82:39:CB:6A:34:21:6F:44:DC:AC:9F:39:54:B1:42:92:F2:E8:C8:60:8F
Alias name: emsignrootcag1
	 SHA1: 8A:C7:AD:8F:73:AC:4E:C1:B5:75:4D:A5:40:F4:FC:CF:7C:B5:8E:8C
	 SHA256: 40:F6:AF:03:46:A9:9A:A1:CD:1D:55:5A:4E:9C:CE:62:C7:F9:63:46:03:EE:40:66:15:83:3D:C8:C8:D0:03:67
Alias name: entrust2048ca
	 SHA1: 50:30:06:09:1D:97:D4:F5:AE:39:F7:CB:E7:92:7D:7D:65:2D:34:31
	 SHA256: 6D:C4:71:72:E0:1C:BC:B0:BF:62:58:0D:89:5F:E2:B8:AC:9A:D4:F8:73:80:1E:0C:10:B9:C8:37:D2:1E:B1:77
Alias name: entrustevca
	 SHA1: B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9
	 SHA256: 73:C1:76:43:4F:1B:C6:D5:AD:F4:5B:0E:76:E7:27:28:7C:8D:E5:76:16:C1:E6:E6:14:1A:2B:2C:BC:7D:8E:4C
Alias name: entrustnetpremium2048secureserverca
	 SHA1: 50:30:06:09:1D:97:D4:F5:AE:39:F7:CB:E7:92:7D:7D:65:2D:34:31
	 SHA256: 6D:C4:71:72:E0:1C:BC:B0:BF:62:58:0D:89:5F:E2:B8:AC:9A:D4:F8:73:80:1E:0C:10:B9:C8:37:D2:1E:B1:77
Alias name: entrustrootcag2
	 SHA1: 8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4
	 SHA256: 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39
Alias name: entrustrootcertificationauthority
	 SHA1: B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9
	 SHA256: 73:C1:76:43:4F:1B:C6:D5:AD:F4:5B:0E:76:E7:27:28:7C:8D:E5:76:16:C1:E6:E6:14:1A:2B:2C:BC:7D:8E:4C
Alias name: entrustrootcertificationauthorityec1
	 SHA1: 20:D8:06:40:DF:9B:25:F5:12:25:3A:11:EA:F7:59:8A:EB:14:B5:47
	 SHA256: 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5
Alias name: entrustrootcertificationauthorityg2
	 SHA1: 8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4
	 SHA256: 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39
Alias name: entrustrootcertificationauthorityg4
	 SHA1: 14:88:4E:86:26:37:B0:26:AF:59:62:5C:40:77:EC:35:29:BA:96:01
	 SHA256: DB:35:17:D1:F6:73:2A:2D:5A:B9:7C:53:3E:C7:07:79:EE:32:70:A6:2F:B4:AC:42:38:37:24:60:E6:F0:1E:88
Alias name: epkirootcertificationauthority
	 SHA1: 67:65:0D:F1:7E:8E:7E:5B:82:40:A4:F4:56:4B:CF:E2:3D:69:C6:F0
	 SHA256: C0:A6:F4:DC:63:A2:4B:FD:CF:54:EF:2A:6A:08:2A:0A:72:DE:35:80:3E:2F:F5:FF:52:7A:E5:D8:72:06:DF:D5
Alias name: equifaxsecureebusinessca1
	 SHA1: AE:E6:3D:70:E3:76:FB:C7:3A:EB:B0:A1:C1:D4:C4:7A:A7:40:B3:F4
	 SHA256: 2E:3A:2B:B5:11:25:05:83:6C:A8:96:8B:E2:CB:37:27:CE:9B:56:84:5C:6E:E9:8E:91:85:10:4A:FB:9A:F5:96
Alias name: equifaxsecureglobalebusinessca1
	 SHA1: 3A:74:CB:7A:47:DB:70:DE:89:1F:24:35:98:64:B8:2D:82:BD:1A:36
	 SHA256: 86:AB:5A:65:71:D3:32:9A:BC:D2:E4:E6:37:66:8B:A8:9C:73:1E:C2:93:B6:CB:A6:0F:71:63:40:A0:91:CE:AE
Alias name: eszignorootca2017
	 SHA1: 89:D4:83:03:4F:9E:9A:48:80:5F:72:37:D4:A9:A6:EF:CB:7C:1F:D1
	 SHA256: BE:B0:0B:30:83:9B:9B:C3:2C:32:E4:44:79:05:95:06:41:F2:64:21:B1:5E:D0:89:19:8B:51:8A:E2:EA:1B:99
Alias name: etugracertificationauthority
	 SHA1: 51:C6:E7:08:49:06:6E:F3:92:D4:5C:A0:0D:6D:A3:62:8F:C3:52:39
	 SHA256: B0:BF:D5:2B:B0:D7:D9:BD:92:BF:5D:4D:C1:3D:A2:55:C0:2C:54:2F:37:83:65:EA:89:39:11:F5:5E:55:F2:3C
Alias name: gd-class2-root.pem
	 SHA1: 27:96:BA:E6:3F:18:01:E2:77:26:1B:A0:D7:77:70:02:8F:20:EE:E4
	 SHA256: C3:84:6B:F2:4B:9E:93:CA:64:27:4C:0E:C6:7C:1E:CC:5E:02:4F:FC:AC:D2:D7:40:19:35:0E:81:FE:54:6A:E4
Alias name: gd_bundle-g2.pem
	 SHA1: 27:AC:93:69:FA:F2:52:07:BB:26:27:CE:FA:CC:BE:4E:F9:C3:19:B8
	 SHA256: 97:3A:41:27:6F:FD:01:E0:27:A2:AA:D4:9E:34:C3:78:46:D3:E9:76:FF:6A:62:0B:67:12:E3:38:32:04:1A:A6
Alias name: gdcatrustauthr5root
	 SHA1: 0F:36:38:5B:81:1A:25:C3:9B:31:4E:83:CA:E9:34:66:70:CC:74:B4
	 SHA256: BF:FF:8F:D0:44:33:48:7D:6A:8A:A6:0C:1A:29:76:7A:9F:C2:BB:B0:5E:42:0F:71:3A:13:B9:92:89:1D:38:93
Alias name: gdroot-g2.pem
	 SHA1: 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B
	 SHA256: 45:14:0B:32:47:EB:9C:C8:C5:B4:F0:D7:B5:30:91:F7:32:92:08:9E:6E:5A:63:E2:74:9D:D3:AC:A9:19:8E:DA
Alias name: geotrustglobalca
	 SHA1: DE:28:F4:A4:FF:E5:B9:2F:A3:C5:03:D1:A3:49:A7:F9:96:2A:82:12
	 SHA256: FF:85:6A:2D:25:1D:CD:88:D3:66:56:F4:50:12:67:98:CF:AB:AA:DE:40:79:9C:72:2D:E4:D2:B5:DB:36:A7:3A
Alias name: geotrustprimaryca
	 SHA1: 32:3C:11:8E:1B:F7:B8:B6:52:54:E2:E2:10:0D:D6:02:90:37:F0:96
	 SHA256: 37:D5:10:06:C5:12:EA:AB:62:64:21:F1:EC:8C:92:01:3F:C5:F8:2A:E9:8E:E5:33:EB:46:19:B8:DE:B4:D0:6C
Alias name: geotrustprimarycag2
	 SHA1: 8D:17:84:D5:37:F3:03:7D:EC:70:FE:57:8B:51:9A:99:E6:10:D7:B0
	 SHA256: 5E:DB:7A:C4:3B:82:A0:6A:87:61:E8:D7:BE:49:79:EB:F2:61:1F:7D:D7:9B:F9:1C:1C:6B:56:6A:21:9E:D7:66
Alias name: geotrustprimarycag3
	 SHA1: 03:9E:ED:B8:0B:E7:A0:3C:69:53:89:3B:20:D2:D9:32:3A:4C:2A:FD
	 SHA256: B4:78:B8:12:25:0D:F8:78:63:5C:2A:A7:EC:7D:15:5E:AA:62:5E:E8:29:16:E2:CD:29:43:61:88:6C:D1:FB:D4
Alias name: geotrustprimarycertificationauthority
	 SHA1: 32:3C:11:8E:1B:F7:B8:B6:52:54:E2:E2:10:0D:D6:02:90:37:F0:96
	 SHA256: 37:D5:10:06:C5:12:EA:AB:62:64:21:F1:EC:8C:92:01:3F:C5:F8:2A:E9:8E:E5:33:EB:46:19:B8:DE:B4:D0:6C
Alias name: geotrustprimarycertificationauthorityg2
	 SHA1: 8D:17:84:D5:37:F3:03:7D:EC:70:FE:57:8B:51:9A:99:E6:10:D7:B0
	 SHA256: 5E:DB:7A:C4:3B:82:A0:6A:87:61:E8:D7:BE:49:79:EB:F2:61:1F:7D:D7:9B:F9:1C:1C:6B:56:6A:21:9E:D7:66
Alias name: geotrustprimarycertificationauthorityg3
	 SHA1: 03:9E:ED:B8:0B:E7:A0:3C:69:53:89:3B:20:D2:D9:32:3A:4C:2A:FD
	 SHA256: B4:78:B8:12:25:0D:F8:78:63:5C:2A:A7:EC:7D:15:5E:AA:62:5E:E8:29:16:E2:CD:29:43:61:88:6C:D1:FB:D4
Alias name: geotrustuniversalca
	 SHA1: E6:21:F3:35:43:79:05:9A:4B:68:30:9D:8A:2F:74:22:15:87:EC:79
	 SHA256: A0:45:9B:9F:63:B2:25:59:F5:FA:5D:4C:6D:B3:F9:F7:2F:F1:93:42:03:35:78:F0:73:BF:1D:1B:46:CB:B9:12
Alias name: geotrustuniversalca2
	 SHA1: 37:9A:19:7B:41:85:45:35:0C:A6:03:69:F3:3C:2E:AF:47:4F:20:79
	 SHA256: A0:23:4F:3B:C8:52:7C:A5:62:8E:EC:81:AD:5D:69:89:5D:A5:68:0D:C9:1D:1C:B8:47:7F:33:F8:78:B9:5B:0B
Alias name: globalchambersignroot2008
	 SHA1: 4A:BD:EE:EC:95:0D:35:9C:89:AE:C7:52:A1:2C:5B:29:F6:D6:AA:0C
	 SHA256: 13:63:35:43:93:34:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BE:BA:CA
Alias name: globalsignca
	 SHA1: B1:BC:96:8B:D4:F4:9D:62:2A:A8:9A:81:F2:15:01:52:A4:1D:82:9C
	 SHA256: EB:D4:10:40:E4:BB:3E:C7:42:C9:E3:81:D3:1E:F2:A4:1A:48:B6:68:5C:96:E7:CE:F3:C1:DF:6C:D4:33:1C:99
Alias name: globalsigneccrootcar4
	 SHA1: 69:69:56:2E:40:80:F4:24:A1:E7:19:9F:14:BA:F3:EE:58:AB:6A:BB
	 SHA256: BE:C9:49:11:C2:95:56:76:DB:6C:0A:55:09:86:D7:6E:3B:A0:05:66:7C:44:2C:97:62:B4:FB:B7:73:DE:22:8C
Alias name: globalsigneccrootcar5
	 SHA1: 1F:24:C6:30:CD:A4:18:EF:20:69:FF:AD:4F:DD:5F:46:3A:1B:69:AA
	 SHA256: 17:9F:BC:14:8A:3D:D0:0F:D2:4E:A1:34:58:CC:43:BF:A7:F5:9C:81:82:D7:83:A5:13:F6:EB:EC:10:0C:89:24
Alias name: globalsignr2ca
	 SHA1: 75:E0:AB:B6:13:85:12:27:1C:04:F8:5F:DD:DE:38:E4:B7:24:2E:FE
	 SHA256: CA:42:DD:41:74:5F:D0:B8:1E:B9:02:36:2C:F9:D8:BF:71:9D:A1:BD:1B:1E:FC:94:6F:5B:4C:99:F4:2C:1B:9E
Alias name: globalsignr3ca
	 SHA1: D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD
	 SHA256: CB:B5:22:D7:B7:F1:27:AD:6A:01:13:86:5B:DF:1C:D4:10:2E:7D:07:59:AF:63:5A:7C:F4:72:0D:C9:63:C5:3B
Alias name: globalsignrootca
	 SHA1: B1:BC:96:8B:D4:F4:9D:62:2A:A8:9A:81:F2:15:01:52:A4:1D:82:9C
	 SHA256: EB:D4:10:40:E4:BB:3E:C7:42:C9:E3:81:D3:1E:F2:A4:1A:48:B6:68:5C:96:E7:CE:F3:C1:DF:6C:D4:33:1C:99
Alias name: globalsignrootcar2
	 SHA1: 75:E0:AB:B6:13:85:12:27:1C:04:F8:5F:DD:DE:38:E4:B7:24:2E:FE
	 SHA256: CA:42:DD:41:74:5F:D0:B8:1E:B9:02:36:2C:F9:D8:BF:71:9D:A1:BD:1B:1E:FC:94:6F:5B:4C:99:F4:2C:1B:9E
Alias name: globalsignrootcar3
	 SHA1: D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD
	 SHA256: CB:B5:22:D7:B7:F1:27:AD:6A:01:13:86:5B:DF:1C:D4:10:2E:7D:07:59:AF:63:5A:7C:F4:72:0D:C9:63:C5:3B
Alias name: globalsignrootcar6
	 SHA1: 80:94:64:0E:B5:A7:A1:CA:11:9C:1F:DD:D5:9F:81:02:63:A7:FB:D1
	 SHA256: 2C:AB:EA:FE:37:D0:6C:A2:2A:BA:73:91:C0:03:3D:25:98:29:52:C4:53:64:73:49:76:3A:3A:B5:AD:6C:CF:69
Alias name: godaddyclass2ca
	 SHA1: 27:96:BA:E6:3F:18:01:E2:77:26:1B:A0:D7:77:70:02:8F:20:EE:E4
	 SHA256: C3:84:6B:F2:4B:9E:93:CA:64:27:4C:0E:C6:7C:1E:CC:5E:02:4F:FC:AC:D2:D7:40:19:35:0E:81:FE:54:6A:E4
Alias name: godaddyrootcertificateauthorityg2
	 SHA1: 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B
	 SHA256: 45:14:0B:32:47:EB:9C:C8:C5:B4:F0:D7:B5:30:91:F7:32:92:08:9E:6E:5A:63:E2:74:9D:D3:AC:A9:19:8E:DA
Alias name: godaddyrootg2ca
	 SHA1: 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B
	 SHA256: 45:14:0B:32:47:EB:9C:C8:C5:B4:F0:D7:B5:30:91:F7:32:92:08:9E:6E:5A:63:E2:74:9D:D3:AC:A9:19:8E:DA
Alias name: gtsrootr1
	 SHA1: E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8
	 SHA256: 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72
Alias name: gtsrootr2
	 SHA1: D2:73:96:2A:2A:5E:39:9F:73:3F:E1:C7:1E:64:3F:03:38:34:FC:4D
	 SHA256: C4:5D:7B:B0:8E:6D:67:E6:2E:42:35:11:0B:56:4E:5F:78:FD:92:EF:05:8C:84:0A:EA:4E:64:55:D7:58:5C:60
Alias name: gtsrootr3
	 SHA1: 30:D4:24:6F:07:FF:DB:91:89:8A:0B:E9:49:66:11:EB:8C:5E:46:E5
	 SHA256: 15:D5:B8:77:46:19:EA:7D:54:CE:1C:A6:D0:B0:C4:03:E0:37:A9:17:F1:31:E8:A0:4E:1E:6B:7A:71:BA:BC:E5
Alias name: gtsrootr4
	 SHA1: 2A:1D:60:27:D9:4A:B1:0A:1C:4D:91:5C:CD:33:A0:CB:3E:2D:54:CB
	 SHA256: 71:CC:A5:39:1F:9E:79:4B:04:80:25:30:B3:63:E1:21:DA:8A:30:43:BB:26:66:2F:EA:4D:CA:7F:C9:51:A4:BD
Alias name: hellenicacademicandresearchinstitutionseccrootca2015
	 SHA1: 9F:F1:71:8D:92:D5:9A:F3:7D:74:97:B4:BC:6F:84:68:0B:BA:B6:66
	 SHA256: 44:B5:45:AA:8A:25:E6:5A:73:CA:15:DC:27:FC:36:D2:4C:1C:B9:95:3A:06:65:39:B1:15:82:DC:48:7B:48:33
Alias name: hellenicacademicandresearchinstitutionsrootca2011
	 SHA1: FE:45:65:9B:79:03:5B:98:A1:61:B5:51:2E:AC:DA:58:09:48:22:4D
	 SHA256: BC:10:4F:15:A4:8B:E7:09:DC:A5:42:A7:E1:D4:B9:DF:6F:05:45:27:E8:02:EA:A9:2D:59:54:44:25:8A:FE:71
Alias name: hellenicacademicandresearchinstitutionsrootca2015
	 SHA1: 01:0C:06:95:A6:98:19:14:FF:BF:5F:C6:B0:B6:95:EA:29:E9:12:A6
	 SHA256: A0:40:92:9A:02:CE:53:B4:AC:F4:F2:FF:C6:98:1C:E4:49:6F:75:5E:6D:45:FE:0B:2A:69:2B:CD:52:52:3F:36
Alias name: hongkongpostrootca1
	 SHA1: D6:DA:A8:20:8D:09:D2:15:4D:24:B5:2F:CB:34:6E:B2:58:B2:8A:58
	 SHA256: F9:E6:7D:33:6C:51:00:2A:C0:54:C6:32:02:2D:66:DD:A2:E7:E3:FF:F1:0A:D0:61:ED:31:D8:BB:B4:10:CF:B2
Alias name: hongkongpostrootca3
	 SHA1: 58:A2:D0:EC:20:52:81:5B:C1:F3:F8:64:02:24:4E:C2:8E:02:4B:02
	 SHA256: 5A:2F:C0:3F:0C:83:B0:90:BB:FA:40:60:4B:09:88:44:6C:76:36:18:3D:F9:84:6E:17:10:1A:44:7F:B8:EF:D6
Alias name: identrustcommercialrootca1
	 SHA1: DF:71:7E:AA:4A:D9:4E:C9:55:84:99:60:2D:48:DE:5F:BC:F0:3A:25
	 SHA256: 5D:56:49:9B:E4:D2:E0:8B:CF:CA:D0:8A:3E:38:72:3D:50:50:3B:DE:70:69:48:E4:2F:55:60:30:19:E5:28:AE
Alias name: identrustpublicsectorrootca1
	 SHA1: BA:29:41:60:77:98:3F:F4:F3:EF:F2:31:05:3B:2E:EA:6D:4D:45:FD
	 SHA256: 30:D0:89:5A:9A:44:8A:26:20:91:63:55:22:D1:F5:20:10:B5:86:7A:CA:E1:2C:78:EF:95:8F:D4:F4:38:9F:2F
Alias name: isrgrootx1
	 SHA1: CA:BD:2A:79:A1:07:6A:31:F2:1D:25:36:35:CB:03:9D:43:29:A5:E8
	 SHA256: 96:BC:EC:06:26:49:76:F3:74:60:77:9A:CF:28:C5:A7:CF:E8:A3:C0:AA:E1:1A:8F:FC:EE:05:C0:BD:DF:08:C6
Alias name: izenpecom
	 SHA1: 2F:78:3D:25:52:18:A7:4A:65:39:71:B5:2C:A2:9C:45:15:6F:E9:19
	 SHA256: 25:30:CC:8E:98:32:15:02:BA:D9:6F:9B:1F:BA:1B:09:9E:2D:29:9E:0F:45:48:BB:91:4F:36:3B:C0:D4:53:1F
Alias name: keynectisrootca
	 SHA1: 9C:61:5C:4D:4D:85:10:3A:53:26:C2:4D:BA:EA:E4:A2:D2:D5:CC:97
	 SHA256: 42:10:F1:99:49:9A:9A:C3:3C:8D:E0:2B:A6:DB:AA:14:40:8B:DD:8A:6E:32:46:89:C1:92:2D:06:97:15:A3:32
Alias name: microseceszignorootca2009
	 SHA1: 89:DF:74:FE:5C:F4:0F:4A:80:F9:E3:37:7D:54:DA:91:E1:01:31:8E
	 SHA256: 3C:5F:81:FE:A5:FA:B8:2C:64:BF:A2:EA:EC:AF:CD:E8:E0:77:FC:86:20:A7:CA:E5:37:16:3D:F3:6E:DB:F3:78
Alias name: mozillacert0.pem
	 SHA1: 97:81:79:50:D8:1C:96:70:CC:34:D8:09:CF:79:44:31:36:7E:F4:74
	 SHA256: A5:31:25:18:8D:21:10:AA:96:4B:02:C7:B7:C6:DA:32:03:17:08:94:E5:FB:71:FF:FB:66:67:D5:E6:81:0A:36
Alias name: mozillacert1.pem
	 SHA1: 23:E5:94:94:51:95:F2:41:48:03:B4:D5:64:D2:A3:A3:F5:D8:8B:8C
	 SHA256: B4:41:0B:73:E2:E6:EA:CA:47:FB:C4:2F:8F:A4:01:8A:F4:38:1D:C5:4C:FA:A8:44:50:46:1E:ED:09:45:4D:E9
Alias name: mozillacert10.pem
	 SHA1: 5F:3A:FC:0A:8B:64:F6:86:67:34:74:DF:7E:A9:A2:FE:F9:FA:7A:51
	 SHA256: 21:DB:20:12:36:60:BB:2E:D4:18:20:5D:A1:1E:E7:A8:5A:65:E2:BC:6E:55:B5:AF:7E:78:99:C8:A2:66:D9:2E
Alias name: mozillacert100.pem
	 SHA1: 58:E8:AB:B0:36:15:33:FB:80:F7:9B:1B:6D:29:D3:FF:8D:5F:00:F0
	 SHA256: 49:E7:A4:42:AC:F0:EA:62:87:05:00:54:B5:25:64:B6:50:E4:F4:9E:42:E3:48:D6:AA:38:E0:39:E9:57:B1:C1
Alias name: mozillacert101.pem
	 SHA1: 99:A6:9B:E6:1A:FE:88:6B:4D:2B:82:00:7C:B8:54:FC:31:7E:15:39
	 SHA256: 62:F2:40:27:8C:56:4C:4D:D8:BF:7D:9D:4F:6F:36:6E:A8:94:D2:2F:5F:34:D9:89:A9:83:AC:EC:2F:FF:ED:50
Alias name: mozillacert102.pem
	 SHA1: 96:C9:1B:0B:95:B4:10:98:42:FA:D0:D8:22:79:FE:60:FA:B9:16:83
	 SHA256: EE:C5:49:6B:98:8C:E9:86:25:B9:34:09:2E:EC:29:08:BE:D0:B0:F3:16:C2:D4:73:0C:84:EA:F1:F3:D3:48:81
Alias name: mozillacert103.pem
	 SHA1: 70:C1:8D:74:B4:28:81:0A:E4:FD:A5:75:D7:01:9F:99:B0:3D:50:74
	 SHA256: 3C:FC:3C:14:D1:F6:84:FF:17:E3:8C:43:CA:44:0C:00:B9:67:EC:93:3E:8B:FE:06:4C:A1:D7:2C:90:F2:AD:B0
Alias name: mozillacert104.pem
	 SHA1: 4F:99:AA:93:FB:2B:D1:37:26:A1:99:4A:CE:7F:F0:05:F2:93:5D:1E
	 SHA256: 1C:01:C6:F4:DB:B2:FE:FC:22:55:8B:2B:CA:32:56:3F:49:84:4A:CF:C3:2B:7B:E4:B0:FF:59:9F:9E:8C:7A:F7
Alias name: mozillacert105.pem
	 SHA1: 77:47:4F:C6:30:E4:0F:4C:47:64:3F:84:BA:B8:C6:95:4A:8A:41:EC
	 SHA256: F0:9B:12:2C:71:14:F4:A0:9B:D4:EA:4F:4A:99:D5:58:B4:6E:4C:25:CD:81:14:0D:29:C0:56:13:91:4C:38:41
Alias name: mozillacert106.pem
	 SHA1: E7:A1:90:29:D3:D5:52:DC:0D:0F:C6:92:D3:EA:88:0D:15:2E:1A:6B
	 SHA256: D9:5F:EA:3C:A4:EE:DC:E7:4C:D7:6E:75:FC:6D:1F:F6:2C:44:1F:0F:A8:BC:77:F0:34:B1:9E:5D:B2:58:01:5D
Alias name: mozillacert107.pem
	 SHA1: 8E:1C:74:F8:A6:20:B9:E5:8A:F4:61:FA:EC:2B:47:56:51:1A:52:C6
	 SHA256: F9:6F:23:F4:C3:E7:9C:07:7A:46:98:8D:5A:F5:90:06:76:A0:F0:39:CB:64:5D:D1:75:49:B2:16:C8:24:40:CE
Alias name: mozillacert108.pem
	 SHA1: B1:BC:96:8B:D4:F4:9D:62:2A:A8:9A:81:F2:15:01:52:A4:1D:82:9C
	 SHA256: EB:D4:10:40:E4:BB:3E:C7:42:C9:E3:81:D3:1E:F2:A4:1A:48:B6:68:5C:96:E7:CE:F3:C1:DF:6C:D4:33:1C:99
Alias name: mozillacert109.pem
	 SHA1: B5:61:EB:EA:A4:DE:E4:25:4B:69:1A:98:A5:57:47:C2:34:C7:D9:71
	 SHA256: E2:3D:4A:03:6D:7B:70:E9:F5:95:B1:42:20:79:D2:B9:1E:DF:BB:1F:B6:51:A0:63:3E:AA:8A:9D:C5:F8:07:03
Alias name: mozillacert11.pem
	 SHA1: 05:63:B8:63:0D:62:D7:5A:BB:C8:AB:1E:4B:DF:B5:A8:99:B2:4D:43
	 SHA256: 3E:90:99:B5:01:5E:8F:48:6C:00:BC:EA:9D:11:1E:E7:21:FA:BA:35:5A:89:BC:F1:DF:69:56:1E:3D:C6:32:5C
Alias name: mozillacert110.pem
	 SHA1: 93:05:7A:88:15:C6:4F:CE:88:2F:FA:91:16:52:28:78:BC:53:64:17
	 SHA256: 9A:6E:C0:12:E1:A7:DA:9D:BE:34:19:4D:47:8A:D7:C0:DB:18:22:FB:07:1D:F1:29:81:49:6E:D1:04:38:41:13
Alias name: mozillacert111.pem
	 SHA1: 9C:BB:48:53:F6:A4:F6:D3:52:A4:E8:32:52:55:60:13:F5:AD:AF:65
	 SHA256: 59:76:90:07:F7:68:5D:0F:CD:50:87:2F:9F:95:D5:75:5A:5B:2B:45:7D:81:F3:69:2B:61:0A:98:67:2F:0E:1B
Alias name: mozillacert112.pem
	 SHA1: 43:13:BB:96:F1:D5:86:9B:C1:4E:6A:92:F6:CF:F6:34:69:87:82:37
	 SHA256: DD:69:36:FE:21:F8:F0:77:C1:23:A1:A5:21:C1:22:24:F7:22:55:B7:3E:03:A7:26:06:93:E8:A2:4B:0F:A3:89
Alias name: mozillacert113.pem
	 SHA1: 50:30:06:09:1D:97:D4:F5:AE:39:F7:CB:E7:92:7D:7D:65:2D:34:31
	 SHA256: 6D:C4:71:72:E0:1C:BC:B0:BF:62:58:0D:89:5F:E2:B8:AC:9A:D4:F8:73:80:1E:0C:10:B9:C8:37:D2:1E:B1:77
Alias name: mozillacert114.pem
	 SHA1: 51:C6:E7:08:49:06:6E:F3:92:D4:5C:A0:0D:6D:A3:62:8F:C3:52:39
	 SHA256: B0:BF:D5:2B:B0:D7:D9:BD:92:BF:5D:4D:C1:3D:A2:55:C0:2C:54:2F:37:83:65:EA:89:39:11:F5:5E:55:F2:3C
Alias name: mozillacert115.pem
	 SHA1: 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9
	 SHA256: 91:E2:F5:78:8D:58:10:EB:A7:BA:58:73:7D:E1:54:8A:8E:CA:CD:01:45:98:BC:0B:14:3E:04:1B:17:05:25:52
Alias name: mozillacert116.pem
	 SHA1: 2B:B1:F5:3E:55:0C:1D:C5:F1:D4:E6:B7:6A:46:4B:55:06:02:AC:21
	 SHA256: F3:56:BE:A2:44:B7:A9:1E:B3:5D:53:CA:9A:D7:86:4A:CE:01:8E:2D:35:D5:F8:F9:6D:DF:68:A6:F4:1A:A4:74
Alias name: mozillacert117.pem
	 SHA1: D4:DE:20:D0:5E:66:FC:53:FE:1A:50:88:2C:78:DB:28:52:CA:E4:74
	 SHA256: 16:AF:57:A9:F6:76:B0:AB:12:60:95:AA:5E:BA:DE:F2:2A:B3:11:19:D6:44:AC:95:CD:4B:93:DB:F3:F2:6A:EB
Alias name: mozillacert118.pem
	 SHA1: 7E:78:4A:10:1C:82:65:CC:2D:E1:F1:6D:47:B4:40:CA:D9:0A:19:45
	 SHA256: 5F:0B:62:EA:B5:E3:53:EA:65:21:65:16:58:FB:B6:53:59:F4:43:28:0A:4A:FB:D1:04:D7:7D:10:F9:F0:4C:07
Alias name: mozillacert119.pem
	 SHA1: 75:E0:AB:B6:13:85:12:27:1C:04:F8:5F:DD:DE:38:E4:B7:24:2E:FE
	 SHA256: CA:42:DD:41:74:5F:D0:B8:1E:B9:02:36:2C:F9:D8:BF:71:9D:A1:BD:1B:1E:FC:94:6F:5B:4C:99:F4:2C:1B:9E
Alias name: mozillacert12.pem
	 SHA1: A8:98:5D:3A:65:E5:E5:C4:B2:D7:D6:6D:40:C6:DD:2F:B1:9C:54:36
	 SHA256: 43:48:A0:E9:44:4C:78:CB:26:5E:05:8D:5E:89:44:B4:D8:4F:96:62:BD:26:DB:25:7F:89:34:A4:43:C7:01:61
Alias name: mozillacert120.pem
	 SHA1: DA:40:18:8B:91:89:A3:ED:EE:AE:DA:97:FE:2F:9D:F5:B7:D1:8A:41
	 SHA256: CF:56:FF:46:A4:A1:86:10:9D:D9:65:84:B5:EE:B5:8A:51:0C:42:75:B0:E5:F9:4F:40:BB:AE:86:5E:19:F6:73
Alias name: mozillacert121.pem
	 SHA1: CC:AB:0E:A0:4C:23:01:D6:69:7B:DD:37:9F:CD:12:EB:24:E3:94:9D
	 SHA256: 8C:72:09:27:9A:C0:4E:27:5E:16:D0:7F:D3:B7:75:E8:01:54:B5:96:80:46:E3:1F:52:DD:25:76:63:24:E9:A7
Alias name: mozillacert122.pem
	 SHA1: 02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68
	 SHA256: 68:7F:A4:51:38:22:78:FF:F0:C8:B1:1F:8D:43:D5:76:67:1C:6E:B2:BC:EA:B4:13:FB:83:D9:65:D0:6D:2F:F2
Alias name: mozillacert123.pem
	 SHA1: 2A:B6:28:48:5E:78:FB:F3:AD:9E:79:10:DD:6B:DF:99:72:2C:96:E5
	 SHA256: 07:91:CA:07:49:B2:07:82:AA:D3:C7:D7:BD:0C:DF:C9:48:58:35:84:3E:B2:D7:99:60:09:CE:43:AB:6C:69:27
Alias name: mozillacert124.pem
	 SHA1: 4D:23:78:EC:91:95:39:B5:00:7F:75:8F:03:3B:21:1E:C5:4D:8B:CF
	 SHA256: 80:95:21:08:05:DB:4B:BC:35:5E:44:28:D8:FD:6E:C2:CD:E3:AB:5F:B9:7A:99:42:98:8E:B8:F4:DC:D0:60:16
Alias name: mozillacert125.pem
	 SHA1: B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9
	 SHA256: 73:C1:76:43:4F:1B:C6:D5:AD:F4:5B:0E:76:E7:27:28:7C:8D:E5:76:16:C1:E6:E6:14:1A:2B:2C:BC:7D:8E:4C
Alias name: mozillacert126.pem
	 SHA1: 25:01:90:19:CF:FB:D9:99:1C:B7:68:25:74:8D:94:5F:30:93:95:42
	 SHA256: AF:8B:67:62:A1:E5:28:22:81:61:A9:5D:5C:55:9E:E2:66:27:8F:75:D7:9E:83:01:89:A5:03:50:6A:BD:6B:4C
Alias name: mozillacert127.pem
	 SHA1: DE:28:F4:A4:FF:E5:B9:2F:A3:C5:03:D1:A3:49:A7:F9:96:2A:82:12
	 SHA256: FF:85:6A:2D:25:1D:CD:88:D3:66:56:F4:50:12:67:98:CF:AB:AA:DE:40:79:9C:72:2D:E4:D2:B5:DB:36:A7:3A
Alias name: mozillacert128.pem
	 SHA1: A9:E9:78:08:14:37:58:88:F2:05:19:B0:6D:2B:0D:2B:60:16:90:7D
	 SHA256: CA:2D:82:A0:86:77:07:2F:8A:B6:76:4F:F0:35:67:6C:FE:3E:5E:32:5E:01:21:72:DF:3F:92:09:6D:B7:9B:85
Alias name: mozillacert129.pem
	 SHA1: E6:21:F3:35:43:79:05:9A:4B:68:30:9D:8A:2F:74:22:15:87:EC:79
	 SHA256: A0:45:9B:9F:63:B2:25:59:F5:FA:5D:4C:6D:B3:F9:F7:2F:F1:93:42:03:35:78:F0:73:BF:1D:1B:46:CB:B9:12
Alias name: mozillacert13.pem
	 SHA1: 06:08:3F:59:3F:15:A1:04:A0:69:A4:6B:A9:03:D0:06:B7:97:09:91
	 SHA256: 6C:61:DA:C3:A2:DE:F0:31:50:6B:E0:36:D2:A6:FE:40:19:94:FB:D1:3D:F9:C8:D4:66:59:92:74:C4:46:EC:98
Alias name: mozillacert130.pem
	 SHA1: E5:DF:74:3C:B6:01:C4:9B:98:43:DC:AB:8C:E8:6A:81:10:9F:E4:8E
	 SHA256: F4:C1:49:55:1A:30:13:A3:5B:C7:BF:FE:17:A7:F3:44:9B:C1:AB:5B:5A:0A:E7:4B:06:C2:3B:90:00:4C:01:04
Alias name: mozillacert131.pem
	 SHA1: 37:9A:19:7B:41:85:45:35:0C:A6:03:69:F3:3C:2E:AF:47:4F:20:79
	 SHA256: A0:23:4F:3B:C8:52:7C:A5:62:8E:EC:81:AD:5D:69:89:5D:A5:68:0D:C9:1D:1C:B8:47:7F:33:F8:78:B9:5B:0B
Alias name: mozillacert132.pem
	 SHA1: 39:21:C1:15:C1:5D:0E:CA:5C:CB:5B:C4:F0:7D:21:D8:05:0B:56:6A
	 SHA256: 77:40:73:12:C6:3A:15:3D:5B:C0:0B:4E:51:75:9C:DF:DA:C2:37:DC:2A:33:B6:79:46:E9:8E:9B:FA:68:0A:E3
Alias name: mozillacert133.pem
	 SHA1: 85:B5:FF:67:9B:0C:79:96:1F:C8:6E:44:22:00:46:13:DB:17:92:84
	 SHA256: 7D:3B:46:5A:60:14:E5:26:C0:AF:FC:EE:21:27:D2:31:17:27:AD:81:1C:26:84:2D:00:6A:F3:73:06:CC:80:BD
Alias name: mozillacert134.pem
	 SHA1: 70:17:9B:86:8C:00:A4:FA:60:91:52:22:3F:9F:3E:32:BD:E0:05:62
	 SHA256: 69:FA:C9:BD:55:FB:0A:C7:8D:53:BB:EE:5C:F1:D5:97:98:9F:D0:AA:AB:20:A2:51:51:BD:F1:73:3E:E7:D1:22
Alias name: mozillacert135.pem
	 SHA1: 62:52:DC:40:F7:11:43:A2:2F:DE:9E:F7:34:8E:06:42:51:B1:81:18
	 SHA256: D8:E0:FE:BC:1D:B2:E3:8D:00:94:0F:37:D2:7D:41:34:4D:99:3E:73:4B:99:D5:65:6D:97:78:D4:D8:14:36:24
Alias name: mozillacert136.pem
	 SHA1: D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
	 SHA256: D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
Alias name: mozillacert137.pem
	 SHA1: 4A:65:D5:F4:1D:EF:39:B8:B8:90:4A:4A:D3:64:81:33:CF:C7:A1:D1
	 SHA256: BD:81:CE:3B:4F:65:91:D1:1A:67:B5:FC:7A:47:FD:EF:25:52:1B:F9:AA:4E:18:B9:E3:DF:2E:34:A7:80:3B:E8
Alias name: mozillacert138.pem
	 SHA1: E1:9F:E3:0E:8B:84:60:9E:80:9B:17:0D:72:A8:C5:BA:6E:14:09:BD
	 SHA256: 3F:06:E5:56:81:D4:96:F5:BE:16:9E:B5:38:9F:9F:2B:8F:F6:1E:17:08:DF:68:81:72:48:49:CD:5D:27:CB:69
Alias name: mozillacert139.pem
	 SHA1: DE:3F:40:BD:50:93:D3:9B:6C:60:F6:DA:BC:07:62:01:00:89:76:C9
	 SHA256: A4:5E:DE:3B:BB:F0:9C:8A:E1:5C:72:EF:C0:72:68:D6:93:A2:1C:99:6F:D5:1E:67:CA:07:94:60:FD:6D:88:73
Alias name: mozillacert14.pem
	 SHA1: 5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25
	 SHA256: 74:31:E5:F4:C3:C1:CE:46:90:77:4F:0B:61:E0:54:40:88:3B:A9:A0:1E:D0:0B:A6:AB:D7:80:6E:D3:B1:18:CF
Alias name: mozillacert140.pem
	 SHA1: CA:3A:FB:CF:12:40:36:4B:44:B2:16:20:88:80:48:39:19:93:7C:F7
	 SHA256: 85:A0:DD:7D:D7:20:AD:B7:FF:05:F8:3D:54:2B:20:9D:C7:FF:45:28:F7:D6:77:B1:83:89:FE:A5:E5:C4:9E:86
Alias name: mozillacert141.pem
	 SHA1: 31:7A:2A:D0:7F:2B:33:5E:F5:A1:C3:4E:4B:57:E8:B7:D8:F1:FC:A6
	 SHA256: 58:D0:17:27:9C:D4:DC:63:AB:DD:B1:96:A6:C9:90:6C:30:C4:E0:87:83:EA:E8:C1:60:99:54:D6:93:55:59:6B
Alias name: mozillacert142.pem
	 SHA1: 1F:49:14:F7:D8:74:95:1D:DD:AE:02:C0:BE:FD:3A:2D:82:75:51:85
	 SHA256: 18:F1:FC:7F:20:5D:F8:AD:DD:EB:7F:E0:07:DD:57:E3:AF:37:5A:9C:4D:8D:73:54:6B:F4:F1:FE:D1:E1:8D:35
Alias name: mozillacert143.pem
	 SHA1: 36:B1:2B:49:F9:81:9E:D7:4C:9E:BC:38:0F:C6:56:8F:5D:AC:B2:F7
	 SHA256: E7:5E:72:ED:9F:56:0E:EC:6E:B4:80:00:73:A4:3F:C3:AD:19:19:5A:39:22:82:01:78:95:97:4A:99:02:6B:6C
Alias name: mozillacert144.pem
	 SHA1: 37:F7:6D:E6:07:7C:90:C5:B1:3E:93:1A:B7:41:10:B4:F2:E4:9A:27
	 SHA256: 79:08:B4:03:14:C1:38:10:0B:51:8D:07:35:80:7F:FB:FC:F8:51:8A:00:95:33:71:05:BA:38:6B:15:3D:D9:27
Alias name: mozillacert145.pem
	 SHA1: 10:1D:FA:3F:D5:0B:CB:BB:9B:B5:60:0C:19:55:A4:1A:F4:73:3A:04
	 SHA256: D4:1D:82:9E:8C:16:59:82:2A:F9:3F:CE:62:BF:FC:DE:26:4F:C8:4E:8B:95:0C:5F:F2:75:D0:52:35:46:95:A3
Alias name: mozillacert146.pem
	 SHA1: 21:FC:BD:8E:7F:6C:AF:05:1B:D1:B3:43:EC:A8:E7:61:47:F2:0F:8A
	 SHA256: 48:98:C6:88:8C:0C:FF:B0:D3:E3:1A:CA:8A:37:D4:E3:51:5F:F7:46:D0:26:35:D8:66:46:CF:A0:A3:18:5A:E7
Alias name: mozillacert147.pem
	 SHA1: 58:11:9F:0E:12:82:87:EA:50:FD:D9:87:45:6F:4F:78:DC:FA:D6:D4
	 SHA256: 85:FB:2F:91:DD:12:27:5A:01:45:B6:36:53:4F:84:02:4A:D6:8B:69:B8:EE:88:68:4F:F7:11:37:58:05:B3:48
Alias name: mozillacert148.pem
	 SHA1: 04:83:ED:33:99:AC:36:08:05:87:22:ED:BC:5E:46:00:E3:BE:F9:D7
	 SHA256: 6E:A5:47:41:D0:04:66:7E:ED:1B:48:16:63:4A:A3:A7:9E:6E:4B:96:95:0F:82:79:DA:FC:8D:9B:D8:81:21:37
Alias name: mozillacert149.pem
	 SHA1: 6E:3A:55:A4:19:0C:19:5C:93:84:3C:C0:DB:72:2E:31:30:61:F0:B1
	 SHA256: 0C:25:8A:12:A5:67:4A:EF:25:F2:8B:A7:DC:FA:EC:EE:A3:48:E5:41:E6:F5:CC:4E:E6:3B:71:B3:61:60:6A:C3
Alias name: mozillacert15.pem
	 SHA1: 74:20:74:41:72:9C:DD:92:EC:79:31:D8:23:10:8D:C2:81:92:E2:BB
	 SHA256: 0F:99:3C:8A:EF:97:BA:AF:56:87:14:0E:D5:9A:D1:82:1B:B4:AF:AC:F0:AA:9A:58:B5:D5:7A:33:8A:3A:FB:CB
Alias name: mozillacert150.pem
	 SHA1: 33:9B:6B:14:50:24:9B:55:7A:01:87:72:84:D9:E0:2F:C3:D2:D8:E9
	 SHA256: EF:3C:B4:17:FC:8E:BF:6F:97:87:6C:9E:4E:CE:39:DE:1E:A5:FE:64:91:41:D1:02:8B:7D:11:C0:B2:29:8C:ED
Alias name: mozillacert151.pem
	 SHA1: AC:ED:5F:65:53:FD:25:CE:01:5F:1F:7A:48:3B:6A:74:9F:61:78:C6
	 SHA256: 7F:12:CD:5F:7E:5E:29:0E:C7:D8:51:79:D5:B7:2C:20:A5:BE:75:08:FF:DB:5B:F8:1A:B9:68:4A:7F:C9:F6:67
Alias name: mozillacert16.pem
	 SHA1: DA:C9:02:4F:54:D8:F6:DF:94:93:5F:B1:73:26:38:CA:6A:D7:7C:13
	 SHA256: 06:87:26:03:31:A7:24:03:D9:09:F1:05:E6:9B:CF:0D:32:E1:BD:24:93:FF:C6:D9:20:6D:11:BC:D6:77:07:39
Alias name: mozillacert17.pem
	 SHA1: 40:54:DA:6F:1C:3F:40:74:AC:ED:0F:EC:CD:DB:79:D1:53:FB:90:1D
	 SHA256: 76:7C:95:5A:76:41:2C:89:AF:68:8E:90:A1:C7:0F:55:6C:FD:6B:60:25:DB:EA:10:41:6D:7E:B6:83:1F:8C:40
Alias name: mozillacert18.pem
	 SHA1: 79:98:A3:08:E1:4D:65:85:E6:C2:1E:15:3A:71:9F:BA:5A:D3:4A:D9
	 SHA256: 44:04:E3:3B:5E:14:0D:CF:99:80:51:FD:FC:80:28:C7:C8:16:15:C5:EE:73:7B:11:1B:58:82:33:A9:B5:35:A0
Alias name: mozillacert19.pem
	 SHA1: B4:35:D4:E1:11:9D:1C:66:90:A7:49:EB:B3:94:BD:63:7B:A7:82:B7
	 SHA256: C4:70:CF:54:7E:23:02:B9:77:FB:29:DD:71:A8:9A:7B:6C:1F:60:77:7B:03:29:F5:60:17:F3:28:BF:4F:6B:E6
Alias name: mozillacert2.pem
	 SHA1: 22:D5:D8:DF:8F:02:31:D1:8D:F7:9D:B7:CF:8A:2D:64:C9:3F:6C:3A
	 SHA256: 69:DD:D7:EA:90:BB:57:C9:3E:13:5D:C8:5E:A6:FC:D5:48:0B:60:32:39:BD:C4:54:FC:75:8B:2A:26:CF:7F:79
Alias name: mozillacert20.pem
	 SHA1: D8:C5:38:8A:B7:30:1B:1B:6E:D4:7A:E6:45:25:3A:6F:9F:1A:27:61
	 SHA256: 62:DD:0B:E9:B9:F5:0A:16:3E:A0:F8:E7:5C:05:3B:1E:CA:57:EA:55:C8:68:8F:64:7C:68:81:F2:C8:35:7B:95
Alias name: mozillacert21.pem
	 SHA1: 9B:AA:E5:9F:56:EE:21:CB:43:5A:BE:25:93:DF:A7:F0:40:D1:1D:CB
	 SHA256: BE:6C:4D:A2:BB:B9:BA:59:B6:F3:93:97:68:37:42:46:C3:C0:05:99:3F:A9:8F:02:0D:1D:ED:BE:D4:8A:81:D5
Alias name: mozillacert22.pem
	 SHA1: 32:3C:11:8E:1B:F7:B8:B6:52:54:E2:E2:10:0D:D6:02:90:37:F0:96
	 SHA256: 37:D5:10:06:C5:12:EA:AB:62:64:21:F1:EC:8C:92:01:3F:C5:F8:2A:E9:8E:E5:33:EB:46:19:B8:DE:B4:D0:6C
Alias name: mozillacert23.pem
	 SHA1: 91:C6:D6:EE:3E:8A:C8:63:84:E5:48:C2:99:29:5C:75:6C:81:7B:81
	 SHA256: 8D:72:2F:81:A9:C1:13:C0:79:1D:F1:36:A2:96:6D:B2:6C:95:0A:97:1D:B4:6B:41:99:F4:EA:54:B7:8B:FB:9F
Alias name: mozillacert24.pem
	 SHA1: 59:AF:82:79:91:86:C7:B4:75:07:CB:CF:03:57:46:EB:04:DD:B7:16
	 SHA256: 66:8C:83:94:7D:A6:3B:72:4B:EC:E1:74:3C:31:A0:E6:AE:D0:DB:8E:C5:B3:1B:E3:77:BB:78:4F:91:B6:71:6F
Alias name: mozillacert25.pem
	 SHA1: 4E:B6:D5:78:49:9B:1C:CF:5F:58:1E:AD:56:BE:3D:9B:67:44:A5:E5
	 SHA256: 9A:CF:AB:7E:43:C8:D8:80:D0:6B:26:2A:94:DE:EE:E4:B4:65:99:89:C3:D0:CA:F1:9B:AF:64:05:E4:1A:B7:DF
Alias name: mozillacert26.pem
	 SHA1: 87:82:C6:C3:04:35:3B:CF:D2:96:92:D2:59:3E:7D:44:D9:34:FF:11
	 SHA256: F1:C1:B5:0A:E5:A2:0D:D8:03:0E:C9:F6:BC:24:82:3D:D3:67:B5:25:57:59:B4:E7:1B:61:FC:E9:F7:37:5D:73
Alias name: mozillacert27.pem
	 SHA1: 3A:44:73:5A:E5:81:90:1F:24:86:61:46:1E:3B:9C:C4:5F:F5:3A:1B
	 SHA256: 42:00:F5:04:3A:C8:59:0E:BB:52:7D:20:9E:D1:50:30:29:FB:CB:D4:1C:A1:B5:06:EC:27:F1:5A:DE:7D:AC:69
Alias name: mozillacert28.pem
	 SHA1: 66:31:BF:9E:F7:4F:9E:B6:C9:D5:A6:0C:BA:6A:BE:D1:F7:BD:EF:7B
	 SHA256: 0C:2C:D6:3D:F7:80:6F:A3:99:ED:E8:09:11:6B:57:5B:F8:79:89:F0:65:18:F9:80:8C:86:05:03:17:8B:AF:66
Alias name: mozillacert29.pem
	 SHA1: 74:F8:A3:C3:EF:E7:B3:90:06:4B:83:90:3C:21:64:60:20:E5:DF:CE
	 SHA256: 15:F0:BA:00:A3:AC:7A:F3:AC:88:4C:07:2B:10:11:A0:77:BD:77:C0:97:F4:01:64:B2:F8:59:8A:BD:83:86:0C
Alias name: mozillacert3.pem
	 SHA1: 87:9F:4B:EE:05:DF:98:58:3B:E3:60:D6:33:E7:0D:3F:FE:98:71:AF
	 SHA256: 39:DF:7B:68:2B:7B:93:8F:84:71:54:81:CC:DE:8D:60:D8:F2:2E:C5:98:87:7D:0A:AA:C1:2B:59:18:2B:03:12
Alias name: mozillacert30.pem
	 SHA1: E7:B4:F6:9D:61:EC:90:69:DB:7E:90:A7:40:1A:3C:F4:7D:4F:E8:EE
	 SHA256: A7:12:72:AE:AA:A3:CF:E8:72:7F:7F:B3:9F:0F:B3:D1:E5:42:6E:90:60:B0:6E:E6:F1:3E:9A:3C:58:33:CD:43
Alias name: mozillacert31.pem
	 SHA1: 9F:74:4E:9F:2B:4D:BA:EC:0F:31:2C:50:B6:56:3B:8E:2D:93:C3:11
	 SHA256: 17:93:92:7A:06:14:54:97:89:AD:CE:2F:8F:34:F7:F0:B6:6D:0F:3A:E3:A3:B8:4D:21:EC:15:DB:BA:4F:AD:C7
Alias name: mozillacert32.pem
	 SHA1: 60:D6:89:74:B5:C2:65:9E:8A:0F:C1:88:7C:88:D2:46:69:1B:18:2C
	 SHA256: B9:BE:A7:86:0A:96:2E:A3:61:1D:AB:97:AB:6D:A3:E2:1C:10:68:B9:7D:55:57:5E:D0:E1:12:79:C1:1C:89:32
Alias name: mozillacert33.pem
	 SHA1: FE:B8:C4:32:DC:F9:76:9A:CE:AE:3D:D8:90:8F:FD:28:86:65:64:7D
	 SHA256: A2:2D:BA:68:1E:97:37:6E:2D:39:7D:72:8A:AE:3A:9B:62:96:B9:FD:BA:60:BC:2E:11:F6:47:F2:C6:75:FB:37
Alias name: mozillacert34.pem
	 SHA1: 59:22:A1:E1:5A:EA:16:35:21:F8:98:39:6A:46:46:B0:44:1B:0F:A9
	 SHA256: 41:C9:23:86:6A:B4:CA:D6:B7:AD:57:80:81:58:2E:02:07:97:A6:CB:DF:4F:FF:78:CE:83:96:B3:89:37:D7:F5
Alias name: mozillacert35.pem
	 SHA1: 2A:C8:D5:8B:57:CE:BF:2F:49:AF:F2:FC:76:8F:51:14:62:90:7A:41
	 SHA256: 92:BF:51:19:AB:EC:CA:D0:B1:33:2D:C4:E1:D0:5F:BA:75:B5:67:90:44:EE:0C:A2:6E:93:1F:74:4F:2F:33:CF
Alias name: mozillacert36.pem
	 SHA1: 23:88:C9:D3:71:CC:9E:96:3D:FF:7D:3C:A7:CE:FC:D6:25:EC:19:0D
	 SHA256: 32:7A:3D:76:1A:BA:DE:A0:34:EB:99:84:06:27:5C:B1:A4:77:6E:FD:AE:2F:DF:6D:01:68:EA:1C:4F:55:67:D0
Alias name: mozillacert37.pem
	 SHA1: B1:2E:13:63:45:86:A4:6F:1A:B2:60:68:37:58:2D:C4:AC:FD:94:97
	 SHA256: E3:B6:A2:DB:2E:D7:CE:48:84:2F:7A:C5:32:41:C7:B7:1D:54:14:4B:FB:40:C1:1F:3F:1D:0B:42:F5:EE:A1:2D
Alias name: mozillacert38.pem
	 SHA1: CB:A1:C5:F8:B0:E3:5E:B8:B9:45:12:D3:F9:34:A2:E9:06:10:D3:36
	 SHA256: A6:C5:1E:0D:A5:CA:0A:93:09:D2:E4:C0:E4:0C:2A:F9:10:7A:AE:82:03:85:7F:E1:98:E3:E7:69:E3:43:08:5C
Alias name: mozillacert39.pem
	 SHA1: AE:50:83:ED:7C:F4:5C:BC:8F:61:C6:21:FE:68:5D:79:42:21:15:6E
	 SHA256: E6:B8:F8:76:64:85:F8:07:AE:7F:8D:AC:16:70:46:1F:07:C0:A1:3E:EF:3A:1F:F7:17:53:8D:7A:BA:D3:91:B4
Alias name: mozillacert4.pem
	 SHA1: E3:92:51:2F:0A:CF:F5:05:DF:F6:DE:06:7F:75:37:E1:65:EA:57:4B
	 SHA256: 0B:5E:ED:4E:84:64:03:CF:55:E0:65:84:84:40:ED:2A:82:75:8B:F5:B9:AA:1F:25:3D:46:13:CF:A0:80:FF:3F
Alias name: mozillacert40.pem
	 SHA1: 80:25:EF:F4:6E:70:C8:D4:72:24:65:84:FE:40:3B:8A:8D:6A:DB:F5
	 SHA256: 8D:A0:84:FC:F9:9C:E0:77:22:F8:9B:32:05:93:98:06:FA:5C:B8:11:E1:C8:13:F6:A1:08:C7:D3:36:B3:40:8E
Alias name: mozillacert41.pem
	 SHA1: 6B:2F:34:AD:89:58:BE:62:FD:B0:6B:5C:CE:BB:9D:D9:4F:4E:39:F3
	 SHA256: EB:F3:C0:2A:87:89:B1:FB:7D:51:19:95:D6:63:B7:29:06:D9:13:CE:0D:5E:10:56:8A:8A:77:E2:58:61:67:E7
Alias name: mozillacert42.pem
	 SHA1: 85:A4:08:C0:9C:19:3E:5D:51:58:7D:CD:D6:13:30:FD:8C:DE:37:BF
	 SHA256: B6:19:1A:50:D0:C3:97:7F:7D:A9:9B:CD:AA:C8:6A:22:7D:AE:B9:67:9E:C7:0B:A3:B0:C9:D9:22:71:C1:70:D3
Alias name: mozillacert43.pem
	 SHA1: F9:CD:0E:2C:DA:76:24:C1:8F:BD:F0:F0:AB:B6:45:B8:F7:FE:D5:7A
	 SHA256: 50:79:41:C7:44:60:A0:B4:70:86:22:0D:4E:99:32:57:2A:B5:D1:B5:BB:CB:89:80:AB:1C:B1:76:51:A8:44:D2
Alias name: mozillacert44.pem
	 SHA1: 5F:43:E5:B1:BF:F8:78:8C:AC:1C:C7:CA:4A:9A:C6:22:2B:CC:34:C6
	 SHA256: 96:0A:DF:00:63:E9:63:56:75:0C:29:65:DD:0A:08:67:DA:0B:9C:BD:6E:77:71:4A:EA:FB:23:49:AB:39:3D:A3
Alias name: mozillacert45.pem
	 SHA1: 67:65:0D:F1:7E:8E:7E:5B:82:40:A4:F4:56:4B:CF:E2:3D:69:C6:F0
	 SHA256: C0:A6:F4:DC:63:A2:4B:FD:CF:54:EF:2A:6A:08:2A:0A:72:DE:35:80:3E:2F:F5:FF:52:7A:E5:D8:72:06:DF:D5
Alias name: mozillacert46.pem
	 SHA1: 40:9D:4B:D9:17:B5:5C:27:B6:9B:64:CB:98:22:44:0D:CD:09:B8:89
	 SHA256: EC:C3:E9:C3:40:75:03:BE:E0:91:AA:95:2F:41:34:8F:F8:8B:AA:86:3B:22:64:BE:FA:C8:07:90:15:74:E9:39
Alias name: mozillacert47.pem
	 SHA1: 1B:4B:39:61:26:27:6B:64:91:A2:68:6D:D7:02:43:21:2D:1F:1D:96
	 SHA256: E4:C7:34:30:D7:A5:B5:09:25:DF:43:37:0A:0D:21:6E:9A:79:B9:D6:DB:83:73:A0:C6:9E:B1:CC:31:C7:C5:2A
Alias name: mozillacert48.pem
	 SHA1: A0:A1:AB:90:C9:FC:84:7B:3B:12:61:E8:97:7D:5F:D3:22:61:D3:CC
	 SHA256: 0F:4E:9C:DD:26:4B:02:55:50:D1:70:80:63:40:21:4F:E9:44:34:C9:B0:2F:69:7E:C7:10:FC:5F:EA:FB:5E:38
Alias name: mozillacert49.pem
	 SHA1: 61:57:3A:11:DF:0E:D8:7E:D5:92:65:22:EA:D0:56:D7:44:B3:23:71
	 SHA256: B7:B1:2B:17:1F:82:1D:AA:99:0C:D0:FE:50:87:B1:28:44:8B:A8:E5:18:4F:84:C5:1E:02:B5:C8:FB:96:2B:24
Alias name: mozillacert5.pem
	 SHA1: B8:01:86:D1:EB:9C:86:A5:41:04:CF:30:54:F3:4C:52:B7:E5:58:C6
	 SHA256: CE:CD:DC:90:50:99:D8:DA:DF:C5:B1:D2:09:B7:37:CB:E2:C1:8C:FB:2C:10:C0:FF:0B:CF:0D:32:86:FC:1A:A2
Alias name: mozillacert50.pem
	 SHA1: 8C:96:BA:EB:DD:2B:07:07:48:EE:30:32:66:A0:F3:98:6E:7C:AE:58
	 SHA256: 35:AE:5B:DD:D8:F7:AE:63:5C:FF:BA:56:82:A8:F0:0B:95:F4:84:62:C7:10:8E:E9:A0:E5:29:2B:07:4A:AF:B2
Alias name: mozillacert51.pem
	 SHA1: FA:B7:EE:36:97:26:62:FB:2D:B0:2A:F6:BF:03:FD:E8:7C:4B:2F:9B
	 SHA256: EA:A9:62:C4:FA:4A:6B:AF:EB:E4:15:19:6D:35:1C:CD:88:8D:4F:53:F3:FA:8A:E6:D7:C4:66:A9:4E:60:42:BB
Alias name: mozillacert52.pem
	 SHA1: 8B:AF:4C:9B:1D:F0:2A:92:F7:DA:12:8E:B9:1B:AC:F4:98:60:4B:6F
	 SHA256: E2:83:93:77:3D:A8:45:A6:79:F2:08:0C:C7:FB:44:A3:B7:A1:C3:79:2C:B7:EB:77:29:FD:CB:6A:8D:99:AE:A7
Alias name: mozillacert53.pem
	 SHA1: 7F:8A:B0:CF:D0:51:87:6A:66:F3:36:0F:47:C8:8D:8C:D3:35:FC:74
	 SHA256: 2D:47:43:7D:E1:79:51:21:5A:12:F3:C5:8E:51:C7:29:A5:80:26:EF:1F:CC:0A:5F:B3:D9:DC:01:2F:60:0D:19
Alias name: mozillacert54.pem
	 SHA1: 03:9E:ED:B8:0B:E7:A0:3C:69:53:89:3B:20:D2:D9:32:3A:4C:2A:FD
	 SHA256: B4:78:B8:12:25:0D:F8:78:63:5C:2A:A7:EC:7D:15:5E:AA:62:5E:E8:29:16:E2:CD:29:43:61:88:6C:D1:FB:D4
Alias name: mozillacert55.pem
	 SHA1: AA:DB:BC:22:23:8F:C4:01:A1:27:BB:38:DD:F4:1D:DB:08:9E:F0:12
	 SHA256: A4:31:0D:50:AF:18:A6:44:71:90:37:2A:86:AF:AF:8B:95:1F:FB:43:1D:83:7F:1E:56:88:B4:59:71:ED:15:57
Alias name: mozillacert56.pem
	 SHA1: F1:8B:53:8D:1B:E9:03:B6:A6:F0:56:43:5B:17:15:89:CA:F3:6B:F2
	 SHA256: 4B:03:F4:58:07:AD:70:F2:1B:FC:2C:AE:71:C9:FD:E4:60:4C:06:4C:F5:FF:B6:86:BA:E5:DB:AA:D7:FD:D3:4C
Alias name: mozillacert57.pem
	 SHA1: D6:DA:A8:20:8D:09:D2:15:4D:24:B5:2F:CB:34:6E:B2:58:B2:8A:58
	 SHA256: F9:E6:7D:33:6C:51:00:2A:C0:54:C6:32:02:2D:66:DD:A2:E7:E3:FF:F1:0A:D0:61:ED:31:D8:BB:B4:10:CF:B2
Alias name: mozillacert58.pem
	 SHA1: 8D:17:84:D5:37:F3:03:7D:EC:70:FE:57:8B:51:9A:99:E6:10:D7:B0
	 SHA256: 5E:DB:7A:C4:3B:82:A0:6A:87:61:E8:D7:BE:49:79:EB:F2:61:1F:7D:D7:9B:F9:1C:1C:6B:56:6A:21:9E:D7:66
Alias name: mozillacert59.pem
	 SHA1: 36:79:CA:35:66:87:72:30:4D:30:A5:FB:87:3B:0F:A7:7B:B7:0D:54
	 SHA256: 23:99:56:11:27:A5:71:25:DE:8C:EF:EA:61:0D:DF:2F:A0:78:B5:C8:06:7F:4E:82:82:90:BF:B8:60:E8:4B:3C
Alias name: mozillacert6.pem
	 SHA1: 27:96:BA:E6:3F:18:01:E2:77:26:1B:A0:D7:77:70:02:8F:20:EE:E4
	 SHA256: C3:84:6B:F2:4B:9E:93:CA:64:27:4C:0E:C6:7C:1E:CC:5E:02:4F:FC:AC:D2:D7:40:19:35:0E:81:FE:54:6A:E4
Alias name: mozillacert60.pem
	 SHA1: 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3
	 SHA256: BF:0F:EE:FB:9E:3A:58:1A:D5:F9:E9:DB:75:89:98:57:43:D2:61:08:5C:4D:31:4F:6F:5D:72:59:AA:42:16:12
Alias name: mozillacert61.pem
	 SHA1: E0:B4:32:2E:B2:F6:A5:68:B6:54:53:84:48:18:4A:50:36:87:43:84
	 SHA256: 03:95:0F:B4:9A:53:1F:3E:19:91:94:23:98:DF:A9:E0:EA:32:D7:BA:1C:DD:9B:C8:5D:B5:7E:D9:40:0B:43:4A
Alias name: mozillacert62.pem
	 SHA1: A1:DB:63:93:91:6F:17:E4:18:55:09:40:04:15:C7:02:40:B0:AE:6B
	 SHA256: A4:B6:B3:99:6F:C2:F3:06:B3:FD:86:81:BD:63:41:3D:8C:50:09:CC:4F:A3:29:C2:CC:F0:E2:FA:1B:14:03:05
Alias name: mozillacert63.pem
	 SHA1: 89:DF:74:FE:5C:F4:0F:4A:80:F9:E3:37:7D:54:DA:91:E1:01:31:8E
	 SHA256: 3C:5F:81:FE:A5:FA:B8:2C:64:BF:A2:EA:EC:AF:CD:E8:E0:77:FC:86:20:A7:CA:E5:37:16:3D:F3:6E:DB:F3:78
Alias name: mozillacert64.pem
	 SHA1: 62:7F:8D:78:27:65:63:99:D2:7D:7F:90:44:C9:FE:B3:F3:3E:FA:9A
	 SHA256: AB:70:36:36:5C:71:54:AA:29:C2:C2:9F:5D:41:91:16:3B:16:2A:22:25:01:13:57:D5:6D:07:FF:A7:BC:1F:72
Alias name: mozillacert65.pem
	 SHA1: 69:BD:8C:F4:9C:D3:00:FB:59:2E:17:93:CA:55:6A:F3:EC:AA:35:FB
	 SHA256: BC:23:F9:8A:31:3C:B9:2D:E3:BB:FC:3A:5A:9F:44:61:AC:39:49:4C:4A:E1:5A:9E:9D:F1:31:E9:9B:73:01:9A
Alias name: mozillacert66.pem
	 SHA1: DD:E1:D2:A9:01:80:2E:1D:87:5E:84:B3:80:7E:4B:B1:FD:99:41:34
	 SHA256: E6:09:07:84:65:A4:19:78:0C:B6:AC:4C:1C:0B:FB:46:53:D9:D9:CC:6E:B3:94:6E:B7:F3:D6:99:97:BA:D5:98
Alias name: mozillacert67.pem
	 SHA1: D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD
	 SHA256: CB:B5:22:D7:B7:F1:27:AD:6A:01:13:86:5B:DF:1C:D4:10:2E:7D:07:59:AF:63:5A:7C:F4:72:0D:C9:63:C5:3B
Alias name: mozillacert68.pem
	 SHA1: AE:C5:FB:3F:C8:E1:BF:C4:E5:4F:03:07:5A:9A:E8:00:B7:F7:B6:FA
	 SHA256: 04:04:80:28:BF:1F:28:64:D4:8F:9A:D4:D8:32:94:36:6A:82:88:56:55:3F:3B:14:30:3F:90:14:7F:5D:40:EF
Alias name: mozillacert69.pem
	 SHA1: 2F:78:3D:25:52:18:A7:4A:65:39:71:B5:2C:A2:9C:45:15:6F:E9:19
	 SHA256: 25:30:CC:8E:98:32:15:02:BA:D9:6F:9B:1F:BA:1B:09:9E:2D:29:9E:0F:45:48:BB:91:4F:36:3B:C0:D4:53:1F
Alias name: mozillacert7.pem
	 SHA1: AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A
	 SHA256: 14:65:FA:20:53:97:B8:76:FA:A6:F0:A9:95:8E:55:90:E4:0F:CC:7F:AA:4F:B7:C2:C8:67:75:21:FB:5F:B6:58
Alias name: mozillacert70.pem
	 SHA1: 78:6A:74:AC:76:AB:14:7F:9C:6A:30:50:BA:9E:A8:7E:FE:9A:CE:3C
	 SHA256: 06:3E:4A:FA:C4:91:DF:D3:32:F3:08:9B:85:42:E9:46:17:D8:93:D7:FE:94:4E:10:A7:93:7E:E2:9D:96:93:C0
Alias name: mozillacert71.pem
	 SHA1: 4A:BD:EE:EC:95:0D:35:9C:89:AE:C7:52:A1:2C:5B:29:F6:D6:AA:0C
	 SHA256: 13:63:35:43:93:34:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BE:BA:CA
Alias name: mozillacert72.pem
	 SHA1: 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B
	 SHA256: 45:14:0B:32:47:EB:9C:C8:C5:B4:F0:D7:B5:30:91:F7:32:92:08:9E:6E:5A:63:E2:74:9D:D3:AC:A9:19:8E:DA
Alias name: mozillacert73.pem
	 SHA1: B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E
	 SHA256: 2C:E1:CB:0B:F9:D2:F9:E1:02:99:3F:BE:21:51:52:C3:B2:DD:0C:AB:DE:1C:68:E5:31:9B:83:91:54:DB:B7:F5
Alias name: mozillacert74.pem
	 SHA1: 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F
	 SHA256: 56:8D:69:05:A2:C8:87:08:A4:B3:02:51:90:ED:CF:ED:B1:97:4A:60:6A:13:C6:E5:29:0F:CB:2A:E6:3E:DA:B5
Alias name: mozillacert75.pem
	 SHA1: D2:32:09:AD:23:D3:14:23:21:74:E4:0D:7F:9D:62:13:97:86:63:3A
	 SHA256: 08:29:7A:40:47:DB:A2:36:80:C7:31:DB:6E:31:76:53:CA:78:48:E1:BE:BD:3A:0B:01:79:A7:07:F9:2C:F1:78
Alias name: mozillacert76.pem
	 SHA1: F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7
	 SHA256: 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7
Alias name: mozillacert77.pem
	 SHA1: 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6
	 SHA256: EB:04:CF:5E:B1:F3:9A:FA:76:2F:2B:B1:20:F2:96:CB:A5:20:C1:B9:7D:B1:58:95:65:B8:1C:B9:A1:7B:72:44
Alias name: mozillacert78.pem
	 SHA1: 29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F
	 SHA256: 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0:B4:1B
Alias name: mozillacert79.pem
	 SHA1: D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27
	 SHA256: 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A
Alias name: mozillacert8.pem
	 SHA1: 3E:2B:F7:F2:03:1B:96:F3:8C:E6:C4:D8:A8:5D:3E:2D:58:47:6A:0F
	 SHA256: C7:66:A9:BE:F2:D4:07:1C:86:3A:31:AA:49:20:E8:13:B2:D1:98:60:8C:B7:B7:CF:E2:11:43:B8:36:DF:09:EA
Alias name: mozillacert80.pem
	 SHA1: B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB
	 SHA256: BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23
Alias name: mozillacert81.pem
	 SHA1: 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E
	 SHA256: 5C:58:46:8D:55:F5:8E:49:7E:74:39:82:D2:B5:00:10:B6:D1:65:37:4A:CF:83:A7:D4:A3:2D:B7:68:C4:40:8E
Alias name: mozillacert82.pem
	 SHA1: 2E:14:DA:EC:28:F0:FA:1E:8E:38:9A:4E:AB:EB:26:C0:0A:D3:83:C3
	 SHA256: FC:BF:E2:88:62:06:F7:2B:27:59:3C:8B:07:02:97:E1:2D:76:9E:D1:0E:D7:93:07:05:A8:09:8E:FF:C1:4D:17
Alias name: mozillacert83.pem
	 SHA1: A0:73:E5:C5:BD:43:61:0D:86:4C:21:13:0A:85:58:57:CC:9C:EA:46
	 SHA256: 8C:4E:DF:D0:43:48:F3:22:96:9E:7E:29:A4:CD:4D:CA:00:46:55:06:1C:16:E1:B0:76:42:2E:F3:42:AD:63:0E
Alias name: mozillacert84.pem
	 SHA1: D3:C0:63:F2:19:ED:07:3E:34:AD:5D:75:0B:32:76:29:FF:D5:9A:F2
	 SHA256: 79:3C:BF:45:59:B9:FD:E3:8A:B2:2D:F1:68:69:F6:98:81:AE:14:C4:B0:13:9A:C7:88:A7:8A:1A:FC:CA:02:FB
Alias name: mozillacert85.pem
	 SHA1: CF:9E:87:6D:D3:EB:FC:42:26:97:A3:B5:A3:7A:A0:76:A9:06:23:48
	 SHA256: BF:D8:8F:E1:10:1C:41:AE:3E:80:1B:F8:BE:56:35:0E:E9:BA:D1:A6:B9:BD:51:5E:DC:5C:6D:5B:87:11:AC:44
Alias name: mozillacert86.pem
	 SHA1: 74:2C:31:92:E6:07:E4:24:EB:45:49:54:2B:E1:BB:C5:3E:61:74:E2
	 SHA256: E7:68:56:34:EF:AC:F6:9A:CE:93:9A:6B:25:5B:7B:4F:AB:EF:42:93:5B:50:A2:65:AC:B5:CB:60:27:E4:4E:70
Alias name: mozillacert87.pem
	 SHA1: 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74
	 SHA256: 51:3B:2C:EC:B8:10:D4:CD:E5:DD:85:39:1A:DF:C6:C2:DD:60:D8:7B:B7:36:D2:B5:21:48:4A:A4:7A:0E:BE:F6
Alias name: mozillacert88.pem
	 SHA1: FE:45:65:9B:79:03:5B:98:A1:61:B5:51:2E:AC:DA:58:09:48:22:4D
	 SHA256: BC:10:4F:15:A4:8B:E7:09:DC:A5:42:A7:E1:D4:B9:DF:6F:05:45:27:E8:02:EA:A9:2D:59:54:44:25:8A:FE:71
Alias name: mozillacert89.pem
	 SHA1: C8:EC:8C:87:92:69:CB:4B:AB:39:E9:8D:7E:57:67:F3:14:95:73:9D
	 SHA256: E3:89:36:0D:0F:DB:AE:B3:D2:50:58:4B:47:30:31:4E:22:2F:39:C1:56:A0:20:14:4E:8D:96:05:61:79:15:06
Alias name: mozillacert9.pem
	 SHA1: F4:8B:11:BF:DE:AB:BE:94:54:20:71:E6:41:DE:6B:BE:88:2B:40:B9
	 SHA256: 76:00:29:5E:EF:E8:5B:9E:1F:D6:24:DB:76:06:2A:AA:AE:59:81:8A:54:D2:77:4C:D4:C0:B2:C0:11:31:E1:B3
Alias name: mozillacert90.pem
	 SHA1: F3:73:B3:87:06:5A:28:84:8A:F2:F3:4A:CE:19:2B:DD:C7:8E:9C:AC
	 SHA256: 55:92:60:84:EC:96:3A:64:B9:6E:2A:BE:01:CE:0B:A8:6A:64:FB:FE:BC:C7:AA:B5:AF:C1:55:B3:7F:D7:60:66
Alias name: mozillacert91.pem
	 SHA1: 3B:C0:38:0B:33:C3:F6:A6:0C:86:15:22:93:D9:DF:F5:4B:81:C0:04
	 SHA256: C1:B4:82:99:AB:A5:20:8F:E9:63:0A:CE:55:CA:68:A0:3E:DA:5A:51:9C:88:02:A0:D3:A6:73:BE:8F:8E:55:7D
Alias name: mozillacert92.pem
	 SHA1: A3:F1:33:3F:E2:42:BF:CF:C5:D1:4E:8F:39:42:98:40:68:10:D1:A0
	 SHA256: E1:78:90:EE:09:A3:FB:F4:F4:8B:9C:41:4A:17:D6:37:B7:A5:06:47:E9:BC:75:23:22:72:7F:CC:17:42:A9:11
Alias name: mozillacert93.pem
	 SHA1: 31:F1:FD:68:22:63:20:EE:C6:3B:3F:9D:EA:4A:3E:53:7C:7C:39:17
	 SHA256: C7:BA:65:67:DE:93:A7:98:AE:1F:AA:79:1E:71:2D:37:8F:AE:1F:93:C4:39:7F:EA:44:1B:B7:CB:E6:FD:59:95
Alias name: mozillacert94.pem
	 SHA1: 49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99
	 SHA256: 9A:11:40:25:19:7C:5B:B9:5D:94:E6:3D:55:CD:43:79:08:47:B6:46:B2:3C:DF:11:AD:A4:A0:0E:FF:15:FB:48
Alias name: mozillacert95.pem
	 SHA1: DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57
	 SHA256: ED:F7:EB:BC:A2:7A:2A:38:4D:38:7B:7D:40:10:C6:66:E2:ED:B4:84:3E:4C:29:B4:AE:1D:5B:93:32:E6:B2:4D
Alias name: mozillacert96.pem
	 SHA1: 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1
	 SHA256: FD:73:DA:D3:1C:64:4F:F1:B4:3B:EF:0C:CD:DA:96:71:0B:9C:D9:87:5E:CA:7E:31:70:7A:F3:E9:6D:52:2B:BD
Alias name: mozillacert97.pem
	 SHA1: 85:37:1C:A6:E5:50:14:3D:CE:28:03:47:1B:DE:3A:09:E8:F8:77:0F
	 SHA256: 83:CE:3C:12:29:68:8A:59:3D:48:5F:81:97:3C:0F:91:95:43:1E:DA:37:CC:5E:36:43:0E:79:C7:A8:88:63:8B
Alias name: mozillacert98.pem
	 SHA1: C9:A8:B9:E7:55:80:5E:58:E3:53:77:A7:25:EB:AF:C3:7B:27:CC:D7
	 SHA256: 3E:84:BA:43:42:90:85:16:E7:75:73:C0:99:2F:09:79:CA:08:4E:46:85:68:1F:F1:95:CC:BA:8A:22:9B:8A:76
Alias name: mozillacert99.pem
	 SHA1: F1:7F:6F:B6:31:DC:99:E3:A3:C8:7F:FE:1C:F1:81:10:88:D9:60:33
	 SHA256: 97:8C:D9:66:F2:FA:A0:7B:A7:AA:95:00:D9:C0:2E:9D:77:F2:CD:AD:A6:AD:6B:A7:4A:F4:B9:1C:66:59:3C:50
Alias name: netlockaranyclassgoldfotanusitvany
	 SHA1: 06:08:3F:59:3F:15:A1:04:A0:69:A4:6B:A9:03:D0:06:B7:97:09:91
	 SHA256: 6C:61:DA:C3:A2:DE:F0:31:50:6B:E0:36:D2:A6:FE:40:19:94:FB:D1:3D:F9:C8:D4:66:59:92:74:C4:46:EC:98
Alias name: networksolutionscertificateauthority
	 SHA1: 74:F8:A3:C3:EF:E7:B3:90:06:4B:83:90:3C:21:64:60:20:E5:DF:CE
	 SHA256: 15:F0:BA:00:A3:AC:7A:F3:AC:88:4C:07:2B:10:11:A0:77:BD:77:C0:97:F4:01:64:B2:F8:59:8A:BD:83:86:0C
Alias name: oistewisekeyglobalrootgaca
	 SHA1: 59:22:A1:E1:5A:EA:16:35:21:F8:98:39:6A:46:46:B0:44:1B:0F:A9
	 SHA256: 41:C9:23:86:6A:B4:CA:D6:B7:AD:57:80:81:58:2E:02:07:97:A6:CB:DF:4F:FF:78:CE:83:96:B3:89:37:D7:F5
Alias name: oistewisekeyglobalrootgbca
	 SHA1: 0F:F9:40:76:18:D3:D7:6A:4B:98:F0:A8:35:9E:0C:FD:27:AC:CC:ED
	 SHA256: 6B:9C:08:E8:6E:B0:F7:67:CF:AD:65:CD:98:B6:21:49:E5:49:4A:67:F5:84:5E:7B:D1:ED:01:9F:27:B8:6B:D6
Alias name: oistewisekeyglobalrootgcca
	 SHA1: E0:11:84:5E:34:DE:BE:88:81:B9:9C:F6:16:26:D1:96:1F:C3:B9:31
	 SHA256: 85:60:F9:1C:36:24:DA:BA:95:70:B5:FE:A0:DB:E3:6F:F1:1A:83:23:BE:94:86:85:4F:B3:F3:4A:55:71:19:8D
Alias name: quovadisrootca
	 SHA1: DE:3F:40:BD:50:93:D3:9B:6C:60:F6:DA:BC:07:62:01:00:89:76:C9
	 SHA256: A4:5E:DE:3B:BB:F0:9C:8A:E1:5C:72:EF:C0:72:68:D6:93:A2:1C:99:6F:D5:1E:67:CA:07:94:60:FD:6D:88:73
Alias name: quovadisrootca1g3
	 SHA1: 1B:8E:EA:57:96:29:1A:C9:39:EA:B8:0A:81:1A:73:73:C0:93:79:67
	 SHA256: 8A:86:6F:D1:B2:76:B5:7E:57:8E:92:1C:65:82:8A:2B:ED:58:E9:F2:F2:88:05:41:34:B7:F1:F4:BF:C9:CC:74
Alias name: quovadisrootca2
	 SHA1: CA:3A:FB:CF:12:40:36:4B:44:B2:16:20:88:80:48:39:19:93:7C:F7
	 SHA256: 85:A0:DD:7D:D7:20:AD:B7:FF:05:F8:3D:54:2B:20:9D:C7:FF:45:28:F7:D6:77:B1:83:89:FE:A5:E5:C4:9E:86
Alias name: quovadisrootca2g3
	 SHA1: 09:3C:61:F3:8B:8B:DC:7D:55:DF:75:38:02:05:00:E1:25:F5:C8:36
	 SHA256: 8F:E4:FB:0A:F9:3A:4D:0D:67:DB:0B:EB:B2:3E:37:C7:1B:F3:25:DC:BC:DD:24:0E:A0:4D:AF:58:B4:7E:18:40
Alias name: quovadisrootca3
	 SHA1: 1F:49:14:F7:D8:74:95:1D:DD:AE:02:C0:BE:FD:3A:2D:82:75:51:85
	 SHA256: 18:F1:FC:7F:20:5D:F8:AD:DD:EB:7F:E0:07:DD:57:E3:AF:37:5A:9C:4D:8D:73:54:6B:F4:F1:FE:D1:E1:8D:35
Alias name: quovadisrootca3g3
	 SHA1: 48:12:BD:92:3C:A8:C4:39:06:E7:30:6D:27:96:E6:A4:CF:22:2E:7D
	 SHA256: 88:EF:81:DE:20:2E:B0:18:45:2E:43:F8:64:72:5C:EA:5F:BD:1F:C2:D9:D2:05:73:07:09:C5:D8:B8:69:0F:46
Alias name: secomevrootca1
	 SHA1: FE:B8:C4:32:DC:F9:76:9A:CE:AE:3D:D8:90:8F:FD:28:86:65:64:7D
	 SHA256: A2:2D:BA:68:1E:97:37:6E:2D:39:7D:72:8A:AE:3A:9B:62:96:B9:FD:BA:60:BC:2E:11:F6:47:F2:C6:75:FB:37
Alias name: secomscrootca1
	 SHA1: 36:B1:2B:49:F9:81:9E:D7:4C:9E:BC:38:0F:C6:56:8F:5D:AC:B2:F7
	 SHA256: E7:5E:72:ED:9F:56:0E:EC:6E:B4:80:00:73:A4:3F:C3:AD:19:19:5A:39:22:82:01:78:95:97:4A:99:02:6B:6C
Alias name: secomscrootca2
	 SHA1: 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74
	 SHA256: 51:3B:2C:EC:B8:10:D4:CD:E5:DD:85:39:1A:DF:C6:C2:DD:60:D8:7B:B7:36:D2:B5:21:48:4A:A4:7A:0E:BE:F6
Alias name: secomvalicertclass1ca
	 SHA1: E5:DF:74:3C:B6:01:C4:9B:98:43:DC:AB:8C:E8:6A:81:10:9F:E4:8E
	 SHA256: F4:C1:49:55:1A:30:13:A3:5B:C7:BF:FE:17:A7:F3:44:9B:C1:AB:5B:5A:0A:E7:4B:06:C2:3B:90:00:4C:01:04
Alias name: secureglobalca
	 SHA1: 3A:44:73:5A:E5:81:90:1F:24:86:61:46:1E:3B:9C:C4:5F:F5:3A:1B
	 SHA256: 42:00:F5:04:3A:C8:59:0E:BB:52:7D:20:9E:D1:50:30:29:FB:CB:D4:1C:A1:B5:06:EC:27:F1:5A:DE:7D:AC:69
Alias name: securesignrootca11
	 SHA1: 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3
	 SHA256: BF:0F:EE:FB:9E:3A:58:1A:D5:F9:E9:DB:75:89:98:57:43:D2:61:08:5C:4D:31:4F:6F:5D:72:59:AA:42:16:12
Alias name: securetrustca
	 SHA1: 87:82:C6:C3:04:35:3B:CF:D2:96:92:D2:59:3E:7D:44:D9:34:FF:11
	 SHA256: F1:C1:B5:0A:E5:A2:0D:D8:03:0E:C9:F6:BC:24:82:3D:D3:67:B5:25:57:59:B4:E7:1B:61:FC:E9:F7:37:5D:73
Alias name: securitycommunicationrootca
	 SHA1: 36:B1:2B:49:F9:81:9E:D7:4C:9E:BC:38:0F:C6:56:8F:5D:AC:B2:F7
	 SHA256: E7:5E:72:ED:9F:56:0E:EC:6E:B4:80:00:73:A4:3F:C3:AD:19:19:5A:39:22:82:01:78:95:97:4A:99:02:6B:6C
Alias name: securitycommunicationrootca2
	 SHA1: 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74
	 SHA256: 51:3B:2C:EC:B8:10:D4:CD:E5:DD:85:39:1A:DF:C6:C2:DD:60:D8:7B:B7:36:D2:B5:21:48:4A:A4:7A:0E:BE:F6
Alias name: soneraclass1ca
	 SHA1: 07:47:22:01:99:CE:74:B9:7C:B0:3D:79:B2:64:A2:C8:55:E9:33:FF
	 SHA256: CD:80:82:84:CF:74:6F:F2:FD:6E:B5:8A:A1:D5:9C:4A:D4:B3:CA:56:FD:C6:27:4A:89:26:A7:83:5F:32:31:3D
Alias name: soneraclass2ca
	 SHA1: 37:F7:6D:E6:07:7C:90:C5:B1:3E:93:1A:B7:41:10:B4:F2:E4:9A:27
	 SHA256: 79:08:B4:03:14:C1:38:10:0B:51:8D:07:35:80:7F:FB:FC:F8:51:8A:00:95:33:71:05:BA:38:6B:15:3D:D9:27
Alias name: soneraclass2rootca
	 SHA1: 37:F7:6D:E6:07:7C:90:C5:B1:3E:93:1A:B7:41:10:B4:F2:E4:9A:27
	 SHA256: 79:08:B4:03:14:C1:38:10:0B:51:8D:07:35:80:7F:FB:FC:F8:51:8A:00:95:33:71:05:BA:38:6B:15:3D:D9:27
Alias name: sslcomevrootcertificationauthorityecc
	 SHA1: 4C:DD:51:A3:D1:F5:20:32:14:B0:C6:C5:32:23:03:91:C7:46:42:6D
	 SHA256: 22:A2:C1:F7:BD:ED:70:4C:C1:E7:01:B5:F4:08:C3:10:88:0F:E9:56:B5:DE:2A:4A:44:F9:9C:87:3A:25:A7:C8
Alias name: sslcomevrootcertificationauthorityrsar2
	 SHA1: 74:3A:F0:52:9B:D0:32:A0:F4:4A:83:CD:D4:BA:A9:7B:7C:2E:C4:9A
	 SHA256: 2E:7B:F1:6C:C2:24:85:A7:BB:E2:AA:86:96:75:07:61:B0:AE:39:BE:3B:2F:E9:D0:CC:6D:4E:F7:34:91:42:5C
Alias name: sslcomrootcertificationauthorityecc
	 SHA1: C3:19:7C:39:24:E6:54:AF:1B:C4:AB:20:95:7A:E2:C3:0E:13:02:6A
	 SHA256: 34:17:BB:06:CC:60:07:DA:1B:96:1C:92:0B:8A:B4:CE:3F:AD:82:0E:4A:A3:0B:9A:CB:C4:A7:4E:BD:CE:BC:65
Alias name: sslcomrootcertificationauthorityrsa
	 SHA1: B7:AB:33:08:D1:EA:44:77:BA:14:80:12:5A:6F:BD:A9:36:49:0C:BB
	 SHA256: 85:66:6A:56:2E:E0:BE:5C:E9:25:C1:D8:89:0A:6F:76:A8:7E:C1:6D:4D:7D:5F:29:EA:74:19:CF:20:12:3B:69
Alias name: staatdernederlandenevrootca
	 SHA1: 76:E2:7E:C1:4F:DB:82:C1:C0:A6:75:B5:05:BE:3D:29:B4:ED:DB:BB
	 SHA256: 4D:24:91:41:4C:FE:95:67:46:EC:4C:EF:A6:CF:6F:72:E2:8A:13:29:43:2F:9D:8A:90:7A:C4:CB:5D:AD:C1:5A
Alias name: staatdernederlandenrootcag3
	 SHA1: D8:EB:6B:41:51:92:59:E0:F3:E7:85:00:C0:3D:B6:88:97:C9:EE:FC
	 SHA256: 3C:4F:B0:B9:5A:B8:B3:00:32:F4:32:B8:6F:53:5F:E1:72:C1:85:D0:FD:39:86:58:37:CF:36:18:7F:A6:F4:28
Alias name: starfieldclass2ca
	 SHA1: AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A
	 SHA256: 14:65:FA:20:53:97:B8:76:FA:A6:F0:A9:95:8E:55:90:E4:0F:CC:7F:AA:4F:B7:C2:C8:67:75:21:FB:5F:B6:58
Alias name: starfieldrootcertificateauthorityg2
	 SHA1: B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E
	 SHA256: 2C:E1:CB:0B:F9:D2:F9:E1:02:99:3F:BE:21:51:52:C3:B2:DD:0C:AB:DE:1C:68:E5:31:9B:83:91:54:DB:B7:F5
Alias name: starfieldrootg2ca
	 SHA1: B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E
	 SHA256: 2C:E1:CB:0B:F9:D2:F9:E1:02:99:3F:BE:21:51:52:C3:B2:DD:0C:AB:DE:1C:68:E5:31:9B:83:91:54:DB:B7:F5
Alias name: starfieldservicesrootcertificateauthorityg2
	 SHA1: 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F
	 SHA256: 56:8D:69:05:A2:C8:87:08:A4:B3:02:51:90:ED:CF:ED:B1:97:4A:60:6A:13:C6:E5:29:0F:CB:2A:E6:3E:DA:B5
Alias name: starfieldservicesrootg2ca
	 SHA1: 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F
	 SHA256: 56:8D:69:05:A2:C8:87:08:A4:B3:02:51:90:ED:CF:ED:B1:97:4A:60:6A:13:C6:E5:29:0F:CB:2A:E6:3E:DA:B5
Alias name: swisssigngoldcag2
	 SHA1: D8:C5:38:8A:B7:30:1B:1B:6E:D4:7A:E6:45:25:3A:6F:9F:1A:27:61
	 SHA256: 62:DD:0B:E9:B9:F5:0A:16:3E:A0:F8:E7:5C:05:3B:1E:CA:57:EA:55:C8:68:8F:64:7C:68:81:F2:C8:35:7B:95
Alias name: swisssigngoldg2ca
	 SHA1: D8:C5:38:8A:B7:30:1B:1B:6E:D4:7A:E6:45:25:3A:6F:9F:1A:27:61
	 SHA256: 62:DD:0B:E9:B9:F5:0A:16:3E:A0:F8:E7:5C:05:3B:1E:CA:57:EA:55:C8:68:8F:64:7C:68:81:F2:C8:35:7B:95
Alias name: swisssignplatinumg2ca
	 SHA1: 56:E0:FA:C0:3B:8F:18:23:55:18:E5:D3:11:CA:E8:C2:43:31:AB:66
	 SHA256: 3B:22:2E:56:67:11:E9:92:30:0D:C0:B1:5A:B9:47:3D:AF:DE:F8:C8:4D:0C:EF:7D:33:17:B4:C1:82:1D:14:36
Alias name: swisssignsilvercag2
	 SHA1: 9B:AA:E5:9F:56:EE:21:CB:43:5A:BE:25:93:DF:A7:F0:40:D1:1D:CB
	 SHA256: BE:6C:4D:A2:BB:B9:BA:59:B6:F3:93:97:68:37:42:46:C3:C0:05:99:3F:A9:8F:02:0D:1D:ED:BE:D4:8A:81:D5
Alias name: swisssignsilverg2ca
	 SHA1: 9B:AA:E5:9F:56:EE:21:CB:43:5A:BE:25:93:DF:A7:F0:40:D1:1D:CB
	 SHA256: BE:6C:4D:A2:BB:B9:BA:59:B6:F3:93:97:68:37:42:46:C3:C0:05:99:3F:A9:8F:02:0D:1D:ED:BE:D4:8A:81:D5
Alias name: szafirrootca2
	 SHA1: E2:52:FA:95:3F:ED:DB:24:60:BD:6E:28:F3:9C:CC:CF:5E:B3:3F:DE
	 SHA256: A1:33:9D:33:28:1A:0B:56:E5:57:D3:D3:2B:1C:E7:F9:36:7E:B0:94:BD:5F:A7:2A:7E:50:04:C8:DE:D7:CA:FE
Alias name: teliasonerarootcav1
	 SHA1: 43:13:BB:96:F1:D5:86:9B:C1:4E:6A:92:F6:CF:F6:34:69:87:82:37
	 SHA256: DD:69:36:FE:21:F8:F0:77:C1:23:A1:A5:21:C1:22:24:F7:22:55:B7:3E:03:A7:26:06:93:E8:A2:4B:0F:A3:89
Alias name: thawtepersonalfreemailca
	 SHA1: E6:18:83:AE:84:CA:C1:C1:CD:52:AD:E8:E9:25:2B:45:A6:4F:B7:E2
	 SHA256: 5B:38:BD:12:9E:83:D5:A0:CA:D2:39:21:08:94:90:D5:0D:4A:AE:37:04:28:F8:DD:FF:FF:FA:4C:15:64:E1:84
Alias name: thawtepremiumserverca
	 SHA1: E0:AB:05:94:20:72:54:93:05:60:62:02:36:70:F7:CD:2E:FC:66:66
	 SHA256: 3F:9F:27:D5:83:20:4B:9E:09:C8:A3:D2:06:6C:4B:57:D3:A2:47:9C:36:93:65:08:80:50:56:98:10:5D:BC:E9
Alias name: thawteprimaryrootca
	 SHA1: 91:C6:D6:EE:3E:8A:C8:63:84:E5:48:C2:99:29:5C:75:6C:81:7B:81
	 SHA256: 8D:72:2F:81:A9:C1:13:C0:79:1D:F1:36:A2:96:6D:B2:6C:95:0A:97:1D:B4:6B:41:99:F4:EA:54:B7:8B:FB:9F
Alias name: thawteprimaryrootcag2
	 SHA1: AA:DB:BC:22:23:8F:C4:01:A1:27:BB:38:DD:F4:1D:DB:08:9E:F0:12
	 SHA256: A4:31:0D:50:AF:18:A6:44:71:90:37:2A:86:AF:AF:8B:95:1F:FB:43:1D:83:7F:1E:56:88:B4:59:71:ED:15:57
Alias name: thawteprimaryrootcag3
	 SHA1: F1:8B:53:8D:1B:E9:03:B6:A6:F0:56:43:5B:17:15:89:CA:F3:6B:F2
	 SHA256: 4B:03:F4:58:07:AD:70:F2:1B:FC:2C:AE:71:C9:FD:E4:60:4C:06:4C:F5:FF:B6:86:BA:E5:DB:AA:D7:FD:D3:4C
Alias name: thawteserverca
	 SHA1: 9F:AD:91:A6:CE:6A:C6:C5:00:47:C4:4E:C9:D4:A5:0D:92:D8:49:79
	 SHA256: 87:C6:78:BF:B8:B2:5F:38:F7:E9:7B:33:69:56:BB:CF:14:4B:BA:CA:A5:36:47:E6:1A:23:25:BC:10:55:31:6B
Alias name: trustcenterclass2caii
	 SHA1: AE:50:83:ED:7C:F4:5C:BC:8F:61:C6:21:FE:68:5D:79:42:21:15:6E
	 SHA256: E6:B8:F8:76:64:85:F8:07:AE:7F:8D:AC:16:70:46:1F:07:C0:A1:3E:EF:3A:1F:F7:17:53:8D:7A:BA:D3:91:B4
Alias name: trustcenterclass4caii
	 SHA1: A6:9A:91:FD:05:7F:13:6A:42:63:0B:B1:76:0D:2D:51:12:0C:16:50
	 SHA256: 32:66:96:7E:59:CD:68:00:8D:9D:D3:20:81:11:85:C7:04:20:5E:8D:95:FD:D8:4F:1C:7B:31:1E:67:04:FC:32
Alias name: trustcenteruniversalcai
	 SHA1: 6B:2F:34:AD:89:58:BE:62:FD:B0:6B:5C:CE:BB:9D:D9:4F:4E:39:F3
	 SHA256: EB:F3:C0:2A:87:89:B1:FB:7D:51:19:95:D6:63:B7:29:06:D9:13:CE:0D:5E:10:56:8A:8A:77:E2:58:61:67:E7
Alias name: trustcoreca1
	 SHA1: 58:D1:DF:95:95:67:6B:63:C0:F0:5B:1C:17:4D:8B:84:0B:C8:78:BD
	 SHA256: 5A:88:5D:B1:9C:01:D9:12:C5:75:93:88:93:8C:AF:BB:DF:03:1A:B2:D4:8E:91:EE:15:58:9B:42:97:1D:03:9C
Alias name: trustcorrootcertca1
	 SHA1: FF:BD:CD:E7:82:C8:43:5E:3C:6F:26:86:5C:CA:A8:3A:45:5B:C3:0A
	 SHA256: D4:0E:9C:86:CD:8F:E4:68:C1:77:69:59:F4:9E:A7:74:FA:54:86:84:B6:C4:06:F3:90:92:61:F4:DC:E2:57:5C
Alias name: trustcorrootcertca2
	 SHA1: B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0
	 SHA256: 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65
Alias name: trustisfpsrootca
	 SHA1: 3B:C0:38:0B:33:C3:F6:A6:0C:86:15:22:93:D9:DF:F5:4B:81:C0:04
	 SHA256: C1:B4:82:99:AB:A5:20:8F:E9:63:0A:CE:55:CA:68:A0:3E:DA:5A:51:9C:88:02:A0:D3:A6:73:BE:8F:8E:55:7D
Alias name: ttelesecglobalrootclass2
	 SHA1: 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9
	 SHA256: 91:E2:F5:78:8D:58:10:EB:A7:BA:58:73:7D:E1:54:8A:8E:CA:CD:01:45:98:BC:0B:14:3E:04:1B:17:05:25:52
Alias name: ttelesecglobalrootclass2ca
	 SHA1: 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9
	 SHA256: 91:E2:F5:78:8D:58:10:EB:A7:BA:58:73:7D:E1:54:8A:8E:CA:CD:01:45:98:BC:0B:14:3E:04:1B:17:05:25:52
Alias name: ttelesecglobalrootclass3
	 SHA1: 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1
	 SHA256: FD:73:DA:D3:1C:64:4F:F1:B4:3B:EF:0C:CD:DA:96:71:0B:9C:D9:87:5E:CA:7E:31:70:7A:F3:E9:6D:52:2B:BD
Alias name: ttelesecglobalrootclass3ca
	 SHA1: 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1
	 SHA256: FD:73:DA:D3:1C:64:4F:F1:B4:3B:EF:0C:CD:DA:96:71:0B:9C:D9:87:5E:CA:7E:31:70:7A:F3:E9:6D:52:2B:BD
Alias name: tubitakkamusmsslkoksertifikasisurum1
	 SHA1: 31:43:64:9B:EC:CE:27:EC:ED:3A:3F:0B:8F:0D:E4:E8:91:DD:EE:CA
	 SHA256: 46:ED:C3:68:90:46:D5:3A:45:3F:B3:10:4A:B8:0D:CA:EC:65:8B:26:60:EA:16:29:DD:7E:86:79:90:64:87:16
Alias name: twcaglobalrootca
	 SHA1: 9C:BB:48:53:F6:A4:F6:D3:52:A4:E8:32:52:55:60:13:F5:AD:AF:65
	 SHA256: 59:76:90:07:F7:68:5D:0F:CD:50:87:2F:9F:95:D5:75:5A:5B:2B:45:7D:81:F3:69:2B:61:0A:98:67:2F:0E:1B
Alias name: twcarootcertificationauthority
	 SHA1: CF:9E:87:6D:D3:EB:FC:42:26:97:A3:B5:A3:7A:A0:76:A9:06:23:48
	 SHA256: BF:D8:8F:E1:10:1C:41:AE:3E:80:1B:F8:BE:56:35:0E:E9:BA:D1:A6:B9:BD:51:5E:DC:5C:6D:5B:87:11:AC:44
Alias name: ucaextendedvalidationroot
	 SHA1: A3:A1:B0:6F:24:61:23:4A:E3:36:A5:C2:37:FC:A6:FF:DD:F0:D7:3A
	 SHA256: D4:3A:F9:B3:54:73:75:5C:96:84:FC:06:D7:D8:CB:70:EE:5C:28:E7:73:FB:29:4E:B4:1E:E7:17:22:92:4D:24
Alias name: ucaglobalg2root
	 SHA1: 28:F9:78:16:19:7A:FF:18:25:18:AA:44:FE:C1:A0:CE:5C:B6:4C:8A
	 SHA256: 9B:EA:11:C9:76:FE:01:47:64:C1:BE:56:A6:F9:14:B5:A5:60:31:7A:BD:99:88:39:33:82:E5:16:1A:A0:49:3C
Alias name: usertrustecc
	 SHA1: D1:CB:CA:5D:B2:D5:2A:7F:69:3B:67:4D:E5:F0:5A:1D:0C:95:7D:F0
	 SHA256: 4F:F4:60:D5:4B:9C:86:DA:BF:BC:FC:57:12:E0:40:0D:2B:ED:3F:BC:4D:4F:BD:AA:86:E0:6A:DC:D2:A9:AD:7A
Alias name: usertrustecccertificationauthority
	 SHA1: D1:CB:CA:5D:B2:D5:2A:7F:69:3B:67:4D:E5:F0:5A:1D:0C:95:7D:F0
	 SHA256: 4F:F4:60:D5:4B:9C:86:DA:BF:BC:FC:57:12:E0:40:0D:2B:ED:3F:BC:4D:4F:BD:AA:86:E0:6A:DC:D2:A9:AD:7A
Alias name: usertrustrsa
	 SHA1: 2B:8F:1B:57:33:0D:BB:A2:D0:7A:6C:51:F7:0E:E9:0D:DA:B9:AD:8E
	 SHA256: E7:93:C9:B0:2F:D8:AA:13:E2:1C:31:22:8A:CC:B0:81:19:64:3B:74:9C:89:89:64:B1:74:6D:46:C3:D4:CB:D2
Alias name: usertrustrsacertificationauthority
	 SHA1: 2B:8F:1B:57:33:0D:BB:A2:D0:7A:6C:51:F7:0E:E9:0D:DA:B9:AD:8E
	 SHA256: E7:93:C9:B0:2F:D8:AA:13:E2:1C:31:22:8A:CC:B0:81:19:64:3B:74:9C:89:89:64:B1:74:6D:46:C3:D4:CB:D2
Alias name: utndatacorpsgcca
	 SHA1: 58:11:9F:0E:12:82:87:EA:50:FD:D9:87:45:6F:4F:78:DC:FA:D6:D4
	 SHA256: 85:FB:2F:91:DD:12:27:5A:01:45:B6:36:53:4F:84:02:4A:D6:8B:69:B8:EE:88:68:4F:F7:11:37:58:05:B3:48
Alias name: utnuserfirstclientauthemailca
	 SHA1: B1:72:B1:A5:6D:95:F9:1F:E5:02:87:E1:4D:37:EA:6A:44:63:76:8A
	 SHA256: 43:F2:57:41:2D:44:0D:62:74:76:97:4F:87:7D:A8:F1:FC:24:44:56:5A:36:7A:E6:0E:DD:C2:7A:41:25:31:AE
Alias name: utnuserfirsthardwareca
	 SHA1: 04:83:ED:33:99:AC:36:08:05:87:22:ED:BC:5E:46:00:E3:BE:F9:D7
	 SHA256: 6E:A5:47:41:D0:04:66:7E:ED:1B:48:16:63:4A:A3:A7:9E:6E:4B:96:95:0F:82:79:DA:FC:8D:9B:D8:81:21:37
Alias name: utnuserfirstobjectca
	 SHA1: E1:2D:FB:4B:41:D7:D9:C3:2B:30:51:4B:AC:1D:81:D8:38:5E:2D:46
	 SHA256: 6F:FF:78:E4:00:A7:0C:11:01:1C:D8:59:77:C4:59:FB:5A:F9:6A:3D:F0:54:08:20:D0:F4:B8:60:78:75:E5:8F
Alias name: valicertclass2ca
	 SHA1: 31:7A:2A:D0:7F:2B:33:5E:F5:A1:C3:4E:4B:57:E8:B7:D8:F1:FC:A6
	 SHA256: 58:D0:17:27:9C:D4:DC:63:AB:DD:B1:96:A6:C9:90:6C:30:C4:E0:87:83:EA:E8:C1:60:99:54:D6:93:55:59:6B
Alias name: verisignc1g1.pem
	 SHA1: 90:AE:A2:69:85:FF:14:80:4C:43:49:52:EC:E9:60:84:77:AF:55:6F
	 SHA256: D1:7C:D8:EC:D5:86:B7:12:23:8A:48:2C:E4:6F:A5:29:39:70:74:2F:27:6D:8A:B6:A9:E4:6E:E0:28:8F:33:55
Alias name: verisignc1g2.pem
	 SHA1: 27:3E:E1:24:57:FD:C4:F9:0C:55:E8:2B:56:16:7F:62:F5:32:E5:47
	 SHA256: 34:1D:E9:8B:13:92:AB:F7:F4:AB:90:A9:60:CF:25:D4:BD:6E:C6:5B:9A:51:CE:6E:D0:67:D0:0E:C7:CE:9B:7F
Alias name: verisignc1g3.pem
	 SHA1: 20:42:85:DC:F7:EB:76:41:95:57:8E:13:6B:D4:B7:D1:E9:8E:46:A5
	 SHA256: CB:B5:AF:18:5E:94:2A:24:02:F9:EA:CB:C0:ED:5B:B8:76:EE:A3:C1:22:36:23:D0:04:47:E4:F3:BA:55:4B:65
Alias name: verisignc1g6.pem
	 SHA1: 51:7F:61:1E:29:91:6B:53:82:FB:72:E7:44:D9:8D:C3:CC:53:6D:64
	 SHA256: 9D:19:0B:2E:31:45:66:68:5B:E8:A8:89:E2:7A:A8:C7:D7:AE:1D:8A:AD:DB:A3:C1:EC:F9:D2:48:63:CD:34:B9
Alias name: verisignc2g1.pem
	 SHA1: 67:82:AA:E0:ED:EE:E2:1A:58:39:D3:C0:CD:14:68:0A:4F:60:14:2A
	 SHA256: BD:46:9F:F4:5F:AA:E7:C5:4C:CB:D6:9D:3F:3B:00:22:55:D9:B0:6B:10:B1:D0:FA:38:8B:F9:6B:91:8B:2C:E9
Alias name: verisignc2g2.pem
	 SHA1: B3:EA:C4:47:76:C9:C8:1C:EA:F2:9D:95:B6:CC:A0:08:1B:67:EC:9D
	 SHA256: 3A:43:E2:20:FE:7F:3E:A9:65:3D:1E:21:74:2E:AC:2B:75:C2:0F:D8:98:03:05:BC:50:2C:AF:8C:2D:9B:41:A1
Alias name: verisignc2g3.pem
	 SHA1: 61:EF:43:D7:7F:CA:D4:61:51:BC:98:E0:C3:59:12:AF:9F:EB:63:11
	 SHA256: 92:A9:D9:83:3F:E1:94:4D:B3:66:E8:BF:AE:7A:95:B6:48:0C:2D:6C:6C:2A:1B:E6:5D:42:36:B6:08:FC:A1:BB
Alias name: verisignc2g6.pem
	 SHA1: 40:B3:31:A0:E9:BF:E8:55:BC:39:93:CA:70:4F:4E:C2:51:D4:1D:8F
	 SHA256: CB:62:7D:18:B5:8A:D5:6D:DE:33:1A:30:45:6B:C6:5C:60:1A:4E:9B:18:DE:DC:EA:08:E7:DA:AA:07:81:5F:F0
Alias name: verisignc3g1.pem
	 SHA1: A1:DB:63:93:91:6F:17:E4:18:55:09:40:04:15:C7:02:40:B0:AE:6B
	 SHA256: A4:B6:B3:99:6F:C2:F3:06:B3:FD:86:81:BD:63:41:3D:8C:50:09:CC:4F:A3:29:C2:CC:F0:E2:FA:1B:14:03:05
Alias name: verisignc3g2.pem
	 SHA1: 85:37:1C:A6:E5:50:14:3D:CE:28:03:47:1B:DE:3A:09:E8:F8:77:0F
	 SHA256: 83:CE:3C:12:29:68:8A:59:3D:48:5F:81:97:3C:0F:91:95:43:1E:DA:37:CC:5E:36:43:0E:79:C7:A8:88:63:8B
Alias name: verisignc3g3.pem
	 SHA1: 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6
	 SHA256: EB:04:CF:5E:B1:F3:9A:FA:76:2F:2B:B1:20:F2:96:CB:A5:20:C1:B9:7D:B1:58:95:65:B8:1C:B9:A1:7B:72:44
Alias name: verisignc3g4.pem
	 SHA1: 22:D5:D8:DF:8F:02:31:D1:8D:F7:9D:B7:CF:8A:2D:64:C9:3F:6C:3A
	 SHA256: 69:DD:D7:EA:90:BB:57:C9:3E:13:5D:C8:5E:A6:FC:D5:48:0B:60:32:39:BD:C4:54:FC:75:8B:2A:26:CF:7F:79
Alias name: verisignc3g5.pem
	 SHA1: 4E:B6:D5:78:49:9B:1C:CF:5F:58:1E:AD:56:BE:3D:9B:67:44:A5:E5
	 SHA256: 9A:CF:AB:7E:43:C8:D8:80:D0:6B:26:2A:94:DE:EE:E4:B4:65:99:89:C3:D0:CA:F1:9B:AF:64:05:E4:1A:B7:DF
Alias name: verisignc4g2.pem
	 SHA1: 0B:77:BE:BB:CB:7A:A2:47:05:DE:CC:0F:BD:6A:02:FC:7A:BD:9B:52
	 SHA256: 44:64:0A:0A:0E:4D:00:0F:BD:57:4D:2B:8A:07:BD:B4:D1:DF:ED:3B:45:BA:AB:A7:6F:78:57:78:C7:01:19:61
Alias name: verisignc4g3.pem
	 SHA1: C8:EC:8C:87:92:69:CB:4B:AB:39:E9:8D:7E:57:67:F3:14:95:73:9D
	 SHA256: E3:89:36:0D:0F:DB:AE:B3:D2:50:58:4B:47:30:31:4E:22:2F:39:C1:56:A0:20:14:4E:8D:96:05:61:79:15:06
Alias name: verisignclass1ca
	 SHA1: CE:6A:64:A3:09:E4:2F:BB:D9:85:1C:45:3E:64:09:EA:E8:7D:60:F1
	 SHA256: 51:84:7C:8C:BD:2E:9A:72:C9:1E:29:2D:2A:E2:47:D7:DE:1E:3F:D2:70:54:7A:20:EF:7D:61:0F:38:B8:84:2C
Alias name: verisignclass1g2ca
	 SHA1: 27:3E:E1:24:57:FD:C4:F9:0C:55:E8:2B:56:16:7F:62:F5:32:E5:47
	 SHA256: 34:1D:E9:8B:13:92:AB:F7:F4:AB:90:A9:60:CF:25:D4:BD:6E:C6:5B:9A:51:CE:6E:D0:67:D0:0E:C7:CE:9B:7F
Alias name: verisignclass1g3ca
	 SHA1: 20:42:85:DC:F7:EB:76:41:95:57:8E:13:6B:D4:B7:D1:E9:8E:46:A5
	 SHA256: CB:B5:AF:18:5E:94:2A:24:02:F9:EA:CB:C0:ED:5B:B8:76:EE:A3:C1:22:36:23:D0:04:47:E4:F3:BA:55:4B:65
Alias name: verisignclass2g2ca
	 SHA1: B3:EA:C4:47:76:C9:C8:1C:EA:F2:9D:95:B6:CC:A0:08:1B:67:EC:9D
	 SHA256: 3A:43:E2:20:FE:7F:3E:A9:65:3D:1E:21:74:2E:AC:2B:75:C2:0F:D8:98:03:05:BC:50:2C:AF:8C:2D:9B:41:A1
Alias name: verisignclass2g3ca
	 SHA1: 61:EF:43:D7:7F:CA:D4:61:51:BC:98:E0:C3:59:12:AF:9F:EB:63:11
	 SHA256: 92:A9:D9:83:3F:E1:94:4D:B3:66:E8:BF:AE:7A:95:B6:48:0C:2D:6C:6C:2A:1B:E6:5D:42:36:B6:08:FC:A1:BB
Alias name: verisignclass3ca
	 SHA1: A1:DB:63:93:91:6F:17:E4:18:55:09:40:04:15:C7:02:40:B0:AE:6B
	 SHA256: A4:B6:B3:99:6F:C2:F3:06:B3:FD:86:81:BD:63:41:3D:8C:50:09:CC:4F:A3:29:C2:CC:F0:E2:FA:1B:14:03:05
Alias name: verisignclass3g2ca
	 SHA1: 85:37:1C:A6:E5:50:14:3D:CE:28:03:47:1B:DE:3A:09:E8:F8:77:0F
	 SHA256: 83:CE:3C:12:29:68:8A:59:3D:48:5F:81:97:3C:0F:91:95:43:1E:DA:37:CC:5E:36:43:0E:79:C7:A8:88:63:8B
Alias name: verisignclass3g3ca
	 SHA1: 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6
	 SHA256: EB:04:CF:5E:B1:F3:9A:FA:76:2F:2B:B1:20:F2:96:CB:A5:20:C1:B9:7D:B1:58:95:65:B8:1C:B9:A1:7B:72:44
Alias name: verisignclass3g4ca
	 SHA1: 22:D5:D8:DF:8F:02:31:D1:8D:F7:9D:B7:CF:8A:2D:64:C9:3F:6C:3A
	 SHA256: 69:DD:D7:EA:90:BB:57:C9:3E:13:5D:C8:5E:A6:FC:D5:48:0B:60:32:39:BD:C4:54:FC:75:8B:2A:26:CF:7F:79
Alias name: verisignclass3g5ca
	 SHA1: 4E:B6:D5:78:49:9B:1C:CF:5F:58:1E:AD:56:BE:3D:9B:67:44:A5:E5
	 SHA256: 9A:CF:AB:7E:43:C8:D8:80:D0:6B:26:2A:94:DE:EE:E4:B4:65:99:89:C3:D0:CA:F1:9B:AF:64:05:E4:1A:B7:DF
Alias name: verisignclass3publicprimarycertificationauthorityg4
	 SHA1: 22:D5:D8:DF:8F:02:31:D1:8D:F7:9D:B7:CF:8A:2D:64:C9:3F:6C:3A
	 SHA256: 69:DD:D7:EA:90:BB:57:C9:3E:13:5D:C8:5E:A6:FC:D5:48:0B:60:32:39:BD:C4:54:FC:75:8B:2A:26:CF:7F:79
Alias name: verisignclass3publicprimarycertificationauthorityg5
	 SHA1: 4E:B6:D5:78:49:9B:1C:CF:5F:58:1E:AD:56:BE:3D:9B:67:44:A5:E5
	 SHA256: 9A:CF:AB:7E:43:C8:D8:80:D0:6B:26:2A:94:DE:EE:E4:B4:65:99:89:C3:D0:CA:F1:9B:AF:64:05:E4:1A:B7:DF
Alias name: verisignroot.pem
	 SHA1: 36:79:CA:35:66:87:72:30:4D:30:A5:FB:87:3B:0F:A7:7B:B7:0D:54
	 SHA256: 23:99:56:11:27:A5:71:25:DE:8C:EF:EA:61:0D:DF:2F:A0:78:B5:C8:06:7F:4E:82:82:90:BF:B8:60:E8:4B:3C
Alias name: verisigntsaca
	 SHA1: 20:CE:B1:F0:F5:1C:0E:19:A9:F3:8D:B1:AA:8E:03:8C:AA:7A:C7:01
	 SHA256: CB:6B:05:D9:E8:E5:7C:D8:82:B1:0B:4D:B7:0D:E4:BB:1D:E4:2B:A4:8A:7B:D0:31:8B:63:5B:F6:E7:78:1A:9D
Alias name: verisignuniversalrootca
	 SHA1: 36:79:CA:35:66:87:72:30:4D:30:A5:FB:87:3B:0F:A7:7B:B7:0D:54
	 SHA256: 23:99:56:11:27:A5:71:25:DE:8C:EF:EA:61:0D:DF:2F:A0:78:B5:C8:06:7F:4E:82:82:90:BF:B8:60:E8:4B:3C
Alias name: verisignuniversalrootcertificationauthority
	 SHA1: 36:79:CA:35:66:87:72:30:4D:30:A5:FB:87:3B:0F:A7:7B:B7:0D:54
	 SHA256: 23:99:56:11:27:A5:71:25:DE:8C:EF:EA:61:0D:DF:2F:A0:78:B5:C8:06:7F:4E:82:82:90:BF:B8:60:E8:4B:3C
Alias name: xrampglobalca
	 SHA1: B8:01:86:D1:EB:9C:86:A5:41:04:CF:30:54:F3:4C:52:B7:E5:58:C6
	 SHA256: CE:CD:DC:90:50:99:D8:DA:DF:C5:B1:D2:09:B7:37:CB:E2:C1:8C:FB:2C:10:C0:FF:0B:CF:0D:32:86:FC:1A:A2
Alias name: xrampglobalcaroot
	 SHA1: B8:01:86:D1:EB:9C:86:A5:41:04:CF:30:54:F3:4C:52:B7:E5:58:C6
	 SHA256: CE:CD:DC:90:50:99:D8:DA:DF:C5:B1:D2:09:B7:37:CB:E2:C1:8C:FB:2C:10:C0:FF:0B:CF:0D:32:86:FC:1A:A2
```

# Uso de AWS WAF para proteger sus API de REST en API Gateway
<a name="apigateway-control-access-aws-waf"></a>

AWS WAF es un firewall de aplicaciones web que ayuda a proteger las aplicaciones web y las API de ataques. Le permite configurar un conjunto de reglas denominadas lista de control de acceso web (Web ACL) que permiten, bloquean o cuentan solicitudes web en función de las reglas y condiciones de seguridad web personalizables que defina. Para obtener más información, consulte [Funcionamiento de AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/how-aws-waf-works.html).

Puede utilizar AWS WAF para proteger a la API de REST de API Gateway de vulnerabilidades web comunes, como ataques de inyección de código SQL y scripting entre sitios (XSS). Esto podría afectar a la disponibilidad y el rendimiento de la API, comprometer la seguridad o consumir recursos excesivos. Por ejemplo, puede crear reglas para permitir o bloquear solicitudes de rangos de direcciones IP especificados, solicitudes de bloques CIDR, solicitudes que se originan en un país o región específico, solicitudes que contengan código SQL malintencionado o solicitudes que contengan secuencias de comandos malintencionadas. 

También puede crear reglas que busquen una cadena o un patrón de expresión regular en encabezados HTTP, métodos, cadenas de consulta, URI y el cuerpo de la solicitud (limitado a los primeros 64 KB). Además, puede crear reglas para bloquear ataques de agentes de usuario específicos, bots malintencionados y scrapers de contenido. Por ejemplo, puede utilizar reglas basadas en la frecuencia para especificar el número de solicitudes web permitidas por IP de cliente en un periodo de 5 minutos actualizado constantemente. 

**importante**  
AWS WAF es su primera línea de defensa contra vulnerabilidades de la web. Cuando AWS WAF está habilitado en una API, se evalúan las reglas de AWS WAF antes que otras características del control de acceso, como, por ejemplo, [las políticas de recursos](apigateway-resource-policies.md), [las políticas de IAM](permissions.md), [los autorizadores de Lambda](apigateway-use-lambda-authorizer.md) y [los autorizadores de Amazon Cognito](apigateway-integrate-with-cognito.md). Por ejemplo, si AWS WAF bloquea el acceso de un bloque de CIDR permitido por una política de recursos, AWS WAF tiene prioridad y no se evalúa la política de recursos.

Para habilitar AWS WAF para su API, debe hacer lo siguiente:

1. Utilice la consola de AWS WAF, el AWS SDK o la CLI para crear una ACL web que contenga la combinación deseada de reglas administradas de AWS WAF y sus propias reglas personalizadas. Para obtener más información, consulte [Getting Started with AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started.html) y [Web access control lists (web ACLs)](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html).
**importante**  
API Gateway requiere una ACL web de AWS WAFV2 para una aplicación regional o una ACL web de AWS WAF Classic Regional.

1. Asociar la ACL web de AWS WAF a una etapa de API. Puede hacerlo utilizando la consola de AWS WAF, el SDK de AWS, la CLI o la consola de API Gateway.

## Asociación de una ACL web de AWS WAF a una etapa de la API de API Gateway mediante la consola de API Gateway
<a name="apigateway-control-access-aws-waf-console"></a>

Si desea utilizar la consola de API Gateway para asociar una ACL web de AWS WAF a una etapa de la API de API Gateway existente, siga estos pasos:

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Seleccione una API existente o cree una nueva.

1. En el panel de navegación principal, elija **Etapas** y, a continuación, elija una etapa.

1. En la sección **Detalles de la etapa**, elija **Editar**.

1. En **Web Application Firewall (AWS WAF)**, seleccione la ACL web.

   Si utiliza AWS WAFV2, seleccione una ACL web de AWS WAFV2 para una aplicación regional. La ACL web y todos los recursos de AWS WAFV2 que utilice deben estar ubicados en la misma región que la API.

   Si utiliza AWS WAF Classic Regional, seleccione una ACL web regional.

1. Seleccione **Save changes (Guardar cambios)**.

## Asociación de una ACL web de AWS WAF a una etapa de la API de API Gateway mediante la AWS CLI
<a name="apigateway-control-access-aws-waf-awscli"></a>

El siguiente comando [associate-web-acl](https://docs.aws.amazon.com/cli/latest/reference/wafv2/associate-web-acl.html) permite asociar una ACL web de AWS WAFV2 de una aplicación regional a una etapa de API de API Gateway existente:

```
aws wafv2 associate-web-acl \
--web-acl-arn  arn:aws:wafv2:{region}:111122223333:regional/webacl/test-cli/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
--resource-arn arn:aws:apigateway:{region}::/restapis/4wk1k4onj3/stages/prod
```

El siguiente comando [associate-web-acl](https://docs.aws.amazon.com/cli/latest/reference/waf-regional/associate-web-acl.html) permite asociar una ACL web de AWS WAF Classic Regional a una etapa de API de API Gateway existente:

```
aws waf-regional associate-web-acl \
--web-acl-id 'aabc123a-fb4f-4fc6-becb-2b00831cadcf' \
--resource-arn 'arn:aws:apigateway:{region}::/restapis/4wk1k4onj3/stages/prod'
```

## Asociación de una ACL web de AWS WAF a una etapa de API mediante la API de REST de AWS WAF
<a name="apigateway-control-access-aws-waf-api"></a>

Si desea utilizar la API de REST de AWS WAFV2 para asociar una ACL web de AWS WAFV2 para una aplicación regional a una etapa de la API de API Gateway existente, use el comando [AssociateWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_AssociateWebACL.html), como se muestra en el siguiente ejemplo:

```
import boto3
 
wafv2 = boto3.client('wafv2')

wafv2.associate_web_acl(
    WebACLArn='arn:aws:wafv2:{region}:111122223333:regional/webacl/test/abc6aa3b-fc33-4841-b3db-0ef3d3825b25',
    ResourceArn='arn:aws:apigateway:{region}::/restapis/4wk1k4onj3/stages/prod'
)
```

Si desea utilizar la API de REST de AWS WAF para asociar una ACL web de AWS WAF Classic Regional a una etapa de la API de API Gateway existente, use el comando [AssociateWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_wafRegional_AssociateWebACL.html), como se muestra en el siguiente ejemplo:

```
import boto3
 
waf = boto3.client('waf-regional')
 
waf.associate_web_acl(
    WebACLId='aabc123a-fb4f-4fc6-becb-2b00831cadcf',
    ResourceArn='arn:aws:apigateway:{region}::/restapis/4wk1k4onj3/stages/prod'
)
```

# Limitación de las solicitudes a sus API de REST para mejorar el rendimiento en API Gateway
<a name="api-gateway-request-throttling"></a>

Puede configurar la limitación y las cuotas de las API para evitar que se vean desbordadas por un número excesivo de solicitudes. Tanto los límites como las cuotas se aplican en la medida de lo posible y deben considerarse como objetivos en lugar de como límites de solicitud garantizados.

API Gateway limita las solicitudes a la API utilizando el algoritmo de bucket de tokens, donde un token da cuenta de una solicitud. En concreto, API Gateway examina el ratio de solicitudes y una ráfaga de envíos de solicitudes para todas las API de su cuenta, por región. En el algoritmo de bucket de tokens, una ráfaga puede permitir que se sobrepasen los límites predefinidos, pero también hay otros factores que pueden hacer que se sobrepasen los límites en algunos casos.

Cuando los envíos de solicitudes superan los límites de ratio de solicitudes en estado estable y de ráfaga, API Gateway comienza a limitar las solicitudes. Los clientes pueden recibir respuestas de error `429 Too Many Requests` en este momento. Tras capturar estas excepciones, el cliente puede reenviar las solicitudes que han producido un error de forma que limite el ratio.

Como desarrollador de la API, puede configurar los límites para distintas etapas o métodos de la API con el fin de mejorar el rendimiento general de todas las API de su cuenta. También puede activar planes de uso para configurar las limitaciones en los envíos de solicitudes de cliente en función de los ratios y cuotas de solicitudes.

**Topics**
+ [Cómo se aplica la configuración de limitación controlada en API Gateway](#apigateway-how-throttling-limits-are-applied)
+ [Limitación de nivel de cuenta por región](#apig-request-throttling-account-level-limits)
+ [Configuración de objetivos de la limitación controlada de nivel de API y de nivel de etapa en un plan de uso](#apigateway-api-level-throttling-in-usage-plan)
+ [Configuración de objetivos de limitación de nivel de etapa](#apigateway-stage-level-throttling)
+ [Configuración de objetivos de limitación controlada a nivel de método en un plan de uso](#apigateway-method-level-throttling-in-usage-plan)

## Cómo se aplica la configuración de limitación controlada en API Gateway
<a name="apigateway-how-throttling-limits-are-applied"></a>

Antes de establecer la configuración de limitación y cuota para la API, es recomendable entender de qué manera la configuración de limitación está relacionada con la configuración de limitación para la API y de qué manera la aplica API Gateway.

Amazon API Gateway proporciona de cuatro tipos básicos de opciones relacionadas con la limitación controlada:
+ Los *límites de limitación de AWS* se aplican a todas las cuentas y clientes de una región. Estos límites evitan que la API, y su cuenta, resulten colapsadas por un enorme número de solicitudes. AWS establece estos límites y el cliente no puede modificarlos.
+ Los límites por cuenta se aplican a todas las API de una cuenta en una región determinada. El límite de ratio de nivel de cuenta se puede aumentar previa solicitud. Los límites más altos son posibles con API que tienen tiempos de espera más cortos y cargas útiles más pequeñas. Para solicitar un aumento de los límites de limitación de nivel de cuenta por región, contacte con el [Centro de soporte de AWS](https://console.aws.amazon.com/support/home#/). Para obtener más información, consulte [Cuotas de Amazon API Gateway](limits.md). Tenga en cuenta que estos límites no pueden ser superiores a los límites de limitación controlada de AWS.
+ Los límites de limitación controlada por API y por fase se aplican a nivel de método API para una etapa. Puede configurar los mismos ajustes para todos los métodos o configurar diferentes ajustes de limitación controlada para cada método. Tenga en cuenta que estos límites no pueden ser superiores a los límites de limitación controlada de AWS.
+ Las *limitaciones controladas por cliente* se aplican a los clientes que utilizan claves de API asociadas a su plan de uso como identificador del cliente. Tenga en cuenta que estos límites no pueden ser superiores a los límites por cuenta.

API Gateway aplica la configuración relacionada con la limitación en el orden siguiente:

1. [Limitación controlada por método o por cliente](#apigateway-method-level-throttling-in-usage-plan) establecida para una etapa de API en un [plan de uso](api-gateway-create-usage-plans.md#api-gateway-usage-plan-create)

1. [Limitaciones por método que establece para una etapa de la API](set-up-stages.md#how-to-stage-settings)

1. [Limitación de nivel de cuenta por región](#apig-request-throttling-account-level-limits)

1. AWSLimitación controlada regional de 

## Limitación de nivel de cuenta por región
<a name="apig-request-throttling-account-level-limits"></a>

De forma predeterminada, API Gateway limita las solicitudes de estado constante por segundo (RPS) en todas las API de una cuenta de AWS, por región. También limita la ráfaga (es decir, el tamaño máximo del bucket) en todas las API dentro de una cuenta de AWS, por región. En API Gateway, el límite de ráfaga representa el número máximo de envíos de solicitudes simultáneas que API Gateway; abordará antes de devolver respuestas de error `429 Too Many Requests`. Para obtener más información sobre las cuotas de limitación, consulte [Cuotas de Amazon API Gateway](limits.md).

## Configuración de objetivos de la limitación controlada de nivel de API y de nivel de etapa en un plan de uso
<a name="apigateway-api-level-throttling-in-usage-plan"></a>

En un [plan de uso](api-gateway-api-usage-plans.md), puede definir un objetivo de limitación controlada de método predeterminado para todos los métodos en el nivel de API o de etapa. Puede especificar una *tasa de limitación*, que es la velocidad, en solicitudes por segundo, a la que se agregan los tokens al bucket de tokens. También puede especificar una *ráfaga de limitación*, que es la capacidad del bucket de tokens.

Puede usar la Consola de administración de AWS, la CLI y los SDK de AWS para crear un plan de uso. Para obtener más información sobre cómo crear un plan de uso, consulte [Planes de uso y clave de API para las API de REST en API Gateway](api-gateway-api-usage-plans.md). 

## Configuración de objetivos de limitación de nivel de etapa
<a name="apigateway-stage-level-throttling"></a>

Puede utilizar la CLI de AWS, los SDK y la Consola de administración de AWS para crear objetivos de limitación a nivel de etapa.

Para obtener más información sobre cómo utilizar la Consola de administración de AWS para crear objetivos de limitación en el nivel de etapa, consulte [Modificación de la configuración de etapa](set-up-stages.md#how-to-stage-settings). Para obtener más información sobre cómo utilizar la CLI de AWS para crear objetivos de limitación en el nivel de etapa, consulte [create-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-stage.html).

## Configuración de objetivos de limitación controlada a nivel de método en un plan de uso
<a name="apigateway-method-level-throttling-in-usage-plan"></a>

Puede definir objetivos adicionales de la limitación controlada a nivel de método en **Usage Plans** (Planes de uso) como se muestra en [Crear un plan de uso](api-gateway-create-usage-plans.md#api-gateway-usage-plan-create). Para establecerlos en la consola de API Gateway, hay que especificar `Resource=<resource>`, `Method=<method>` en **Configure Method Throttling (Configurar limitación controlada de método)**. Por ejemplo, en el [ejemplo de PetStore](api-gateway-create-api-step-by-step.md), puede especificar `Resource=/pets`, `Method=GET`.

# API de REST privadas en API Gateway
<a name="apigateway-private-apis"></a>

Una API privada es una API de REST a la que solo se puede llamar desde dentro de una Amazon VPC. Puede acceder a la API con un [punto de conexión de VPC de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html), que es una interfaz de red de punto de conexión que crea en la VPC. Los puntos de conexión de la interfaz tienen tecnología AWS PrivateLink, que le permite obtener acceso de forma privada a los servicios de AWS mediante direcciones IP privadas.

También puede utilizar Direct Connect para establecer una conexión desde una red en las instalaciones a Amazon VPC y, a continuación, acceder a la API privada a través de esa conexión. En cualquier caso, el tráfico dirigido a la API privada utiliza conexiones seguras y está aislado de la Internet pública. El tráfico no sale de la red de Amazon.

## Prácticas recomendadas para API privadas
<a name="apigateway-private-api-best-practices"></a>

Recomendamos que utilice las siguientes prácticas recomendadas al crear la API privada:
+ Utilice un punto de conexión de VPC único para acceder a varias API privadas. De este modo, se reduce el número de puntos de conexión de VPC que es posible que necesite.
+ Asocie el punto de conexión de VPC a la API. De este modo, se crea un registro de DNS de alias de Route 53 y se simplifica la invocación a la API privada.
+ Active el DNS privado de la VPC. Cuando active el DNS privado para la VPC, puede invocar la API dentro de una VPC sin tener que pasar el encabezado `Host` o `x-apigw-api-id`.

  Si habilita el DNS privado, no podrá acceder al punto de conexión predeterminado para las API públicas. Para acceder al punto de conexión predeterminado de las API públicas, puede desactivar el DNS privado, crear una zona alojada privada para cada API privada de la VPC y, a continuación, aprovisionar los registros necesarios en Route 53. Esto permite que la API privada se resuelva mientras puede invocar el punto de conexión público predeterminado desde la VPC. Para obtener información, consulte [Crear una zona alojada privada](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html).
+ Restrinja el acceso a la API privada a VPC o puntos de conexión de VPC específicos. Agregue las condiciones `aws:SourceVpc` o `aws:SourceVpce` a la política de recursos de la API para restringir el acceso.
+ Para lograr el perímetro de datos más seguro, puede crear una política de punto de conexión de VPC. Esto controla el acceso a los puntos de conexión de VPC que pueden invocar la API privada.

## Consideraciones sobre API privadas
<a name="apigateway-private-api-considerations"></a>

Las siguientes consideraciones pueden afectar al uso de las API privadas:
+ Solo se admiten API de REST.
+ Sin embargo, no puede convertir una API privada en una API optimizada para límites.
+ Las API privadas solo admiten TLS 1.2. No se admiten versiones de TLS anteriores.
+ Si realiza una solicitud utilizando el protocolo HTTP/2, se exigirá que la solicitud use el protocolo HTTP/1.1.
+ No puede configurar el tipo de dirección IP de las API privadas para permitir que solo las direcciones IPv4 invoquen la API privada. Solo se admite pila doble. Para obtener más información, consulte [Tipos de direcciones IP para API de REST en API Gateway](api-gateway-ip-address-type.md).
+ Para enviar tráfico con la API privada, puede usar todos los tipos de direcciones IP compatibles con Amazon VPC. Puede enviar tráfico de pila doble e IPv6 configurando los ajustes en el punto de conexión de VPC. No puede modificarlo con API Gateway. Para obtener más información, consulte [Adición de la compatibilidad de IPv6 con su VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html).
+ Los puntos de conexión de VPC de las API privadas están sujetos a las mismas limitaciones que otros puntos de conexión de VPC de tipo interfaz. Para obtener más información, consulte [Acceso a un servicio de AWS a través de un punto de conexión de VPC de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) en la *Guía de AWS PrivateLink*. Para obtener más información sobre cómo utilizar API Gateway con VPC compartidas y subredes compartidas, consulte [Subredes compartidas](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#interface-endpoint-shared-subnets) en la *Guía de AWS PrivateLink*.

## Próximos pasos para API privadas
<a name="apigateway-private-api-next-steps"></a>

 Para obtener información sobre cómo crear una API privada y asociar un punto de conexión de VPC, consulte [Creación de una API privada](apigateway-private-api-create.md). Para seguir un tutorial en el que se crean dependencias en CloudFormation y una API privada en la Consola de administración de AWS, consulte [Tutorial: Creación de una API de REST privada](private-api-tutorial.md).

# Creación de una API privada
<a name="apigateway-private-api-create"></a>

Antes de crear una API privada, debe crear un punto de conexión de VPC para API Gateway. A continuación, debe crear la API privada y adjuntarle una política de recursos. Si lo desea, puede asociar el punto de conexión de VPC a la API privada para simplificar la forma de invocar la API. Por último, debe implementar la API.

En los procedimientos siguientes se describe cómo realizar esto. Puede crear una API de REST privada mediante la Consola de administración de AWS, la AWS CLI o un AWS SDK. 

## Requisitos previos
<a name="apigateway-private-api-create-interface-vpc-prerequisites"></a>

Para seguir estos pasos, debe tener una VPC completamente configurada. Para obtener información sobre cómo crear una VPC, consulte [Crear solo una VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html#create-vpc-only) en la *Guía del usuario de Amazon VPC*. Para seguir todos los pasos recomendados al crear la VPC, habilite el DNS privado. De esta forma, puede invocar la API dentro de una VPC sin tener que pasar el host o el encabezado `x-apigw-api-id`.

Para habilitar el DNS privado, los atributos `enableDnsSupport` y `enableDnsHostnames` de la VPC deben estar establecidos en `true`. Para obtener más información, consulte [Compatibilidad de DNS en la VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) y [Actualización de la compatibilidad de DNS para la VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating).

## Paso 1: Creación de un punto de conexión de VPC para API Gateway en la VPC
<a name="apigateway-private-api-create-interface-vpc-endpoint"></a>

En el siguiente procedimiento, se muestra cómo crear un punto de conexión de VPC para API Gateway. Para crear un punto de conexión de VPC para API Gateway, debe especificar el dominio `execute-api` para la Región de AWS donde crea la API privada. El dominio `execute-api` es el componente de servicio de API Gateway para la ejecución de la API.

Cuando crea el punto de conexión de VPC para API Gateway, debe especificar la configuración de DNS. Si desactiva el DNS privado, solo podrá acceder a la API mediante un DNS público. Para obtener más información, consulte [Problema: No puedo conectarme a mi API pública desde un punto de conexión de VPC de API Gateway](#apigateway-private-api-troubleshooting-public-access).

------
#### [ Consola de administración de AWS ]

**Creación de un punto de conexión de VPC de la interfaz para API Gateway**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon VPC en [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación, en **Nube virtual privada**, seleccione **Puntos de conexión**.

1. Seleccione **Crear punto de conexión**.

1. (Opcional) Para **Etiqueta de nombre**, ingrese un nombre que ayude a identificar el punto de conexión de VPC.

1. En **Service category** (Categoría de servicios), elija ** AWSServices** (Servicios de AWC).

1. En **Servicios**, en la barra de búsqueda, ingrese **execute-api**. A continuación, elija el punto de conexión del servicio de API Gateway en la Región de AWS en la que creará la API. El nombre del servicio debe tener el mismo aspecto que `com.amazonaws.us-east-1.execute-api` y el **Tipo** debe ser **Interfaz**.

1. Para **VPC**, elija la VPC en la que desea crear el punto de conexión.

1. (Opcional) Para desactivar la opción **Habilitar el nombre de DNS privado**, elija **Configuración adicional** y, a continuación, desactive **Habilitar el nombre de DNS privado**.

1. En **Subredes**, elija las zonas de disponibilidad en las que creó las interfaces de red de punto de conexión. Para mejorar la disponibilidad de la API, elija varias subredes.

1. En **Security group (Grupo de seguridad)**, seleccione el grupo de seguridad que se va a asociar con las interfaces de red de punto de conexión de VPC.

   El grupo de seguridad que elija debe configurarse de modo que permita el tráfico HTTPS de entrada en el puerto 443 TCP desde un intervalo de direcciones IP de la VPC o desde otro grupo de seguridad de la VPC.

1. Para **Política**, realice una de las siguientes operaciones:
   + Si no ha creado la API privada o no quiere configurar una política de punto de conexión de VPC personalizada, elija **Acceso total**.
   + Si ya ha creado una API privada y desea configurar una política de punto de conexión de VPC personalizada, puede ingresar una política de punto de conexión de VPC personalizada. Para obtener más información, consulte [Uso de políticas de punto de conexión de VPC para API privadas en API Gateway](apigateway-vpc-endpoint-policies.md).

   Puede actualizar la política de punto de conexión de VPC después de crear el punto de conexión de VPC. Para obtener más información, consulte [Actualizar una política de punto de conexión de VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy).

1. Seleccione **Crear punto de conexión**.

1. Copie el ID de punto de conexión de VPC resultante, ya que es posible que lo use en futuros pasos.

------
#### [ AWS CLI ]

El siguiente comando [create-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-endpoint.html) permite crear un punto de conexión de VPC:

```
aws ec2 create-vpc-endpoint \
    --vpc-id vpc-1a2b3c4d \
    --vpc-endpoint-type Interface \
    --service-name com.amazonaws.us-east-1.execute-api \
    --subnet-ids subnet-7b16de0c \
    --security-group-id sg-1a2b3c4d
```

Copie el ID de punto de conexión de VPC resultante, ya que es posible que lo use en futuros pasos.

------

## Paso 2: crear una API privada
<a name="apigateway-private-api-create-using-console"></a>

Después de crear el punto de conexión de VPC, se crea una API de REST privada. El siguiente procedimiento muestra cómo crear una API privada. 

------
#### [ Consola de administración de AWS ]

**Creación de una API privada**

1. Inicie sesión en la consola de API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Seleccione **Create API (Crear API)**.

1. En **REST API**, elija **Build (Compilación)**.

1. En **Nombre**, ingrese un nombre.

1.  (Opcional) En **Description (Descripción)**, introduzca una descripción. 

1. En **Tipo de punto de conexión de la API**, seleccione **Privado**.

1. (Opcional) Para los **ID de punto de conexión de VPC**, ingrese un ID de punto de conexión de VPC.

   Si asocia un ID de punto de conexión de VPC a la API privada, puede invocar la API desde dentro de la VPC sin anular un encabezado `Host` ni pasar un `x-apigw-api-id header`. Para obtener más información, consulte [(Opcional) Asociación o desasociación de un punto de conexión de VPC con una API privada](#associate-private-api-with-vpc-endpoint).

1. Para **Tipo de dirección IP**, elija **Dualstack**.

1. Seleccione **Crear API**.

 Una vez realizados los pasos anteriores, puede seguir las instrucciones en [Introducción a la consola de la API de REST](getting-started-rest-new-console.md) para configurar métodos e integraciones para esta API, pero no puede implementar la API. Para implementar la API, siga el paso 3 y adjunte una política de recursos a la API. 

------
#### [ AWS CLI ]

El siguiente comando [create-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-rest-api.html) permite crear una API privada:

```
aws apigateway create-rest-api \
        --name 'Simple PetStore (AWS CLI, Private)' \
        --description 'Simple private PetStore API' \
        --region us-west-2 \
        --endpoint-configuration '{ "types": ["PRIVATE"], "ipAddressType": "dualstack" }'
```

Una llamada correcta devuelve un resultado similar al siguiente:

```
{
    "createdDate": "2017-10-13T18:41:39Z",
    "description": "Simple private PetStore API",
    "endpointConfiguration": {
        "types": [
            "PRIVATE"
        ],
        "ipAddressType": "dualstack"
    },
    "id": "0qzs2sy7bh",
    "name": "Simple PetStore (AWS CLI, Private)"
}
```

 Una vez realizados los pasos anteriores, puede seguir las instrucciones en [Tutorial: Creación de una API de REST mediante SDK de AWS o la AWS CLI](api-gateway-create-api-cli-sdk.md) para configurar métodos e integraciones para esta API, pero no puede implementar la API. Para implementar la API, siga el paso 3 y adjunte una política de recursos a la API. 

------
#### [ SDK JavaScript v3 ]

El siguiente ejemplo muestra cómo crear una API privada mediante AWS SDK para JavaScript v3:

```
import {APIGatewayClient, CreateRestApiCommand} from "@aws-sdk/client-api-gateway";
const apig = new APIGatewayClient({region:"us-east-1"});

const input = { // CreateRestApiRequest
  name: "Simple PetStore (JavaScript v3 SDK, private)", // required
  description: "Demo private API created using the AWS SDK for JavaScript v3",
  version: "0.00.001",
  endpointConfiguration: { // EndpointConfiguration
    types: [ "PRIVATE"],
  },  
};

export const handler = async (event) => {
const command = new CreateRestApiCommand(input);
try {
  const result = await apig.send(command);
  console.log(result);
} catch (err){
  console.error(err)
 }
};
```

Una llamada correcta devuelve un resultado similar al siguiente:

```
{
  apiKeySource: 'HEADER',
  createdDate: 2024-04-03T17:56:36.000Z,
  description: 'Demo private API created using the AWS SDK for JavaScript v3',
  disableExecuteApiEndpoint: false,
  endpointConfiguration: { types: [ 'PRIVATE' ] },
  id: 'abcd1234',
  name: 'Simple PetStore (JavaScript v3 SDK, private)',
  rootResourceId: 'efg567',
  version: '0.00.001'
}
```

 Una vez realizados los pasos anteriores, puede seguir las instrucciones en [Tutorial: Creación de una API de REST mediante SDK de AWS o la AWS CLI](api-gateway-create-api-cli-sdk.md) para configurar métodos e integraciones para esta API, pero no puede implementar la API. Para implementar la API, siga el paso 3 y adjunte una política de recursos a la API. 

------
#### [ Python SDK ]

El siguiente ejemplo muestra cómo crear una API privada mediante AWS SDK para Python:

```
import json
import boto3
import logging

logger = logging.getLogger()
apig = boto3.client('apigateway')

def lambda_handler(event, context):
    try:
      result = apig.create_rest_api(
      name='Simple PetStore (Python SDK, private)',
      description='Demo private API created using the AWS SDK for Python',
      version='0.00.001',
      endpointConfiguration={
          'types': [
             'PRIVATE',
          ],
      },
      )
    except botocore.exceptions.ClientError as error:
            logger.exception("Couldn't create private API %s.", error)
            raise
    attribute=["id", "name", "description", "createdDate", "version", "apiKeySource", "endpointConfiguration"]
    filtered_data ={key:result[key] for key in attribute}
    result = json.dumps(filtered_data, default=str, sort_keys='true')
    return result
```

Una llamada correcta devuelve un resultado similar al siguiente:

```
"{\"apiKeySource\": \"HEADER\", \"createdDate\": \"2024-04-03 17:27:05+00:00\", \"description\": \"Demo private API created using the AWS SDK for \", \"endpointConfiguration\": {\"types\": [\"PRIVATE\"]}, \"id\": \"abcd1234\", \"name\": \"Simple PetStore (Python SDK, private)\", \"version\": \"0.00.001\"}"
```

 Una vez realizados los pasos anteriores, puede seguir las instrucciones en [Tutorial: Creación de una API de REST mediante SDK de AWS o la AWS CLI](api-gateway-create-api-cli-sdk.md) para configurar métodos e integraciones para esta API, pero no puede implementar la API. Para implementar la API, siga el paso 3 y adjunte una política de recursos a la API. 

------

## Paso 3: Configuración de una política de recursos para una API privada
<a name="apigateway-private-api-set-up-resource-policy"></a>

La API privada actual es inaccesible para todas las VPC. Utilice una política de recursos para conceder a las VPC y puntos de conexión de VPC acceso a las API privadas. Puede conceder acceso a un punto de conexión de VPC en cualquier cuenta de AWS.

La política de recursos debe contener condiciones `aws:SourceVpc` o `aws:SourceVpce` para restringir el acceso. Le recomendamos que identifique VPC y puntos de conexión de VPC específicos y no cree una política de recursos que permita el acceso a todas las VPC y puntos de conexión de VPC.

El siguiente procedimiento muestra cómo asociar una política de recursos a la API.

------
#### [ Consola de administración de AWS ]

1. Inicie sesión en la consola de API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Elija una API de REST.

1. En el panel de navegación principal, elija **Política de recursos**.

1. Elija **Crear política**.

1. Elija **Seleccionar una plantilla** y, a continuación, elija **VPC de origen**.

1. Sustituya `{{vpcID}}` (incluidas las llaves) por el ID de la VPC.

1. Seleccione **Save changes (Guardar cambios)**.

------
#### [ AWS CLI ]

El siguiente comando [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html) permite asociar una política de recursos a una API existente:

```
aws apigateway update-rest-api \
    --rest-api-id a1b2c3 \
    --patch-operations op=replace,path=/policy,value='"{\"jsonEscapedPolicyDocument\"}"'
```

------

Es posible que también desee controlar qué recursos tienen acceso al punto de conexión de VPC. Para controlar qué recursos tienen acceso al punto de conexión de VPC, adjunte una política de punto de conexión al punto de conexión de VPC. Para obtener más información, consulte [Uso de políticas de punto de conexión de VPC para API privadas en API Gateway](apigateway-vpc-endpoint-policies.md).

## (Opcional) Asociación o desasociación de un punto de conexión de VPC con una API privada
<a name="associate-private-api-with-vpc-endpoint"></a>

Cuando asocia un punto de conexión de VPC con la API privada, API Gateway genera un nuevo registro de DNS de alias de Route 53. Puede usar este registro para invocar las API privadas del mismo modo que las API públicas sin anular un encabezado `Host` o pasar un encabezado `x-apigw-api-id`.

La URL base generada tiene el siguiente formato:

```
https://{rest-api-id}-{vpce-id}.execute-api.{region}.amazonaws.com/{stage}
```

------
#### [ Associate a VPC endpoint (Consola de administración de AWS) ]

Puede asociar un punto de conexión de VPC con la API privada cuando la cree o después de crearla. En el siguiente procedimiento, se muestra cómo asociar un punto de conexión de VPC con una API creada anteriormente. 

**Asociación de un punto de conexión de VPC con una API privada**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Elija la API privada.

1. En el panel de navegación principal, elija **Política de recursos**.

1. Edite su política de recursos para permitir las llamadas desde su punto de conexión de VPC adicional.

1. En el panel de navegación principal, elija **Configuración de la API**.

1. En la sección **Detalles de la API**, elija **Editar**.

1. En **ID de punto de conexión de VPC**, seleccione ID de punto de conexión de VPC adicionales.

1. Seleccione **Save**.

1. Vuelva a implementar la API para que los cambios se apliquen.

------
#### [ Dissociate a VPC endpoint (Consola de administración de AWS) ]

**Para desasociar un punto de conexión de VPC de una API de REST privada**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Elija la API privada.

1. En el panel de navegación principal, elija **Política de recursos**.

1. Edite su política de recursos para eliminar las menciones del punto de conexión de VPC que quiere desasociar de su API privada.

1. En el panel de navegación principal, elija **Configuración de la API**.

1. En la sección **Detalles de la API**, elija **Editar**.

1. Para los **ID de punto de conexión de VPC**, elija la **X** para desasociar el punto de conexión de VPC.

1. Seleccione **Save**.

1. Vuelva a implementar la API para que los cambios se apliquen.

------
#### [ Associate a VPC endpoint (AWS CLI) ]

El siguiente comando [create-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-rest-api.html) permite asociar puntos de conexión de VPC en el momento de creación de la API:

```
aws apigateway create-rest-api \
    --name Petstore \
    --endpoint-configuration '{ "types": ["PRIVATE"], "vpcEndpointIds" : ["vpce-0212a4ababd5b8c3e", "vpce-0393a628149c867ee"] }' \
    --region us-west-2
```

El resultado será similar al siguiente:

```
{
    "apiKeySource": "HEADER",
    "endpointConfiguration": {
        "types": [
            "PRIVATE"
        ],
        "vpcEndpointIds": [
            "vpce-0212a4ababd5b8c3e",
            "vpce-0393a628149c867ee"
        ]
    },
    "id": "u67n3ov968",
    "createdDate": 1565718256,
    "name": "Petstore"
}
```

El siguiente comando [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html) permite asociar puntos de conexión de VPC a una API ya creada:

```
aws apigateway update-rest-api \
    --rest-api-id u67n3ov968 \
    --patch-operations "op='add',path='/endpointConfiguration/vpcEndpointIds',value='vpce-01d622316a7df47f9'" \
    --region us-west-2
```

El resultado será similar al siguiente:

```
{
    "name": "Petstore",
    "apiKeySource": "1565718256",
    "tags": {},
    "createdDate": 1565718256,
    "endpointConfiguration": {
        "vpcEndpointIds": [
            "vpce-0212a4ababd5b8c3e",
            "vpce-0393a628149c867ee",
            "vpce-01d622316a7df47f9"
        ],
        "types": [
            "PRIVATE"
        ]
    },
    "id": "u67n3ov968"
}
```

Vuelva a implementar la API para que los cambios se apliquen.

------
#### [ Disassociate a VPC endpoint (AWS CLI) ]

El siguiente comando [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html) permite desasociar un punto de conexión de VPC de una API privada:

```
aws apigateway update-rest-api \
    --rest-api-id u67n3ov968 \
    --patch-operations "op='remove',path='/endpointConfiguration/vpcEndpointIds',value='vpce-0393a628149c867ee'" \
    --region us-west-2
```

El resultado será similar al siguiente:

```
{
    "name": "Petstore",
    "apiKeySource": "1565718256",
    "tags": {},
    "createdDate": 1565718256,
    "endpointConfiguration": {
        "vpcEndpointIds": [
            "vpce-0212a4ababd5b8c3e",
            "vpce-01d622316a7df47f9"
        ],
        "types": [
            "PRIVATE"
        ]
    },
    "id": "u67n3ov968"
}
```

Vuelva a implementar la API para que los cambios se apliquen.

------

## Paso 4: Implementación de una API privada
<a name="apigateway-private-api-deploy-using-console"></a>

Para implementar la API, debe crear una implementación de API y asociarla con una etapa. El siguiente procedimiento muestra cómo implementar la API privada.

------
#### [ Consola de administración de AWS ]

**Implementación de una API privada**

1. Elija la API.

1. Elija **Implementar API**.

1. En **Etapa**, seleccione **Nueva etapa**.

1. En **Nombre de etapa**, ingrese un nombre de etapa.

1. (Opcional) En **Description (Descripción)**, introduzca una descripción.

1. Elija **Implementar**.

------
#### [ AWS CLI ]

El siguiente comando [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) permite implementar una API privada:

```
aws apigateway create-deployment --rest-api-id a1b2c3 \ 
  --stage-name test \
  --stage-description 'Private API test stage' \
  --description 'First deployment'
```

------

## Solución de problemas de la API privada
<a name="apigateway-private-api-troubleshooting"></a>

A continuación, se le proporcionan consejos para solucionar errores y problemas que es posible que se encuentre al crear una API privada.

### Problema: No puedo conectarme a mi API pública desde un punto de conexión de VPC de API Gateway
<a name="apigateway-private-api-troubleshooting-public-access"></a>

Al crear la VPC, puede configurar los ajustes de DNS. Le recomendamos que active el DNS privado para la VPC. Si elige desactivar el DNS privado, solo puede acceder a la API a través de DNS público.

Si habilita DNS privado, no puede acceder al punto de conexión predeterminado de una API de API Gateway pública desde el punto de conexión de VPC. Puede acceder a una API con un nombre de dominio personalizado.

Si crea un nombre de dominio personalizado regional, utilice un registro de alias de tipo A. Si crea un nombre de dominio personalizado optimizado para sistemas perimetrales, no hay restricciones para el tipo de registro. Puede acceder a estas API públicas con el DNS privado habilitado. Para obtener más información, consulte [Problema: Me conecto a mi API pública desde un punto de conexión de VPC de API Gateway](https://repost.aws/knowledge-center/api-gateway-vpc-connections).

### Problema: mi API devuelve `{"Message":"User: anonymous is not authorized to perform: execute-api:Invoke on resource: arn:aws:execute-api:us-east-1:********/****/****/"}`
<a name="apigateway-private-api-troubleshooting-principal"></a>

En la política de recursos, si establece la entidad principal en una entidad principal de AWS, por ejemplo:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/developer",
                    "arn:aws:iam::111122223333:role/Admin"
                ]
            },
            "Action": "execute-api:Invoke",
            "Resource": [
                "execute-api:/stage/GET/pets"
            ]
        }
    ]
}
```

------

Debe usar la autorización de `AWS_IAM` para todos los métodos de la API o, de lo contrario, la API devolverá el mensaje de error anterior. Para obtener más instrucciones sobre cómo activar la autorización de `AWS_IAM` para un método, consulte [Métodos de API de REST en API Gateway](how-to-method-settings.md).

### Problema: No puedo saber si mi punto de conexión de VPC está asociado a mi API
<a name="apigateway-private-api-troubleshooting-associate-wait-time"></a>

Si asocia o desasocia un punto de conexión de VPC con la API privada, tendrá que volver a implementar la API. Es posible que la operación de actualización tarde unos minutos en completarse debido a la propagación de DNS. Durante este tiempo la API esta disponible, pero es posible que mientras se esté realizando la propagación de DNS para las URL de DNS recién generadas. Si, después de varios minutos, las nuevas URL siguen sin resolverse en DNS, le recomendamos que vuelva a implementar la API.

# Nombres de dominio personalizados para API privadas en API Gateway
<a name="apigateway-private-custom-domains"></a>

Puede crear un nombre de dominio personalizado para sus API privadas. Use un nombre de dominio personalizado privado para proporcionar a los intermediarios de la API una URL más sencilla e intuitiva. Con un nombre de dominio personalizado privado, puede reducir la complejidad, configurar medidas de seguridad durante el protocolo de enlace TLS y controlar el ciclo de vida de los certificados de su nombre de dominio mediante AWS Certificate Manager (ACM). Para obtener más información, consulte [Protección de la clave privada de certificado de un nombre de dominio personalizado](#apigateway-private-custom-domains-secure-certificate-private-key).

Los nombres de dominio personalizados de API privadas no necesitan ser exclusivos entre distintas cuentas. Puede crear `example.private.com` en la cuenta 111122223333 y en la cuenta 555555555555, siempre y cuando el certificado ACM cubra el nombre de dominio. Para identificar un nombre de dominio personalizado privado, utilice el ARN del nombre de dominio personalizado privado. Este identificador es exclusivo de los nombres de dominio personalizados privados.

Cuando crea un nombre de dominio personalizado privado en API Gateway, usted es un *proveedor de API*. Puede proporcionar su nombre de dominio personalizado privado a otras Cuentas de AWS mediante API Gateway o AWS Resource Access Manager (AWS RAM).

Cuando invoca un nombre de dominio personalizado privado, usted es un *consumidor de API*. Puede consumir un nombre de dominio personalizado privado de su propia Cuenta de AWS o de otra Cuenta de AWS.

Cuando consume un nombre de dominio personalizado privado, crea una asociación de acceso a nombre de dominio entre un punto de conexión de VPC y un nombre de dominio personalizado privado. Con una asociación de acceso a nombre de dominio, los consumidores de la API pueden invocar su nombre de dominio personalizado privado mientras están aislados de la Internet pública. Para obtener más información, consulte [Tareas de los proveedores de API y de los consumidores de API para los nombres de dominio personalizados de API privadas](apigateway-private-custom-domains-associations.md).

## Protección de la clave privada de certificado de un nombre de dominio personalizado
<a name="apigateway-private-custom-domains-secure-certificate-private-key"></a>

Cuando solicita un certificado SSL/TLS con ACM para crear un nombre de dominio personalizado para API privadas, ACM genera un par de clave pública-privada. Cuando importa un certificado, es usted quien genera el par de claves. La clave pública pasa a formar parte del certificado. Para almacenar la clave privada de forma segura, ACM crea otra clave utilizando AWS KMS, denominada clave de KMS, con el alias **aws/acm**. AWS KMS utiliza esta clave para cifrar la clave privada del certificado. Para obtener más información, consulte [Protección de datos en AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/data-protection.html) en la *Guía del usuario de AWS Certificate Manager*.

API Gateway usa AWS TLS Connection Manager, un servicio al que solo pueden acceder los Servicios de AWS, para proteger y usar las claves privadas de su certificado. Cuando usa su certificado de ACM para crear un nombre de dominio personalizado de API Gateway, API Gateway asocia su certificado a AWS TLS Connection Manager. Para ello, creamos una concesión en AWS KMS para su clave gestionada de AWS. Esta concesión permite que TLS Connection Manager utilice AWS KMS para descifrar la clave privada de su certificado. TLS Connection Manager usa el certificado y la clave privada descifrada (texto sin formato) para establecer una conexión segura (sesión SSL/TLS) con los clientes de los servicios de API Gateway. Cuando el certificado se desvincula de un servicio de API Gateway, la concesión se retira. Para obtener más información, consulte [Concesiones](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) en la *Guía para desarrolladores de AWS Key Management Service*.

Para obtener más información, consulte [Cifrado de datos en reposo en Amazon API Gateway](data-protection-encryption.md#data-protection-at-rest).

## Consideraciones sobre los nombres de dominio personalizados privados
<a name="apigateway-private-custom-domains-considerations"></a>

Las siguientes consideraciones pueden afectar al uso de los nombres de dominio personalizados privados:
+ API Gateway tarda unos 15 minutos en aprovisionar el nombre de dominio personalizado privado.
+ Si actualiza el certificado de ACM, API Gateway tarda unos 15 minutos en completar la actualización. Durante este tiempo, el nombre de dominio estará tiene el estado `UPDATING`, y podrá seguir accediendo a él.
+ Para invocar un nombre de dominio personalizado privado, debe crear una asociación de acceso a nombre de dominio. Tras crear una asociación de acceso a nombre de dominio, esta tardará unos 15 minutos en estar lista.
+ El ARN de nombre de dominio personalizado privado contiene *account-id* y *domain-name-id*. Cuando crea un nombre de dominio, API Gateway utiliza el formato de ARN de `arn:partition:apigateway:region::/domainnames/domain-name`. Cuando accede a un nombre de dominio personalizado privado, utiliza el formato de ARN de `arn:partition:apigateway:region:account-id:/domainnames/domain-name+domain-name-id`. 

  Es posible que tenga que modificar los permisos de IAM para permitir el acceso a un nombre de dominio privado después de crearlo.
+ No puede invocar nombres de dominio personalizados privados con el mismo nombre desde el mismo punto de conexión de VPC. Por ejemplo, si desea invocar `arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234` y `arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+xyz000`, asocie cada nombre de dominio personalizado privado a un punto de conexión de VPC distinto.
+ Se admiten los certificados comodín (por ejemplo, un certificado para `*.private.example.com`).
+ Los nombres de dominio personalizados comodín no se admiten.
+ Solo se admiten los certificados RSA con una longitud de clave de 2048 bits y los certificados ECDSA con longitudes de clave de 256 y 384 bits.
+ No puede configurar el tipo de dirección IP de las API privadas para permitir que solo las direcciones IPv4 invoquen la API privada. Solo se admite pila doble. Para obtener más información, consulte [Tipos de direcciones IP para API de REST en API Gateway](api-gateway-ip-address-type.md).
+ Para enviar tráfico con la API privada, puede usar todos los tipos de direcciones IP compatibles con Amazon VPC. Puede enviar tráfico de pila doble e IPv6 configurando los ajustes en el punto de conexión de VPC. No puede modificarlo con API Gateway. Para obtener más información, consulte [Adición de la compatibilidad de IPv6 con su VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html).
+ No se admite la asignación de rutas base multinivel, como asignar la API privada a `/developers/feature`, pero puede utilizar una regla de enrutamiento para crear una condición de ruta multinivel. Para obtener más información, consulte [Envío de tráfico a las API a través del nombre de dominio personalizado en API Gateway](rest-api-routing-mode.md).
+ No puede establecer una versión de TLS mínima para su nombre de dominio personalizado privado. Todos los nombres de dominio personalizados privados tienen la política de seguridad de `TLS-1-2`.
+ Puede utilizar la política de punto de conexión de VPC para controlar el acceso a un nombre de dominio personalizado privado. Para obtener más información, consulte los ejemplos 4 y 5 en [Uso de políticas de punto de conexión de VPC para API privadas en API Gateway](apigateway-vpc-endpoint-policies.md).
+ Debe crear una política de recursos independiente para la API privada y para el nombre de dominio personalizado privado. Para invocar un nombre de dominio personalizado privado, un consumidor de API necesita acceder desde la política de recursos de nombre de dominio personalizado privado, la política de recursos de API privada y cualquier política de punto de conexión de VPC o autorización en la API privada.

## Consideraciones sobre el uso de nombres de dominio personalizados privados con otros recursos de API Gateway
<a name="apigateway-private-custom-domains-considerations-for-migration"></a>

Las siguientes consideraciones pueden afectar a la forma en que se utilizan los nombres de dominio personalizados privados con otros recursos de API Gateway:
+ No puede enviar tráfico desde un nombre de dominio personalizado privado a una API pública.
+ Cuando una API privada se asigna a un nombre de dominio personalizado privado, no es posible cambiar el tipo de punto conexión de la API. 
+ No es posible migrar un nombre de dominio personalizado público a un nombre de dominio personalizado privado.
+ Si tiene un punto de conexión de VPC que utiliza para acceder a un nombre de dominio personalizado público, no lo utilice para crear una asociación de acceso a nombres de dominio con un nombre de dominio personalizado privado.

## Diferencias entre los nombres de dominio personalizados privados y los nombres de dominio personalizados públicos
<a name="apigateway-private-custom-domains-public-differences"></a>

A continuación se describen las diferencias que existen entre los nombres de dominio personalizados privados y públicos:
+ Los nombres de dominio personalizados privados no tienen por qué ser exclusivos entre distintas cuentas.
+ Un nombre de dominio privado tiene un ID de nombre de dominio. Este ID solo identifica un nombre de dominio personalizado privado y no se genera para los nombres de dominio personalizados públicos.
+ Cuando utilice la AWS CLI para actualizar o eliminar su nombre de dominio personalizado privado, deberá proporcionar el ID del nombre de dominio. Si tiene un nombre de dominio personalizado privado que se llama `example.com` y un nombre de dominio personalizado público que se llama `example.com` y no proporciona el ID del nombre de dominio, API Gateway modificará o eliminará el nombre de dominio personalizado público.

## Pasos siguientes para los nombres de dominio personalizados de API privadas
<a name="apigateway-private-custom-domains-next-steps"></a>

Para obtener información sobre las tareas de un proveedor de API y un consumidor de API, consulte [Tareas de los proveedores de API y de los consumidores de API para los nombres de dominio personalizados de API privadas](apigateway-private-custom-domains-associations.md).

Para obtener instrucciones sobre cómo crear un nombre de dominio personalizado privado que pueda invocar en su propia Cuenta de AWS, consulte [Tutorial: Creación e invocación de un nombre de dominio personalizado para API privadas](apigateway-private-custom-domains-tutorial.md).

Para obtener instrucciones sobre cómo proporcionar acceso a otra Cuenta de AWS a su nombre de dominio personalizado privado, consulte [Proveedor de API: compartir su nombre de dominio personalizado privado mediante AWS RAM](apigateway-private-custom-domains-provider-share.md). Para obtener instrucciones sobre cómo asociar su punto de conexión de VPC a un nombre de dominio personalizado privado de otra Cuenta de AWS, consulte [Consumidor de API: asociar su punto de conexión de VPC a un nombre de dominio personalizado privado que se comparta con usted](apigateway-private-custom-domains-consumer-create.md).

# Tareas de los proveedores de API y de los consumidores de API para los nombres de dominio personalizados de API privadas
<a name="apigateway-private-custom-domains-associations"></a>

Cuando crea un nombre de dominio personalizado privado, usted es un *proveedor de API*. Cuando invoca un nombre de dominio personalizado privado, usted es un *consumidor de API*. Puede consumir un nombre de dominio personalizado privado de su propia Cuenta de AWS o de otra Cuenta de AWS.

En la siguiente sección se explican las tareas que deben realizar el proveedor de API y el consumidor de API para utilizar un nombre de dominio personalizado privado. Si desea invocar un nombre de dominio personalizado privado de su propia Cuenta de AWS, será tanto el proveedor como el consumidor de la API. Si desea invocar un dominio personalizado privado de otra Cuenta de AWS, en función de la relación de confianza entre el proveedor de API y el consumidor de API en AWS Organizations, es posible que AWS RAM deba llevar a cabo una serie de tareas en su nombre.

## Tareas de un proveedor de API
<a name="apigateway-private-custom-domains-associations-provider"></a>

Los proveedores de API crean API privadas y las asignan a nombres de dominio personalizados.

 Los proveedores de API administran dos políticas de recursos para proteger sus nombres de dominio personalizados privados. La primera política es para el servicio `execute-api` y controla qué puntos de conexión de VPC pueden invocar su nombre de dominio personalizado privado. En la configuración del nombre de dominio personalizado privado, se denomina "`policy`".

La segunda política es para el servicio Amazon API Gateway Management y controla qué puntos de conexión de VPC de otras Cuentas de AWS pueden formar una asociación de acceso a nombres de dominio con su nombre de dominio personalizado privado. Un punto de conexión de VPC debe formar una asociación de acceso a nombres de dominio con un nombre de dominio privado personalizado para invocarlo. En la configuración del nombre de dominio personalizado privado, es la `managementPolicy`. Puede usar AWS RAM o API Gateway para actualizar esta política. Si no tiene previsto permitir que los puntos de conexión de VPC de otras Cuentas de AWS invoquen su nombre de dominio personalizado, no edite la `managementPolicy`.

Si es un proveedor de API, debe hacer lo siguiente:

1. Cree una API privada.

1. Actualice su `policy` de API privadas para conceder a su punto de conexión de VPC acceso a su API privada.

1. Cree un nombre de dominio personalizado privado.

1. Actualice su `policy` de nombre de dominio personalizado privado para conceder a su punto de conexión de VPC acceso a su nombre de dominio personalizado privado.

1. Cree una asignación de ruta base o una regla de enrutamiento para enviar tráfico desde la API privada al nombre de dominio personalizado privado. Para obtener más información, consulte [Envío de tráfico a las API a través del nombre de dominio personalizado en API Gateway](rest-api-routing-mode.md).

Si desea permitir que los consumidores de API de otras Cuentas de AWS accedan a su nombre de dominio personalizado privado, haga lo siguiente:

1. Actualice la `managementPolicy` de su nombre de dominio personalizado privado para permitir que los consumidores de API de otras cuentas asocien sus puntos de conexión de VPC a su nombre de dominio personalizado privado. Para ello, tiene los siguientes métodos:  
**AWS RAM**  
Con AWS RAM, si el proveedor de API y el consumidor de API están en la misma organización que utiliza AWS Organizations, se acepta automáticamente el uso compartido de recursos entre el proveedor y el consumidor. De lo contrario, debe esperar a que el consumidor de API acepte el uso recurso compartido. **Le recomendamos que utilice AWS RAM para compartir su nombre de dominio personalizado privado.**   
**API Gateway**  
Con API Gateway, solo se admite la AWS CLI. Debe actualizar su nombre de dominio personalizado privado mediante una operación de parche y proporcionar su propio documento de política para la `managementPolicy`.

1. Actualice la `policy` de su nombre de dominio personalizado privado y cualquier API privada asignada a él para conceder acceso al punto de conexión de VPC del consumidor de API.

Para obtener instrucciones sobre cómo proporcionar su API a otra Cuenta de AWS, consulte [Proveedor de API: compartir su nombre de dominio personalizado privado mediante AWS RAM](apigateway-private-custom-domains-provider-share.md). 

## Tareas de un consumidor de API
<a name="apigateway-private-custom-domains-associations-consumer"></a>

Los consumidores de API asocian sus puntos de conexión de VPC a un ARN de nombre de dominio para invocar un nombre de dominio personalizado privado. Los consumidores de API no necesitan crear una API de API Gateway.

Si es un consumidor de API, haga lo siguiente:

1. Cree un punto de conexión de VPC con un DNS privado habilitado en Amazon VPC.

1. (Opcional, si se utiliza AWS RAM) Acepte un recurso compartido de dominio personalizado privado en AWS RAM en un plazo de **12 horas** a partir del momento en que se haya compartido el recurso. Si usted y el proveedor de API forman parte de la misma organización, el recurso compartido se acepta automáticamente.

1. Obtenga el ARN del nombre de dominio personalizado privado. Como la URL del nombre de dominio personalizado privado no es exclusiva, se utiliza el ARN del nombre de dominio personalizado privado para formar la asociación de acceso a nombres de dominio entre el punto de conexión de VPC y el nombre de dominio personalizado privado. Puede utilizar AWS RAM para recuperar el ARN del nombre de dominio personalizado privado.

1. Asocie el ARN del dominio personalizado privado a su punto de conexión de VPC en API Gateway. Esto crea una conexión segura entre el punto de conexión de VPC y el nombre de dominio personalizado privado. El tráfico no sale de la red de Amazon.

1. Espere a que el proveedor de API conceda a su punto de conexión de VPC acceso al nombre de dominio personalizado privado y a cualquier API privada asignada al nombre de dominio personalizado privado. Si es tanto proveedor como consumidor de la API, concederá acceso de invocación a su propio punto de conexión de VPC.

1. Cree una zona alojada privada de Route 53 y un registro de Route 53 para resolver el nombre de dominio personalizado privado en Route 53.

Para obtener instrucciones sobre cómo consumir una API en otra Cuenta de AWS, consulte [Consumidor de API: asociar su punto de conexión de VPC a un nombre de dominio personalizado privado que se comparta con usted](apigateway-private-custom-domains-consumer-create.md).

# Tutorial: Creación e invocación de un nombre de dominio personalizado para API privadas
<a name="apigateway-private-custom-domains-tutorial"></a>

En este tutorial, creará un nombre de dominio personalizado privado que podrá invocar en una VPC en su propia cuenta. Para ello, usted es tanto proveedor de API como consumidor de API. Necesita una API privada y un punto de conexión de VPC existentes para completar este tutorial. Si tiene un punto de conexión de VPC que utiliza para acceder a un nombre de dominio personalizado público, no lo utilice para este tutorial ni para crear asociaciones de acceso a nombres de dominio.

## Paso 1: creación de un nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-provider-create-domain"></a>

El nombre de dominio personalizado privado se crea especificando el nombre de dominio, el certificado de ACM y la política del servicio `execute-api` para controlar qué puntos de conexión de VPC pueden invocarlo.

------
#### [ Consola de administración de AWS ]

**Para crear un nombre de dominio personalizado privado**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Nombres de dominio personalizados**.

1. Elija **Agregar nombre de dominio**.

1. En **Nombre de dominio**, escriba un nombre de dominio. 

   Su certificado de ACM debe cubrir este nombre de dominio, pero no es necesario que el nombre de dominio sea exclusivo.

1. Seleccione **Privado**.

1. En **Modo de enrutamiento**, elija **Solo asignaciones de la API**.

1. En **Certificado de ACM**, seleccione un certificado.

1. Elija **Agregar nombre de dominio**.

API Gateway proporciona un nombre de dominio con una política de `deny` de todos los recursos. Esta es la política de recursos del servicio `execute-api`. Debe actualizar esta política de recursos para conceder acceso a sus puntos de conexión de VPC para invocar su nombre de dominio personalizado privado.

**Para actualizar la política de recursos**

1. Elija la pestaña **Política de recursos** y, a continuación, seleccione **Editar política de recursos**.

1. Especifique la siguiente política de recursos en el editor de código. Sustituya el punto de conexión de VPC *vpce-abcd1234efg* por el ID de su propio punto de conexión de VPC.  
****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": "*",
               "Action": "execute-api:Invoke",
               "Resource": [
                   "execute-api:/*"
               ]
           },
           {
               "Effect": "Deny",
               "Principal": "*",
               "Action": "execute-api:Invoke",
               "Resource": [
                   "execute-api:/*"
               ],
               "Condition" : {
                   "StringNotEquals": {
                       "aws:SourceVpce": "vpce-abcd1234"
                   }
               }
           }
       ]
   }
   ```

1. Seleccione **Save changes (Guardar cambios)**.

------
#### [ AWS CLI ]

Cuando crea un nombre de dominio personalizado privado con la AWS CLI, proporciona una política de recursos para que el servicio `execute-api` conceda acceso a los puntos de conexión de VPC para invocar su nombre de dominio personalizado privado mediante el parámetro `--policy file://policy.json`. Podrá modificar esta política más tarde.

En este ejemplo, asociará la siguiente política de recursos como `policy` al cargar parámetros desde un archivo. Copie y guarde este archivo como `policy.json`. Esta política solo permite el tráfico entrante a un nombre de dominio personalizado privado desde el punto de conexión de VPC * `vpce-abcd1234efg`*:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": [
                "execute-api:/*"
            ]
        },
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": [
                "execute-api:/*"
            ],
            "Condition" : {
                "StringNotEquals": {
                    "aws:SourceVpce": "vpce-abcd1234"
                }
            }
        }
    ]
}
```

El siguiente comando [create-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-domain-name.html) permite crear un nombre de dominio personalizado privado:

```
aws apigateway create-domain-name \
    --domain-name 'private.example.com' \
    --certificate-arn 'arn:aws:acm:us-west-2:111122223333:certificate/a1b2c3d4-5678-90ab-cdef' \
    --security-policy 'TLS_1_2' \
    --endpoint-configuration '{"types":["PRIVATE"]}' \
    --policy file://policy.json
```

El resultado será similar al siguiente:

```
{
    "domainName": "private.example.com",
    "domainNameId": "abcd1234",
    "domainNameArn": "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234",
    "certificateArn": "arn:aws:acm:us-west-2:111122223333:certificate/a1b2c3d4-5678-90ab-cdef",
    "certificateUploadDate": "2024-09-10T10:31:20-07:00",
    "endpointConfiguration": {
        "types": [
            "PRIVATE"
        ]
    },
    "domainNameStatus": "AVAILABLE",
    "securityPolicy": "TLS_1_2",
    "routingMode" : "API_MAPPING_ONLY",
    "policy": "..."
}
```

------

## Paso 2: creación de una asignación de ruta base para asignar la API privada al nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-base-path-mapping"></a>

Después de crear el nombre de dominio personalizado privado, debe asignarle una API privada. Una asignación de ruta base hace que se pueda acceder a la API a través de una combinación de nombre de dominio personalizado privado y una ruta base asociada. Le recomendamos que utilice un único nombre de dominio personalizado privado como nombre de host de varias API privadas.

Todos los proveedores de API deben crear una asignación de ruta base, incluso si no tienen previsto invocar su propia API. También debe conceder acceso a los puntos de conexión de VPC para invocar cualquier API privada que asigne a su nombre de dominio personalizado privado.

------
#### [ Consola de administración de AWS ]

**Para crear una asignación de ruta base**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Nombres de dominio personalizados**.

1. Elija un nombre de dominio personalizado privado.

1. En la pestaña **Asignaciones de API**, elija **Configurar asignaciones**.

1. Seleccione **Agregar nueva asignación**.

1. Introduzca una **API**, una **Etapa** y, de forma opcional, una **Ruta**.

1. Seleccione **Save**.

------
#### [ AWS CLI ]

El siguiente comando [create-base-path-mapping](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-base-path-mapping.html) permite crear una asignación entre una API privada y un nombre de dominio personalizado privado:

```
aws apigateway create-base-path-mapping \
    --domain-name-id abcd1234 \
    --domain-name 'private.example.com' \
    --rest-api-id a1b2c3 \
    --stage prod \
    --base-path v1
```

El resultado será similar al siguiente.

```
{
    "basePath": "v1",
    "restApiId": "a1b2c3",
    "stage": "prod"
}
```

------

Para obtener mayor flexibilidad sobre cómo enrutar el tráfico a las API, puede cambiar el modo de enrutamiento a `ROUTING_RULE_ONLY` o `ROUTING_RULE_THEN_API_MAPPING` y crear una regla de enrutamiento. Para obtener más información, consulte [Envío de tráfico a las API a través del nombre de dominio personalizado en API Gateway](rest-api-routing-mode.md).

**nota**  
Si desea que otras Cuentas de AWS invoquen su nombre de dominio personalizado privado, una vez que haya completado este tutorial, siga los pasos que se describen en [Proveedor de API: compartir su nombre de dominio personalizado privado mediante AWS RAM](apigateway-private-custom-domains-provider-share.md).

## Paso 3: creación de una asociación de acceso a nombres de dominio entre su nombre de dominio personalizado y un punto de conexión de VPC
<a name="apigateway-private-custom-domains-provider-associate-with-vpce"></a>

A continuación, debe crear una asociación de acceso a nombres de dominio entre su nombre de dominio personalizado privado y su punto de conexión de VPC. El punto de conexión de VPC utiliza la asociación de acceso a nombres de dominio para invocar su nombre de dominio personalizado privado mientras está aislado de la Internet pública.

------
#### [ Consola de administración de AWS ]

**Para crear una asociación de acceso a nombres de dominio**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Nombres de dominio personalizados**.

1. Elija un nombre de dominio personalizado privado.

1. En la pestaña **Uso compartido de recursos**, en **Asociaciones de acceso a nombres de dominio**, seleccione **Crear asociación de acceso a nombres de dominio**.

1. En **ARN del nombre de dominio**, seleccione el nombre de dominio.

1. En **ID del punto de conexión de VPC**, seleccione el ID del punto de conexión de VPC al que proporcionó acceso en el paso 1.

1. Elija **Asociación de acceso a nombres de dominio**.

También puede crear su asociación de acceso a nombres de dominio desde la página **Asociaciones de acceso a nombres de dominio** de la consola.

------
#### [ AWS CLI ]

El siguiente comando `create-domain-name-access-association` permite crear una asociación de acceso a nombres de dominio entre su nombre de dominio personalizado privado y su punto de conexión de VPC.

```
aws apigateway create-domain-name-access-association \
    --domain-name-arn arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234 \
    --access-association-source vpce-abcd1234efg \
    --access-association-source-type VPCE \
    --region us-west-2
```

El resultado será similar al siguiente.

```
{
    "domainNameAccessAssociationARN": "arn:aws:apigateway:us-west-2:111122223333:/domainnameaccessassociations/domainname/private.example.com+abcd1234/vpcesource/vpce-abcd1234efg",
    "accessAssociationSource": "vpce-abcd1234efg",
    "accessAssociationSourceType": "VPCE",
    "domainNameARN" : "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234"
}
```

------

Tras crear la asociación de acceso a nombres de dominio, esta tardará unos 15 minutos en estar lista. Mientras espera, puede continuar con los siguientes pasos.

## Paso 4: creación de una zona alojada en Route 53
<a name="apigateway-private-custom-domains-provider-create-route-53-private-hosted-zone"></a>

Tras actualizar la política de recursos y asociar el nombre de dominio personalizado privado al punto de conexión de VPC, debe crear una zona alojada privada en Route 53 para resolver el nombre de dominio personalizado. Una zona alojada es un contenedor que incluye información acerca de cómo se desea dirigir el tráfico de un dominio dentro de una o varias VPC sin tener que exponer sus recursos en Internet. Para obtener más información, consulte [Uso de zonas alojadas privadas](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html).

------
#### [ Consola de administración de AWS ]

Para usar la Consola de administración de AWS, consulte [Creación de una zona alojada privada](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html) en la *Guía para desarrolladores de Amazon Route 53*.

En **Nombre**, escriba el nombre de su nombre de dominio personalizado privado. En **ID de VPC**, utilice la VPC que contiene el punto de conexión de VPC que utilizó en los pasos anteriores.

------
#### [ AWS CLI ]

El siguiente comando [create-hosted-zone](https://docs.aws.amazon.com/cli/latest/reference/route53/create-hosted-zone.html) permite crear una zona alojada privada:

```
aws route53 create-hosted-zone --name private.example.com \
    --caller-reference 2014-04-01-18:47 \
    --hosted-zone-config Comment="command-line version",PrivateZone=true \
    --vpc VPCRegion=us-west-2,VPCId=vpc-abcd1234
```

El resultado contiene el ID de la zona alojada. El ID de la zona alojada se utiliza en los pasos siguientes.

------

## Paso 5: creación de un registro de DNS de Route 53
<a name="apigateway-private-custom-domains-provider-create-route-53-record"></a>

Después de crear la zona alojada, debe crear un registro para resolver el nombre de dominio personalizado privado. Debe utilizar el ID de zona alojada que creó en el paso anterior. En este ejemplo, se crea un tipo de registro A. Si está utilizando IPv6 para el punto de conexión de VPC, cree un tipo de registro AAAA. Si utiliza la pila doble para el punto de conexión de VPC, cree un tipo de registro AAAA y un tipo de registro A.

------
#### [ Consola de administración de AWS ]

Para usar la Consola de administración de AWS, consulte [Enrutamiento del tráfico a una API de Amazon API Gateway mediante su nombre de dominio](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-api-gateway.html).

Utilice **Creación rápida** y active la opción **Alias**. Para el punto de conexión, utilice el nombre de DNS del punto de conexión de VPC.

------
#### [ AWS CLI ]

Para configurar sus registros de DNS para asignar el nombre de dominio personalizado privado al nombre de host del ID de zona alojada designado, cree un archivo JSON que contenga la configuración a fin de establecer un registro de DNS para el nombre de dominio privado.

El siguiente `setup-dns-record.json` muestra cómo crear un registro `A` de DNS para asignar un nombre de dominio personalizado privado a su nombre de host privado. Debe proporcionar el `DNSName` de su ID de DNS de VPC y el ID de la zona alojada que creó en el paso anterior.

```
{
  "Changes": [
    {
      "Action": "UPSERT",
      "ResourceRecordSet": {
        "Name": "private.example.com",
        "Type": "A",
        "AliasTarget": {
          "DNSName": "vpce-abcd1234.execute-api.us-west-2.vpce.amazonaws.com",
          "HostedZoneId": "Z2OJLYMUO9EFXC",
          "EvaluateTargetHealth": false
        }
      }
    }
  ]
}
```

El siguiente comando [change-resource-record-sets](https://docs.aws.amazon.com/cli/latest/reference/route53/change-resource-record-sets.html) permite crear un registro de DNS para su nombre de dominio personalizado privado:

```
aws route53 change-resource-record-sets \
    --hosted-zone-id ZABCDEFG1234 \
    --change-batch file://path/to/your/setup-dns-record.json
```

Reemplace `hosted-zone-id` por el ID de zona alojada de Route 53 del conjunto de registros de DNS de la cuenta. El valor del parámetro `change-batch` apunta al archivo JSON.

------

Si no tiene previsto invocar su propio nombre de dominio personalizado privado, una vez que haya confirmado que el nombre de dominio personalizado privado funciona, puede eliminar estos recursos.

## Paso 6: invocación del nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-tutorial-invoke"></a>

Ahora puede invocar su nombre de dominio personalizado privado en su propia Cuenta de AWS. En su VPC, utilice el siguiente comando curl para acceder a su nombre de dominio personalizado privado.

```
curl https://private.example.com/v1
```

Para obtener más información sobre otras formas de invocar sus API privadas, consulte [Invocación de una API privada con un nombre de dominio personalizado](apigateway-private-api-test-invoke-url.md#apigateway-private-custom-domains-provider-invoke).

## Paso 7: limpiar
<a name="apigateway-private-custom-domains-cleanup"></a>

Para evitar costos innecesarios, elimine la asociación entre el punto de conexión de VPC y el nombre de dominio personalizado privado y, a continuación, elimine el nombre de dominio personalizado privado.

------
#### [ Consola de administración de AWS ]

**Para eliminar la asociación de acceso a nombres de dominio**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Asociaciones de acceso a nombres de dominio**.

1. Seleccione la asociación de acceso a nombres de dominio y, a continuación, elija **Eliminar**.

1. Confirme la selección y, a continuación, elija **Eliminar**.

Después de eliminar la asociación de acceso a nombres de dominio, puede eliminar el nombre de dominio personalizado privado.

**Para eliminar un nombre de dominio personalizado privado**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Nombres de dominio personalizados**.

1. Elija el nombre de dominio personalizado privado.

1. Elija **Eliminar**.

1. Confirme la selección y, a continuación, elija **Eliminar**.

Si es necesario, también puede eliminar el punto de conexión de VPC. Para obtener más información, consulte [Eliminación de un punto de conexión de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/delete-interface-endpoint.html).

------
#### [ AWS CLI ]

**Eliminación**

1. El siguiente comando `delete-access-association` permite eliminar la asociación de acceso a nombres de dominio:

   ```
   aws apigateway delete-domain-name-access-association \
       --domain-name-access-association-arn 'arn:aws:apigateway:us-west-2:111122223333:/domainnameaccessassociations/domainname/private.example.com+abcd1234/vpcesource/vpce-abcd1234efg' \
       --region us-west-2
   ```

1. El siguiente comando `delete-domain-name` permite eliminar el nombre de dominio personalizado privado. Este comando también elimina todas las asignaciones de ruta base.

   ```
   aws apigateway delete-domain-name \
       --domain-name test.private.com \
       --domain-name-id abcd1234
   ```

Si es necesario, también puede eliminar el punto de conexión de VPC. Para obtener más información, consulte [Eliminación de un punto de conexión de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/delete-interface-endpoint.html).

------

## Prácticas recomendadas
<a name="apigateway-private-custom-domains-best-practices"></a>

Le recomendamos que utilice las siguientes prácticas recomendadas al crear el nombre de dominio personalizado privado:
+ Utilice la asignación de rutas base o las reglas de enrutamiento para enviar tráfico desde un nombre de dominio personalizado privado a varias API privadas.
+ Cuando un punto de conexión de VPC ya no necesite acceder a un nombre de dominio personalizado privado, elimine la asociación. Además, elimine el punto de conexión de VPC de la `policy` del servicio `execute-api` para el dominio personalizado privado. 
+ Configure al menos dos zonas de disponibilidad por punto de conexión de VPC.
+ Deshabilite el punto de conexión predeterminado. Le recomendamos que deshabilite el punto de conexión predeterminado para permitir que los consumidores de API solo puedan llamar a su API desde el nombre de dominio personalizado. Para obtener más información, consulte [Deshabilitación del punto de conexión predeterminado para las API de REST](rest-api-disable-default-endpoint.md).
+ Le recomendamos que aprovisione una zona alojada privada de Route 53 y un registro de tipo A cuando configure su nombre de dominio personalizado privado. Si no tiene previsto invocar su propio nombre de dominio personalizado privado, puede eliminar estos recursos más tarde.

# Uso de nombres de dominio personalizados privados entre cuentas
<a name="apigateway-private-custom-domains-other-accounts"></a>

En esta sección se explica cómo usar nombres de dominio personalizados privados entre cuentas. Puede proporcionar un nombre de dominio personalizado privado a otra Cuenta de AWS y usar otra Cuenta de AWS para invocar un nombre de dominio personalizado privado.

Puede compartir su nombre de dominio personalizado privado con otra Cuenta de AWS mediante AWS Resource Access Manager o API Gateway. AWS Resource Access Manager (AWS RAM) le ayuda a compartir sus recursos de forma segura entre Cuentas de AWS y dentro de su organización o de unidades organizativas (OU). Para obtener más información, consulte [¿Qué es AWS Resource Access Manager?](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)

Para obtener instrucciones sobre cómo compartir un nombre de dominio personalizado privado con otra Cuenta de AWS mediante AWS RAM, consulte [Proveedor de API: compartir su nombre de dominio personalizado privado mediante AWS RAM](apigateway-private-custom-domains-provider-share.md).

Para obtener instrucciones sobre cómo compartir un nombre de dominio personalizado privado con otra Cuenta de AWS mediante API Gateway, consulte [Proveedor de API: compartir su nombre de dominio personalizado privado mediante la AWS CLI de API Gateway](apigateway-private-custom-domains-provider-share-cli.md).

Para obtener instrucciones sobre cómo consumir un nombre de dominio personalizado privado en otra Cuenta de AWS, consulte [Consumidor de API: asociar su punto de conexión de VPC a un nombre de dominio personalizado privado que se comparta con usted](apigateway-private-custom-domains-consumer-create.md).

## Prácticas recomendadas para el uso de nombres de dominio personalizados privados entre cuentas
<a name="apigateway-private-custom-domains-other-accounts-best-practices"></a>

Recomendamos utilizar las siguientes prácticas recomendadas para usar con nombres de dominio personalizados privados entre cuentas:
+ Utilice AWS RAM para compartir sus nombres de dominio personalizados privados. Al usar AWS RAM, podrá reducir la sobrecarga operativa y no tendrá que crear una `managementPolicy` para el servicio Amazon API Gateway Management.
+ Utilice el parámetro `resource-owner` cuando enumere sus nombres de dominio personalizados privados o asociaciones de acceso a nombres de dominio. Utilice el parámetro `resource-owner` para enumerar únicamente los recursos que le pertenecen a usted o a otras Cuentas de AWS.

  En el siguiente ejemplo se muestra cómo obtener todas las asociaciones de acceso a nombres de dominio que posee:

  ```
  aws apigateway get-domain-name-access-associations --resource-owner SELF
  ```

  Utilice `--resource-owner OTHER_ACCOUNTS` para enumerar todas las asociaciones de acceso a nombres de dominio que otras cuentas han formado con su nombre de dominio personalizado privado.

# Proveedor de API: compartir su nombre de dominio personalizado privado mediante AWS RAM
<a name="apigateway-private-custom-domains-provider-share"></a>

Puede proporcionar acceso a su nombre de dominio personalizado privado a los consumidores de API de otras Cuentas de AWS. En esta sección, aprenderá a compartir su nombre de dominio personalizado privado mediante AWS RAM y a controlar el acceso al nombre de dominio personalizado privado.

## Consideraciones a la hora de compartir su nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-provider-share-considerations"></a>

Las siguientes consideraciones pueden afectar a la forma en que proporciona acceso a su nombre de dominio personalizado privado mediante AWS RAM. Para obtener información sobre cómo compartir su nombre de dominio personalizado privado sin usar AWS RAM, consulte [Proveedor de API: compartir su nombre de dominio personalizado privado mediante la AWS CLI de API Gateway](apigateway-private-custom-domains-provider-share-cli.md).
+ Los nombres de dominio personalizados privados se comparten en el nivel de Región de AWS. Tanto el nombre de dominio personalizado privado como el punto de conexión de VPC deben pertenecer a la misma Región de AWS.
+ Puede usar un recurso compartido con varias entidades principales y, una vez creado el recurso compartido, puede agregarle más entidades principales. Le recomendamos que reutilice el recurso compartido siempre que sea posible.
+ Debe conceder siempre acceso al punto de conexión de VPC del consumidor de API para invocar el nombre de dominio personalizado privado y cualquier API privada asignada a él.
+ Si el consumidor de API y el proveedor de API pertenecen a la misma organización que utiliza AWS Organizations, el recurso compartido se acepta automáticamente. Aún en este caso debe crear el recurso compartido mediante AWS RAM.
+ Si el consumidor de API y el proveedor de API pertenecen a la misma organización que utiliza AWS Organizations y la organización tiene habilitado el uso compartido de recursos, se concederá automáticamente acceso a los recursos compartidos a todas las entidades principales de la organización con las que comparte. No se precisa invitación y puede omitir el uso compartido de recursos.
+ Si el consumidor de API no acepta el recurso compartido en un plazo de **12 horas**, el proveedor de API debe volver a compartir el recurso.
+ Tras crear el recurso compartido, AWS RAM actualiza la `managementPolicy` del servicio Amazon API Gateway Management para su nombre de dominio personalizado privado a fin de impedir el acceso a las entidades principales que no dispongan de un acceso `allow` explícito. Para obtener más información, consulte [Cómo determinar si una solicitud se permite o se deniega dentro de una cuenta](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) en la Guía del usuario de IAM.

  La `managementPolicy` actualizada será similar a la siguiente:

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Id": "abcd1234-1234-abcd-abcd-1234abcdefg",
      "Statement": [
          {
              "Sid": "APIGatewayPrivateDomainNameManagementPolicyDefaultPermission-org",
              "Effect": "Allow",
              "Principal": "*",
              "Action": "apigateway:CreateAccessAssociation",
              "Resource": "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234",
              "Condition": {
                  "StringEquals": {
                      "aws:PrincipalOrgID": "o-1234abcd"
                  },
                  "StringNotEquals": {
                      "aws:PrincipalAccount": "111122223333"
                  }
              }
          }
      ]
  }
  ```

------

  AWS RAM ha impedido que las entidades principales sin acceso `allow` explícito creen asociaciones de acceso con su nombre de dominio personalizado privado al agregar lo siguiente:

  ```
  "StringNotEquals": {
      "aws:PrincipalAccount": "111122223333"
  }
  ```

  Aun así, puede utilizar la entidad principal de la Cuenta de AWS que creó el nombre de dominio personalizado privado para crear asociaciones de acceso a nombres de dominio.

## Permiso para que otras cuentas creen asociaciones de acceso a nombres de dominio con su nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-provider-management-policy-update"></a>

En primer lugar, debe conceder acceso a otra Cuenta de AWS para crear asociaciones de acceso a nombres de dominio con su nombre de dominio personalizado privado.

------
#### [ Consola de administración de AWS ]

Para usar la Consola de administración de AWS, consulte [Creación de un recurso compartido en AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html) en la *Guía del usuario de AWS RAM*.

En **Seleccionar tipo de recurso**, elija **Dominios personalizados privados de API Gateway**.

------
#### [ AWS CLI ]

El siguiente comando [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) permite crear un recurso compartido para el nombre de dominio personalizado privado. La asociación del recurso y la entidad principal puede tardar unos minutos en completarse. Para las entidades principales, proporcione un ID de cuenta o un ID de Organizations, como `arn:aws:organizations::123456789012:organization/o-1234abcd`. Puede proporcionar varias entidades principales para el recurso compartido.

```
aws ram create-resource-share \
    --region us-west-2 \
    --name privateCustomDomain-resource-share \
    --permission-arns arn:aws:ram::aws:permission/APIGatewayPrivateDomainNameManagementPolicyDefaultPermission \
    --resource-arns arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234 \
    --principals 222222222222
```

------

Una vez que haya proporcionado acceso a otra Cuenta de AWS, los consumidores de API de dicha cuenta deben crear una asociación de acceso a nombres de dominio entre su punto de conexión de VPC y su nombre de dominio personalizado privado. No puede crear la asociación de acceso a nombres de dominio para ellos. Para obtener más información, consulte [Asociación de su punto de conexión de VPC a un nombre de dominio personalizado privado compartido](apigateway-private-custom-domains-consumer-create.md#apigateway-private-custom-domains-consumer-associate).

## Permiso para que otras cuentas invoquen su nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-provider-policy-update"></a>

A continuación, debe conceder acceso al punto de conexión de VPC del consumidor de API para que invoque su nombre de dominio personalizado privado y cualquier API privada asignada a él.

------
#### [ Consola de administración de AWS ]

**Para permitir que los puntos de conexión de VPC de otras cuentas invoquen su nombre de dominio personalizado privado**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Nombres de dominio personalizados**.

1. Elija el nombre de dominio personalizado privado que compartió con otras Cuentas de AWS.

1. En la pestaña **Política de recursos**, elija **Editar política de recursos**.

1. Agregue el ID del punto de conexión de VPC del consumidor de API a la política de recursos.

   Puede encontrar el ID del punto de conexión de VPC del consumidor de API en la sección **Asociaciones de acceso a nombres de dominio** de la pestaña **Uso compartido de recursos** de la página **Detalles del dominio** de su nombre de dominio personalizado privado.

1. Seleccione **Save changes (Guardar cambios)**.

------
#### [ AWS CLI ]

La siguiente `policy` del servicio `execute-api` permite el tráfico entrante a un nombre de dominio personalizado privado desde el punto de conexión de VPC `vpce-abcd1234efg` y `vpce-xyz000abc`.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": [
                "execute-api:/*"
            ]
        },
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": [
                "execute-api:/*"
            ],
            "Condition" : {
                "StringNotEquals": {
                    "aws:SourceVpce": [
                    "vpce-abcd1234",
                    "vpce-xyzz0000"
                    ]
                }
            }
        }
    ]
}
```

El siguiente comando [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) utiliza una operación de parche para actualizar la `policy` para un nombre de dominio personalizado privado:

```
aws apigateway update-domain-name
    --domain-name private.example.com \
    --domain-name-id abcd1234 \
    --patch-operations op=replace,path=/policy,value='"{\"Version\": \"2012-10-17\",		 	 	 \"Statement\": [{\"Effect\": \"Allow\",\"Principal\": \"*\",\"Action\": \"execute-api:Invoke\",\"Resource\":[\"execute-api:/*\"]},{\"Effect\": \"Deny\",\"Principal\": \"*\",\"Action\": \"execute-api:Invoke\",\"Resource\":[\"execute-api:/*\"],\"Condition\":{\"StringNotEquals\":[\"vpce-abcd1234efg\", \"vpce-xyz000abc\"]}}}]}"
```

------

# Proveedor de API: cómo dejar de compartir un nombre de dominio personalizado privado mediante AWS RAM
<a name="apigateway-private-custom-domains-provider-stop-sharing"></a>

Para dejar de compartir su nombre de dominio personalizado privado, primero debe eliminar la asociación del recurso compartido para impedir que el consumidor de API cree más asociaciones de acceso a nombres de dominio. A continuación, debe rechazar la asociación de acceso a nombres de dominio y eliminar el punto de conexión de VPC de la `policy` del servicio `execute-api`. El consumidor de API puede entonces eliminar su asociación de acceso a nombres de dominio.

## Cómo dejar de compartir su nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-provider-dissociate-ram"></a>

En primer lugar, debe detener el uso compartido de recursos mediante AWS RAM.

------
#### [ Consola de administración de AWS ]

Para usar la Consola de administración de AWS, consulte [Actualización de un recurso compartido en AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html).

------
#### [ AWS CLI ]

El siguiente comando [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) permite disociar un recurso compartido del nombre de dominio personalizado privado.

```
aws ram disassociate-resource-share \
    --region us-west-2 \
    --resource-arns arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234 \
    --principals 222222222222
```

------

## Rechazo de la asociación de acceso a nombres de dominio
<a name="apigateway-private-custom-domains-provider-reject"></a>

Cuando deje de compartir el recurso mediante AWS RAM, debe rechazar la asociación de acceso a nombres de dominio entre un punto de conexión de VPC de otra cuenta y su nombre de dominio personalizado privado. 

**nota**  
No puede rechazar una asociación de acceso a nombres de dominio en su propia cuenta. Para dejar de compartir recursos, elimine la asociación de acceso a nombres de dominio. Para obtener más información, consulte [Eliminación de una asociación de acceso a nombres de dominio](apigateway-private-custom-domains-tutorial.md#apigateway-private-custom-domains-cleanup).

Cuando rechaza una asociación de acceso a nombres de dominio con un punto de conexión de VPC, si un consumidor de API intenta llamar a su nombre de dominio personalizado privado, API Gateway rechaza la llamada y devuelve un código de estado `403`.

------
#### [ Consola de administración de AWS ]

**Para rechazar una asociación de acceso a nombres de dominio**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Nombres de dominio personalizados**.

1. Elija el nombre de dominio personalizado privado que compartió con otras Cuentas de AWS.

1. En **Compartir recursos**, elija la asociación de acceso a nombres de dominio que desea rechazar.

1. Elija **Rechazar asociación**.

1. Confirme la selección y, a continuación, elija **Rechazar**.

------
#### [ AWS CLI ]

El siguiente comando `reject-domain-name-access-association` rechaza la asociación de acceso a nombres de dominio entre el punto de conexión de la VPC y su nombre de dominio personalizado privado:

```
aws apigateway reject-domain-name-access-association \
    --domain-name-access-association-arn arn:aws:apigateway:us-west-2:444455556666:/domainnameaccessassociations/domainname/private.example.com+abcd1234/vpcesource/vpce-abcd1234efg \
    --domain-name-arn arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234
```

------

## Denegación del acceso al proveedor de API para invocar su nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-provider-deny-access"></a>

Tras rechazar la asociación de acceso a nombres de dominio, debe eliminar el punto de conexión de VPC del consumidor de API de la `policy` para el servicio `execute-api`.

------
#### [ Consola de administración de AWS ]

**Para eliminar el punto de conexión de VPC del consumidor de API de la política de recursos**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Nombres de dominio personalizados**.

1. Elija el nombre de dominio personalizado privado que compartió con otras Cuentas de AWS.

1. En la pestaña **Política de recursos**, elija **Editar**.

1. Elimine el punto de conexión de VPC de la política.

1. Seleccione **Save changes (Guardar cambios)**.

------
#### [ AWS CLI ]

El siguiente comando [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) utiliza una operación de parche para actualizar la `policy` del servicio `execute-api` para un nombre de dominio personalizado privado. Esta nueva `policy` elimina un ID de punto de conexión de VPC adicional agregado en [Permiso para que otras cuentas invoquen su nombre de dominio personalizado privado](apigateway-private-custom-domains-provider-share.md#apigateway-private-custom-domains-provider-policy-update):

```
aws apigateway update-domain-name
    --domain-name private.example.com \
    --domain-name-id abcd1234 \
    --patch-operations op=replace,path=/policy,value='"{\"Version\": \"2012-10-17\",		 	 	 \"Statement\": [{\"Effect\": \"Allow\",\"Principal\": \"*\",\"Action\": \"execute-api:Invoke\",\"Resource\":[\"execute-api:/*\"]},{\"Effect\": \"Deny\",\"Principal\": \"*\",\"Action\": \"execute-api:Invoke\",\"Resource\":[\"execute-api:/*\"],\"Condition\":{\"StringNotEquals\":{\"aws:SourceVpce\": \"vpce-abcd1234efg\"}}}]}"
```

------

A continuación, el consumidor de API debe eliminar la asociación de acceso a nombres de dominio. Usted no puede eliminarla en su nombre. Para obtener más información, consulte [Consumidor de API: eliminar su asociación de acceso a nombres de dominio con un nombre de dominio personalizado privado](apigateway-private-custom-domains-consumer-delete-domain-name-access-association.md).

# Proveedor de API: compartir su nombre de dominio personalizado privado mediante la AWS CLI de API Gateway
<a name="apigateway-private-custom-domains-provider-share-cli"></a>

Puede compartir un nombre de dominio personalizado privado mediante la AWS CLI de API Gateway, pero le recomendamos que utilice AWS RAM para reducir la sobrecarga operativa. Para obtener instrucciones sobre cómo usar AWS RAM para compartir su nombre de dominio personalizado privado, consulte [Proveedor de API: compartir su nombre de dominio personalizado privado mediante AWS RAM](apigateway-private-custom-domains-provider-share.md).

Para compartir un nombre de dominio personalizado privado mediante la AWS CLI de API Gateway, debe conceder a otra Cuentas de AWS acceso para crear asociaciones de acceso a nombres de dominio e invocar su nombre de dominio personalizado privado. Para ello, actualice la `managementPolicy` del servicio API Gateway Management y la `policy` del servicio `execute-api` de su nombre de dominio personalizado privado. También debe conceder acceso al punto de conexión de VPC del consumidor de API en la política de recursos para cualquier API privada asignada a su nombre de dominio personalizado privado.

El consumidor de API aún deberá crear una asociación de acceso a nombres de dominio en su propia cuenta, entre su punto de conexión de VPC y su nombre de dominio personalizado privado. Usted no puede hacerlo en su nombre.

## Concesión de acceso a su nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-provider-share-cli-allow"></a>

**Para conceder acceso a su nombre de dominio personalizado privado**

1. Para actualizar la `managementPolicy` del servicio API Gateway Management, cree un archivo JSON que contenga la operación de parche para actualizar la política. El siguiente `patch-managementPolicy.json` sustituye la actual `managementPolicy` por una política de ejemplo que concede a las Cuentas de AWS 111122223333 y 444455556666 acceso para crear asociaciones de acceso a nombres de dominio con el nombre de dominio personalizado privado `private.example.com`.

   ```
   [{
       "op": "replace",
       "path": "/managementPolicy",
       "value": "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\", \"arn:aws:iam::444455556666:root\"]},\"Action\":\"apigateway:CreateAccessAssociation\",\"Resource\":\"arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\"}]}"
   }]
   ```

    El siguiente comando [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) permite actualizar la `managementPolicy` mediante `patch-managementPolicy.json`. 

   ```
   aws apigateway update-domain-name \
       --domain-name private.example.com \
       --domain-name-id abcd1234 \
       --patch-operations file://patch-managementPolicy.json
   ```

   Una vez que conceda el acceso, debe notificar al consumidor de API que puede formar la asociación de acceso a nombres de dominio. Si utiliza AWS RAM, AWS RAM llevará a cabo este paso en su nombre.

1. Para actualizar la `policy` del servicio `execute-api`, debe crear un archivo JSON que contenga la operación de parche para actualizar la política. El siguiente `patch-policy.json` sustituye la actual `policy` por una política de ejemplo que concede acceso a dos puntos de conexión de VPC para invocar el nombre de dominio personalizado privado `private.example.com`.

   ```
   [{
       "op": "replace",
       "path": "/policy",
       "value": "{\"Version\": \"2012-10-17\",		 	 	 \"Statement\": [{\"Effect\": \"Allow\",\"Principal\": \"*\",\"Action\": \"execute-api:Invoke\",\"Resource\": \"arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\"},{\"Effect\": \"Deny\",\"Principal\": \"*\",\"Action\": \"execute-api:Invoke\",\"Resource\": \"arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\",\"Condition\": {\"StringNotEquals\": {\"aws:SourceVpce\": [\"vpce-abcd1234\",\"vpce-xyzz0000\"]}}}]}"
   }]
   ```

    Utilice el siguiente comando [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) para actualizar la `policy` mediante `patch-policy.json`. 

   ```
   aws apigateway update-domain-name \
       --domain-name private.example.com \
       --domain-name-id abcd1234 \
       --patch-operations file://patch-policy.json
   ```

## Denegación del acceso a su nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-provider-share-cli-deny"></a>

Para dejar de compartir su nombre de dominio personalizado privado, debe rechazar la asociación de acceso a nombres de dominio entre su nombre de dominio personalizado privado y el punto de conexión de VPC del consumidor de API.

**Para denegar el acceso a su nombre de dominio personalizado privado**

1. El siguiente comando `reject-domain-name-access-association` rechaza la asociación de acceso a nombres de dominio.

   ```
   aws apigateway reject-domain-name-access-association \
       --domain-name-access-association-arn arn:aws:apigateway:us-west-2:444455556666:/domainnameaccessassociations/domainname/private.example.com+abcd1234/vpcesource/vpce-abcd1234 \
       --domain-name-arn arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234
   ```

1. Modifique el `patch-managementPolicy.json` para eliminar el acceso a la cuenta del proveedor de API a fin de crear una asociación de acceso a nombres de dominio con su nombre de dominio personalizado privado. El siguiente `patch-managementPolicy.json` elimina una cuenta de la `managementPolicy`:

   ```
   [{
        "op": "replace",
        "path": "/managementPolicy",
        "value": "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"apigateway:CreateAccessAssociation\",\"Resource\":\"arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\"}]}"
   }]
   ```

   El siguiente comando [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) permite actualizar la `managementPolicy` mediante `patch-managementPolicy.json`. 

   ```
   aws apigateway update-domain-name \
       --domain-name private.example.com \
       --domain-name-id abcd1234 \
       --patch-operations file://patch-managementPolicy.json
   ```

1. Modifique el `patch-policy.json` para eliminar el acceso del punto de conexión de VPC del proveedor de API para invocar su nombre de dominio personalizado privado. El siguiente `patch-policy.json` elimina el ID del punto de conexión de VPC de la `policy`:

   ```
   [{
       "op": "replace",
       "path": "/policy",
       "value": "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\"},{\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\",\"Condition\":{\"StringNotEquals\":{\"aws:SourceVpce\":\"vpce-abcd1234\"}}}]}"
   }]
   ```

   El siguiente comando [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) permite actualizar la `policy` mediante `patch-policy.json`. 

   ```
   aws apigateway update-domain-name \
       --domain-name private.example.com \
       --domain-name-id abcd1234 \
       --patch-operations file://patch-policy.json
   ```

## Políticas de ejemplo utilizadas en este procedimiento
<a name="apigateway-private-custom-domains-provider-share-cli-policies"></a>

En la siguiente sección se muestran las políticas de ejemplo que se utilizan en el procedimiento anterior.

La siguiente política de ejemplo corresponde a la `managementPolicy` del servicio Amazon API Gateway Management. Esta política concede a las Cuentas de AWS 111122223333 y 444455556666 acceso para crear asociaciones de acceso a nombres de dominio con el nombre de dominio personalizado privado `private.example.com`. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "111122223333",
                    "444455556666"
                ]
            },
            "Action": "apigateway:CreateAccessAssociation",
            "Resource": "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+a1b2c3"
        }
    ]
}
```

------

La siguiente política de ejemplo corresponde a la `policy` del servicio `execute-api`. Esta política concede a los puntos de conexión de VPC `vpce-abcd1234` y `vpce-xyzz0000` acceso para invocar el nombre de dominio personalizado privado.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.example.com+abcd1234"
        },
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.example.com+abcd1234",
            "Condition": {
                "StringNotEquals": {
                    "aws:SourceVpce": [
                        "vpce-abcd1234",
                        "vpce-xyzz0000"
                    ]
                }
            }
        }
    ]
}
```

------

# Consumidor de API: asociar su punto de conexión de VPC a un nombre de dominio personalizado privado que se comparta con usted
<a name="apigateway-private-custom-domains-consumer-create"></a>

El siguiente procedimiento muestra cómo consumir un nombre de dominio privado en otra Cuenta de AWS. Dependiendo de su relación de confianza con el proveedor de API, AWS RAM podría completar algunas de las tareas en su nombre.

Si se encuentra en una Cuenta de AWS distinta del nombre de dominio personalizado privado, solo puede asociar su punto de conexión de VPC a un nombre de dominio personalizado privado e invocarlo. No puede ver la `policy` ni ningún otro parámetro del nombre de dominio personalizado privado.

## Requisitos previos
<a name="apigateway-private-custom-domains-consumer-prerequisites"></a>

Se aplican los siguientes requisitos previos para consumir un nombre de dominio personalizado privado en otra Cuenta de AWS:
+ Una VPC y un punto de conexión de VPC para el servicio `execute-api`. La VPC debe tener `enableDnsHostnames` y `enableDnsSupport` establecidos en `true`.
+ Le recomendamos que configure al menos dos zonas de disponibilidad por punto de conexión de VPC.

## (Opcional) Aceptación del recurso compartido de dominio personalizado privado
<a name="apigateway-private-custom-domains-consumer-accept-resource-share"></a>

Si su proveedor de API utilizó AWS RAM para crear un recurso compartido, dispone de **12 horas** para aceptarlo. Si pertenece a la misma organización que utiliza AWS Organizations como proveedor de API, el recurso compartido se acepta automáticamente. Si pertenece a una organización que tiene habilitados los recursos compartidos automáticos, el recurso se comparte automáticamente con usted.

------
#### [ Consola de administración de AWS ]

Para usar la Consola de administración de AWS, consulte [Aceptar y rechazar invitaciones a recursos compartidos](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared-invitations.html) en la *Guía del usuario de AWS RAM*. 

------
#### [ AWS CLI ]

Para buscar todos los recursos que se comparten con usted, utilice el siguiente comando [get-resource-share-invitations](https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html):

```
aws ram get-resource-share-invitations \
    --region us-west-2
```

Utilice el ARN del recurso compartido resultante para aceptar la invitación al recurso compartido. El siguiente comando [accept-resource-share-invitation](https://docs.aws.amazon.com/cli/latest/reference/ram/accept-resource-share-invitation.html) permite aceptar el recurso compartido.

```
aws ram accept-resource-share-invitation \
    --resource-share-invitation-arn arn:aws:ram:us-west-2:123456789012:resource-share-invitation/1e3477be-4a95-46b4-bbe0-c4001EXAMPLE \
    --region us-west-2
```

------

## Asociación de su punto de conexión de VPC a un nombre de dominio personalizado privado compartido
<a name="apigateway-private-custom-domains-consumer-associate"></a>

Puesto que los nombres de dominio personalizados privados no son exclusivos, debe asociar su punto de conexión de VPC al ARN de nombre de dominio personalizado exclusivo. Después de crear la asociación de acceso a nombres de dominio, el punto de conexión de VPC puede tardar hasta 15 minutos en invocar correctamente el nombre de dominio personalizado privado. Si tiene un punto de conexión de VPC que utiliza para acceder a un nombre de dominio personalizado público, no lo utilice para crear ninguna asociación de acceso a nombres de dominio. 

------
#### [ Consola de administración de AWS ]

**Para asociar el punto de conexión de VPC a un nombre de dominio personalizado privado compartido**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Asociaciones de acceso a nombres de dominio**.

1. Elija **Crear asociación de acceso a nombres de dominio**.

1. En **ARN del nombre de dominio**, seleccione el ARN del nombre de dominio que el proveedor de API compartió con usted.

   Es posible que el ARN del nombre de dominio no aparezca en la lista desplegable. Puede usar la consola de AWS RAM para ver los nombres de dominio que se han compartido con usted y, a continuación, copiar el ARN del nombre de dominio e ingresarlo en este campo.

1. En **ID del punto de conexión de VPC**, seleccione el ID del punto de conexión de VPC con el que desea formar la asociación de acceso a nombres de dominio.

1. Elija **Crear asociación de acceso a nombres de dominio**.

------
#### [ AWS CLI ]

Puesto que los nombres de dominio personalizados privados no son exclusivos, debe asociar su punto de conexión de VPC al ARN de nombre de dominio personalizado exclusivo. Para buscar el ARN del nombre de dominio, utilice uno de los comandos siguientes.

1.   
**AWS RAM**  
El siguiente comando [list-resources](https://docs.aws.amazon.com/cli/latest/reference/ram/list-resources.html) permite obtener una lista de los recursos que se han compartido con usted. Para usar este comando, el proveedor de API debe haber utilizado AWS RAM para compartir su dominio personalizado privado con usted.  

   ```
   aws ram list-resources \
       --resource-owner OTHER-ACCOUNTS \
       --region us-west-2
       --resource-type apigateway:Domainnames
   ```  
**API Gateway**  
El siguiente comando `get-domain-names` permite obtener una lista de todos los nombres de dominio personalizados privados que pertenecen a otras Cuentas de AWS y con los que puede formar asociaciones de acceso a nombres de dominio.  

   ```
   aws apigateway get-domain-names \
       --resource-owner OTHER_ACCOUNTS \
       --region us-west-2
   ```

1.  Tras recuperar el ARN, utilice API Gateway para crear la asociación de acceso a nombres de dominio entre el punto de conexión de VPC y un nombre de dominio personalizado privado compartido. Utilice el siguiente comando `create-domain-name-access-association`:

   ```
   aws apigateway create-domain-name-access-association \
       --access-association-source-type VPCE \
       --access-association-source 'vpce-1a2b3c4d5e6f1a2b3' \
       --domain-name-arn arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234"
   ```

   El resultado será similar al siguiente.

   ```
   {
       "domainNameAccessAssociationARN": "arn:aws:apigateway:us-west-2:444455556666:/domainnameaccessassociations/domainname/private.example.com+abcd1234/vpcesource/vpce-abcd1234efg", 
       "accessAssociationSource": "vpce-1a2b3c4d5e6f1a2b3",
       "accessAssociationSourceType": "VPCE",
       "domainNameARN" : "arn:aws:apigateway:us-west-1:111122223333:/domainnames/private.example.com+a1b2c3"
   }
   ```

------

Una vez que haya asociado el punto de conexión de VPC al nombre de dominio personalizado privado, confirme que el proveedor de API ha actualizado la política de su nombre de dominio personalizado privado para permitir que el punto de conexión de VPC invoque su nombre de dominio. Para obtener más información, consulte [Permiso para que otras cuentas invoquen su nombre de dominio personalizado privado](apigateway-private-custom-domains-provider-share.md#apigateway-private-custom-domains-provider-policy-update).

## Creación de una zona alojada en Route 53
<a name="apigateway-private-custom-domains-consumer-create-route-53-private-hosted-zone"></a>

Para resolver el nombre de dominio personalizado privado, debe crear una zona alojada privada en Route 53. Una zona alojada es un contenedor que incluye información acerca de cómo se desea dirigir el tráfico de un dominio dentro de una o varias VPC sin tener que exponer sus recursos en Internet. Para obtener más información, consulte [Uso de zonas alojadas privadas](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html).

------
#### [ Consola de administración de AWS ]

Para usar la Consola de administración de AWS, consulte [Creación de una zona alojada privada](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html) en la *Guía para desarrolladores de Amazon Route 53*.

En **Nombre**, escriba el nombre del nombre de dominio personalizado privado. En **ID de VPC**, utilice la VPC que contiene el punto de conexión de VPC que se utilizó para la asociación de acceso a nombres de dominio.

------
#### [ AWS CLI ]

El siguiente comando [create-hosted-zone](https://docs.aws.amazon.com/cli/latest/reference/route53/create-hosted-zone.html) permite crear una zona alojada privada:

```
aws route53 create-hosted-zone --name private.example.com \
    --caller-reference 2014-04-01-18:47 \
    --hosted-zone-config Comment="command-line version",PrivateZone=true \
    --vpc VPCRegion=us-west-2,VPCId=vpc-abcd1234
```

El resultado contiene el ID de la zona alojada. El ID de la zona alojada se utiliza en los pasos siguientes.

------

## Creación de un registro A de Route 53
<a name="apigateway-private-custom-domains-consumer-create-route-53-record"></a>

Después de crear la zona alojada, debe crear un registro para resolver el dominio personalizado privado. En este ejemplo, se crea un tipo de registro A. Si está utilizando IPv6 para el punto de conexión de VPC, cree un tipo de registro AAAA. Si utiliza la pila doble para el punto de conexión de VPC, cree un tipo de registro AAAA y un tipo de registro A.

------
#### [ Consola de administración de AWS ]

Para usar la Consola de administración de AWS, consulte [Enrutamiento del tráfico a una API de Amazon API Gateway mediante su nombre de dominio](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-api-gateway.html).

Utilice **Creación rápida** y active la opción **Alias**. Para el punto de conexión, utilice el nombre de DNS del punto de conexión de VPC.

------
#### [ AWS CLI ]

Para configurar sus registros de DNS para asignar el nombre de dominio personalizado privado al nombre de host del ID de zona alojada designado, cree un archivo JSON que contenga la configuración a fin de establecer un registro de DNS para el nombre de dominio privado.

El siguiente `setup-dns-record.json` muestra cómo crear un registro `A` de DNS para asignar un nombre de dominio personalizado privado a su nombre de host privado. Debe proporcionar el `DNSName` de su ID de DNS de VPC y el ID de la zona alojada que creó en el paso anterior.

```
{
  "Changes": [
    {
      "Action": "UPSERT",
      "ResourceRecordSet": {
        "Name": "private.example.com",
        "Type": "A",
        "AliasTarget": {
          "DNSName": "vpce-abcd1234.execute-api.us-west-2.vpce.amazonaws.com",
          "HostedZoneId": "Z2OJLYMUO9EFXC",
          "EvaluateTargetHealth": false
        }
      }
    }
  ]
}
```

El siguiente comando [change-resource-record-sets](https://docs.aws.amazon.com/cli/latest/reference/route53/change-resource-record-sets.html) permite crear un registro de DNS para su nombre de dominio personalizado privado:

```
aws route53 change-resource-record-sets \
    --hosted-zone-id ZABCDEFG1234 \
    --change-batch file://path/to/your/setup-dns-record.json
```

Reemplace `hosted-zone-id` por el ID de zona alojada de Route 53 del conjunto de registros de DNS de la cuenta. El valor del parámetro `change-batch` apunta al archivo JSON.

------

## Próximos pasos para un consumidor de API
<a name="apigateway-private-custom-domains-consumer-next-steps"></a>

Ahora puede invocar la API privada en su propia Cuenta de AWS. En su VPC, puede utilizar el siguiente comando curl para acceder a su nombre de dominio personalizado privado.

```
curl https://private.example.com/v1
```

Para obtener más información sobre otras formas de invocar sus API privadas, consulte [Invocación de una API privada con un nombre de dominio personalizado](apigateway-private-api-test-invoke-url.md#apigateway-private-custom-domains-provider-invoke).

# Consumidor de API: eliminar su asociación de acceso a nombres de dominio con un nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-consumer-delete-domain-name-access-association"></a>

Si es un consumidor de API, puede eliminar el recurso de asociación de acceso en cualquier momento. El proveedor de API no puede eliminar la asociación de acceso a nombres de dominio en su nombre.

Le recomendamos que elimine siempre las asociaciones de acceso a nombres de dominio que ya no la utilice.

------
#### [ Consola de administración de AWS ]

**Para eliminar la asociación de acceso a nombres de dominio**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Asociaciones de acceso a nombres de dominio**.

1. Seleccione la asociación de acceso a nombres de dominio y, a continuación, elija **Eliminar**.

1. Confirme la selección y, a continuación, elija **Eliminar**.

------
#### [ AWS CLI ]

El siguiente comando `delete-access-association` elimina la asociación de acceso:

```
aws apigateway delete-domain-name-access-association \
    --domain-name-access-association-arn 'arn:aws:apigateway:us-west-2:444455556666:/domainnameaccessassociations/domainname/private.example.com+abcd1234/vpcesource/vpce-abcd1234efg'
```

------

# Creación de un nombre de dominio personalizado para API privadas mediante CloudFormation
<a name="apigateway-private-custom-domains-cfn"></a>

La siguiente plantilla CloudFormation de ejemplo crea una API privada y un nombre de dominio personalizado privado, asigna la API privada al nombre de dominio personalizado y, a continuación, crea una asociación de acceso a nombres de dominio. Debe proporcionar su propio punto de conexión de VPC, nombre de dominio y ARN de certificado.

Las siguientes consideraciones pueden afectar al uso que haga de CloudFormation para crear un nombre de dominio personalizado privado.
+ No puede rechazar una asociación de acceso a nombres de dominio mediante CloudFormation. Para rechazar una asociación de acceso a nombres de dominio, utilice la AWS CLI.
+ Utilice la propiedad `AWS::ApiGateway::DomainNameV2` de CloudFormation para crear un nombre de dominio personalizado privado.
+ Utilice la propiedad `AWS::ApiGateway:BasePathMappingV2` de CloudFormation para crear una asignación de ruta base.

```
AWSTemplateFormatVersion: 2010-09-09
Parameters:
  EndpointID:
    Type: String
    Default: vpce-abcd1234567efg
    Description: A VPC endpoint with enableDnsHostnames and enableDnsSupport set to true.
  DomainName:
    Type: String
    Default: private.example.com
    Description: A domain name that you own.
  CertificateArn:
    Type: String
    Default: arn:aws:acm:us-west-2:123456789:certificate/abcd-000-1234-0000-000000abcd
    Description: An ACM certificate that covers the domain name.
Resources:
  PrivateApi:
    Type: 'AWS::ApiGateway::RestApi'
    Properties:
      EndpointConfiguration:
        Types:
          - PRIVATE
        VpcEndpointIds:
          - !Ref EndpointID
      Name: private-api
      Policy:
        Statement:
          - Action: 'execute-api:Invoke'
            Effect: Allow
            Principal: '*'
            Resource: 'execute-api:/*'
          - Action: 'execute-api:Invoke'
            Condition:
              StringNotEquals:
                'aws:SourceVpce': !Ref EndpointID
            Effect: Deny
            Principal: '*'
            Resource: 'execute-api:/*'
        Version: 2012-10-17		 	 	 
  PrivateApiDeployment:
    Type: 'AWS::ApiGateway::Deployment'
    Properties:
      RestApiId: !Ref PrivateApi
      Description: Private API deployment
    DependsOn:
      - PrivateApiMethod
  PrivateApiStage:
    Type: 'AWS::ApiGateway::Stage'
    Properties:
      RestApiId: !Ref PrivateApi
      DeploymentId: !Ref PrivateApiDeployment
      StageName: prod
  PrivateApiMethod: 
    Type: 'AWS::ApiGateway::Method'
    Properties:
      HttpMethod: ANY
      ResourceId: !GetAtt PrivateApi.RootResourceId
      RestApiId: !Ref PrivateApi
      AuthorizationType: NONE
      Integration:
        Type: MOCK
        RequestTemplates:
          application/json: "{\"statusCode\": 200}"
        IntegrationResponses:
          - StatusCode: '200'
      MethodResponses:
        - StatusCode: '200'
  PrivateDomainName:
    Type: AWS::ApiGateway::DomainNameV2
    Properties:
      DomainName: !Ref DomainName
      CertificateArn: !Ref CertificateArn
      EndpointConfiguration:
        Types:
          - PRIVATE
      SecurityPolicy: TLS_1_2
      Policy:
        Statement:
            - Action: 'execute-api:Invoke'
              Effect: Allow
              Principal: '*'
              Resource: 'execute-api:/*'
            - Action: 'execute-api:Invoke'
              Condition:
                StringNotEquals:
                  'aws:SourceVpce': !Ref EndpointID
              Effect: Deny
              Principal: '*'
              Resource: 'execute-api:/*'
        Version: 2012-10-17		 	 	 
  PrivateBasePathMapping:
    Type: AWS::ApiGateway::BasePathMappingV2
    DependsOn:
      - PrivateApiStage
    Properties:
      BasePath: prod
      DomainNameArn: !GetAtt PrivateDomainName.DomainNameArn
      RestApiId: !Ref PrivateApi
      Stage: prod
  DomainNameAccessAssociation: 
    Type: AWS::ApiGateway::DomainNameAccessAssociation
    Properties:
      DomainNameArn: !GetAtt PrivateDomainName.DomainNameArn
      AccessAssociationSource: !Ref EndpointID
      AccessAssociationSourceType: VPCE
```

# Invocación de una API privada
<a name="apigateway-private-api-test-invoke-url"></a>

Solo puede invocar una API privada en una VPC mediante un punto de conexión de VPC. La API privada debe tener una política de recursos que permita que las VPC y los puntos de conexión de VPC específicos invoquen la API.

Si invoca una API privada sin usar un nombre de dominio personalizado o nombres de DNS privados y el nombre de las API o dominio utiliza una política de seguridad que comienza por `SecurityPolicy_`, debe configurar el modo de acceso de punto de conexión a `BASIC`. Para obtener más información, consulte [Modo de acceso de punto de conexión](apigateway-security-policies.md#apigateway-security-policies-endpoint-access-mode).

## Invocación de una API privada con un nombre de dominio personalizado
<a name="apigateway-private-custom-domains-provider-invoke"></a>

Para invocar una API privada con un nombre de dominio personalizado, el punto de conexión de VPC necesita una asociación de acceso a nombre de dominio con un nombre de dominio personalizado, y el nombre de dominio personalizado debe permitir el acceso para que el punto de conexión de VPC lo invoque. Para obtener más información, consulte [Nombres de dominio personalizados para API privadas en API Gateway](apigateway-private-custom-domains.md).

No existe ninguna diferencia entre invocar un nombre de dominio personalizado privado de una VPC de su propia Cuenta de AWS o de una Cuenta de AWS distinta.

### Uso del nombre de dominio personalizado
<a name="apigateway-private-custom-domains-invoke-1"></a>

Dentro de la VPC, puede invocar la API con el nombre de dominio personalizado. El siguiente ejemplo corresponde a un comando curl para invocar el nombre de dominio personalizado privado:

```
curl https://private.example.com
```

### Uso de nombres de host DNS privados específicos de un punto de conexión
<a name="apigateway-private-custom-domains-invoke-2"></a>

Puede invocar la API utilizando el nombre de dominio personalizado y el nombre de host DNS privado específico del punto de conexión.

```
curl https://private-dns-hostname.execute-api.region.vpce.amazonaws.com/basepath -H 'Host:custom-domain-name'
```

El siguiente ejemplo corresponde a un comando curl para invocar el nombre de dominio personalizado utilizando un nombre de host DNS privado específico de un punto de conexión:

```
curl https://vpce-123456-abc000.execute-api.us-east-2.vpce.amazonaws.com/test -H 'Host:private.example.com'
```

## Invocación de una API privada sin utilizar un nombre de dominio personalizado
<a name="apigateway-private-api-invoke-without-custom-domain-name"></a>

Para invocar la API privada sin usar un nombre de dominio personalizado, debe identificar los nombres DNS de la API. El siguiente procedimiento muestra cómo buscar los nombres de DNS.

------
#### [ Consola de administración de AWS ]

**Búsqueda de los nombres de DNS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon VPC en [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación principal, elija **Puntos de conexión** y, a continuación, elija el punto de conexión de VPC de la interfaz para API Gateway.

1. En el panel **Detalles**, verá cinco valores en el campo **Nombres de DNS**. Los tres primeros son los nombres de DNS públicos de la API. Los otros dos son los nombres de DNS privados.

------
#### [ AWS CLI ]

Use el siguiente comando [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) para mostrar los valores de DNS.

```
aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-01234567abcdef012
```

Los tres primeros son los nombres de DNS públicos de la API. Los otros dos son los nombres de DNS privados.

------

### Invocación de una API privada a través de un alias de Route53
<a name="apigateway-private-api-route53-alias"></a>

Puede asociar o desasociar un punto de conexión de VPC con la API privada. Para obtener más información, consulte [(Opcional) Asociación o desasociación de un punto de conexión de VPC con una API privada](apigateway-private-api-create.md#associate-private-api-with-vpc-endpoint).

Tras asociar los puntos de conexión de VPC a la API privada, puede utilizar la siguiente URL base para invocar la API:

```
https://{rest-api-id}-{vpce-id}.execute-api.{region}.amazonaws.com/{stage}
```

Por ejemplo, si configuró el método `GET /pets` para la etapa `test` y el ID de la API de REST era `01234567ab`, el ID de punto de conexión de VPC era `vpce-01234567abcdef012` y la región era `us-west-2`, puede invocar la API de la siguiente manera:

```
curl -v https://01234567ab-vpce-01234567abcdef012.execute-api.us-west-2.amazonaws.com/test/pets
```

### Invocación de una API privada a través de nombres de DNS privados
<a name="w2aac15c20c17c17b9b9"></a>

Si ha habilitado un DNS privado, puede acceder a la API privada con el nombre de DNS privado siguiente:

```
{restapi-id}.execute-api.{region}.amazonaws.com
```

La URL base para invocar la API tiene el formato siguiente:

```
https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}
```

Por ejemplo, si configuró el método `GET /pets` para la etapa `test` y el ID de la API de REST era `01234567ab` y la región era `us-west-2`, podría invocar la API privada ingresando la siguiente URL en un navegador:

```
https://01234567ab.execute-api.us-west-2.amazonaws.com/test/pets
```

También puede usar el comando cURL siguiente para invocar la API privada:

```
curl -X GET https://01234567ab.execute-api.us-west-2.amazonaws.com/test/pets 
```

**aviso**  
Si habilita el DNS privado para el punto de conexión de VPC, no podrá acceder al punto de conexión predeterminado para las API públicas. Para obtener más información, consulte el artículo sobre el tema [¿Por qué no puedo conectarme a mi API pública desde un punto de conexión de VPC de API Gateway?](https://repost.aws/knowledge-center/api-gateway-vpc-connections)

### Invocación de una API privada con Direct Connect
<a name="w2aac15c20c17c17b9c11"></a>

Puede utilizar Direct Connect para establecer una conexión privada dedicada entre una red en las instalaciones y Amazon VPC y acceder al punto de conexión de la API privada a través de esa conexión mediante nombres de DNS públicos.

También puede utilizar nombres DNS privados para acceder a su API privada desde una red local mediante la configuración de un punto de conexión entrante de Amazon Route 53 Resolver y el reenvío de todas las consultas DNS del DNS privado desde su red remota. Para obtener más información, consulte [Reenvío de consultas DNS entrantes a sus VPC](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-forwarding-inbound-queries.html) en la *Guía para desarrolladores de Amazon Route 53*.

### Invocación de la API privada mediante nombres de host de DNS públicos específicos de punto de conexión
<a name="apigateway-private-api-public-dns"></a>

Puede obtener acceso a su API privada utilizando nombres de host DNS específicos de punto de conexión. Se trata de nombres de host DNS públicos que contienen el ID de punto de conexión de VPC o el ID de su API privada.

La URL base generada tiene el siguiente formato:

```
https://{public-dns-hostname}.execute-api.{region}.vpce.amazonaws.com/{stage}
```

Por ejemplo, si configura el método `GET /pets` para la etapa `test` y el ID de la API de REST era `abc1234`, el nombre de host de DNS público era `vpce-def-01234567` y la región era `us-west-2`, podría invocar la API privada con su ID de VPCE utilizando el siguiente encabezado `Host` en un comando cURL:

```
curl -v https://vpce-def-01234567.execute-api.us-west-2.vpce.amazonaws.com/test/pets -H 'Host: abc1234.execute-api.us-west-2.amazonaws.com'
```

También puede invocar la API privada a través de su ID de API mediante el encabezado `x-apigw-api-id` en un comando cURL en el siguiente formato:

```
curl -v https://{public-dns-hostname}.execute-api.{region}.vpce.amazonaws.com/{stage} -H 'x-apigw-api-id:{api-id}'
```