

# API Gateway で REST API を保護する
<a name="rest-api-protect"></a>

API Gateway は、悪意のあるユーザーやトラフィックの急増など、特定の脅威から API を保護するさまざまな方法を提供します。SSL 証明書の生成、ウェブアプリケーションファイアウォールの設定、スロットリング目標の設定、Virtual Private Cloud (VPC) から API へのアクセスのみの許可などの戦略を使用することで、API を保護できます。このセクションでは、API Gateway を使用してこれらの機能を有効にする方法を説明しています。

**Topics**
+ [API Gateway で REST API の相互 TLS 認証を有効にする方法](rest-api-mutual-tls.md)
+ [API Gateway のバックエンド認証用 SSL 証明書の生成と設定](getting-started-client-side-ssl-authentication.md)
+ [AWS WAF を使用して API Gateway の REST API を保護する](apigateway-control-access-aws-waf.md)
+ [API Gateway のスループットを向上させるために REST API へのリクエストをスロットリングする](api-gateway-request-throttling.md)
+ [API Gateway のプライベート REST API](apigateway-private-apis.md)

# API Gateway で REST API の相互 TLS 認証を有効にする方法
<a name="rest-api-mutual-tls"></a>

相互 TLS 認証には、クライアントとサーバー間の双方向認証が必要です。相互 TLS では、クライアントは X.509 証明書を提示して、API にアクセスするためのアイデンティティを検証する必要があります。相互 TLS は、モノのインターネット (IoT) および B2B アプリケーションの一般的な要件です。

相互 TLS は、API Gateway がサポートする他の[認可オペレーションおよび認証オペレーション](apigateway-control-access-to-api.md)と共に使用できます。API Gateway は、クライアントが提供する証明書を Lambda オーソライザーおよびバックエンド統合に転送します。

**重要**  
デフォルトでは、クライアントは、API Gateway が API 用に生成する `execute-api` エンドポイントを使用して API を呼び出すことができます。相互 TLS でカスタムドメイン名を使用することによってのみクライアントが API にアクセスできるようにするには、デフォルトの `execute-api` エンドポイントを無効にします。詳細については[REST API のデフォルトのエンドポイントを無効にする](rest-api-disable-default-endpoint.md)を参照してください。

**Topics**
+ [相互 TLS の前提条件](#rest-api-mutual-tls-prerequisites)
+ [カスタムドメイン名の相互 TLS の設定](#rest-api-mutual-tls-configure)
+ [相互 TLS を必要とするカスタムドメイン名を使用して API を呼び出す](#rest-api-mutual-tls-invoke)
+ [信頼ストアの更新](#rest-api-mutual-tls-update-truststore)
+ [相互 TLS を無効にする](#rest-api-mutual-tls-disable)
+ [REST API の相互 TLS のトラブルシューティング](#rest-api-mutual-tls-troubleshooting)

## 相互 TLS の前提条件
<a name="rest-api-mutual-tls-prerequisites"></a>

相互 TLS を設定するには、以下が必要です。
+ リージョン別カスタムドメイン名
+ カスタムドメイン名用の AWS Certificate Manager で構成されている少なくとも 1 つの証明書
+ 設定され Amazon S3 にアップロードされた信頼ストア

### カスタムドメイン名
<a name="rest-api-mutual-tls-custom-domain-name"></a>

 REST API の相互 TLS を有効にするには、API のカスタムドメイン名を設定する必要があります。カスタムドメイン名の相互 TLS を有効にした後、カスタムドメイン名をクライアントに提供できます。相互 TLS が有効なカスタムドメイン名を使用して API にアクセスするには、クライアントは API リクエストで信頼できる証明書を提示する必要があります。詳細な情報は、「[API Gateway でのパブリック REST API のカスタムドメイン名](how-to-custom-domains.md)」にあります。

### AWS Certificate Manager が発行した証明書を使用する
<a name="rest-api-mutual-tls-using-acm-issued-certs"></a>

パブリックに信頼できる証明書は ACM から直接要求すること、またはパブリック証明書または自己署名証明書をインポートすることができます。ACM で証明書を設定するには、「[ACM](https://console.aws.amazon.com/acm/)」を参照してください。証明書をインポートする場合は、次のセクションを参照してください。

### インポートされた証明書、または AWS Private Certificate Authority 証明書を使用する
<a name="rest-api-mutual-tls-non-acm-certs"></a>

ACM にインポートされた証明書、または相互 TLS を用いた AWS Private Certificate Authority からの証明書を使用するには、API Gateway には ACM が発行した `ownershipVerificationCertificate` が必要です。この所有権証明書は、ドメイン名を使用する許可を持っていることを確認するためにのみ使用されます。TLS ハンドシェイクには使用されません。まだ `ownershipVerificationCertificate` を持っていない場合は、[https://console.aws.amazon.com/acm/](https://console.aws.amazon.com/acm/) に進み、その 1 つをセットアップします。

ドメイン名の有効期間中、この証明書を有効にしておく必要があります。証明書の有効期限が切れ、自動更新が失敗した場合、ドメイン名の更新はすべてロックされます。他の変更を加える前に、有効な `ownershipVerificationCertificate` を用いて `ownershipVerificationCertificateArn` を更新する必要があります。`ownershipVerificationCertificate` は、API Gateway の別の相互 TLS ドメインのサーバー証明書として使用できません。証明書を ACM に直接再インポートする場合、発行者は以前と同じである必要があります。

### 信頼ストアの設定
<a name="rest-api-mutual-tls-create-trust-store"></a>

信頼ストアは、`.pem` ファイル拡張子が付いたテキストファイルです。これらは、証明機関からの証明書の信頼できるリストです。相互 TLS を使用するには、API にアクセスするために信頼する X.509 証明書の信頼ストアを作成します。

信頼ストアには、発行元の CA 証明書からルート CA 証明書までの完全な信頼チェーンを含める必要があります。API Gateway は、信頼チェーンに存在する任意の CA によって発行されたクライアント証明書を受け入れます。パブリックまたはプライベート認証機関からの証明書を使用できます。証明書チェーンの最大長は 4 です。自己署名証明書を提供することもできます。トラストストアでは、次のアルゴリズムがサポートされています。
+ SHA-256 以上
+ RSA-2048 以上
+ ECDSA-256 または ECDSA-384

API Gateway はいくつかの証明書プロパティを検証します。Lambda オーソライザーを使用して、証明書が失効しているかどうかのチェックなど、クライアントによる API の呼び出し時に追加のチェックを実行できます。API Gateway は、次のプロパティを検証します。


| 検証 | 説明 | 
| --- | --- | 
|  X.509 構文  |  証明書は X.509 構文の要件を満たしている必要があります。  | 
|  整合性  |  証明書の内容は、信頼ストアの認証機関によって署名された内容から変更されていないことが必要です。  | 
|  Validity  |  証明書の有効期間は最新のものであることが必要です。  | 
|  名前のチェーン/キーのチェーン  |  証明書の名前とサブジェクトは、途切れのないチェーンを形成する必要があります。証明書チェーンの最大長は 4 です。  | 

### 信頼ストアを 1 つのファイルで Amazon S3 バケットにアップロードします。
<a name="w2aac15c20b7c11c13"></a>

以下に示しているのは、.pem ファイルの具体的な例です。

**Example certificates.pem**  

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

次の [cp](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) AWS CLI コマンドは、`certificates.pem` を Amazon S3 バケットにアップロードします。

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

## カスタムドメイン名の相互 TLS の設定
<a name="rest-api-mutual-tls-configure"></a>

REST API の相互 TLS を設定するには、API のリージョン別カスタムドメイン名を `TLS_1_2` セキュリティポリシーで使用する必要があります。セキュリティポリシーの選択の詳細については、「[API Gateway でカスタムドメインのセキュリティポリシーを選択する](apigateway-custom-domain-tls-version.md)」を参照してください。

**注記**  
相互 TLS は、プライベート API ではサポートされていません。

信頼ストアを Amazon S3 にアップロードした後、相互 TLS を使用するようにカスタムドメイン名を設定できます。次の [create-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-domain-name.html) は、相互 TLS を有効にしたカスタムドメイン名を作成します。

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

ドメイン名を作成したら、API オペレーション用に DNS レコードと基本パスのマッピングを設定する必要があります。詳細については[API Gateway でリージョン別カスタムドメイン名を設定する](apigateway-regional-api-custom-domain-create.md)を参照してください。

## 相互 TLS を必要とするカスタムドメイン名を使用して API を呼び出す
<a name="rest-api-mutual-tls-invoke"></a>

相互 TLS が有効な API を呼び出すには、クライアントは API リクエストで信頼できる証明書を提示する必要があります。クライアントが API を呼び出そうとすると、API Gateway は信頼ストアでクライアント証明書の発行者を探します。API Gateway でリクエストを続行するには、証明書の発行者と、ルート CA 証明書までの完全な信頼チェーンが信頼ストアにある必要があります。

以下の例の `curl` コマンドは、`api.example.com,` が含まれるリクエストを `my-cert.pem` に送信します。`my-key.key` は証明書のプライベートキーです。

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

API は、信頼ストアが証明書を信頼している場合にのみ呼び出されます。次の条件により、API Gateway が TLS ハンドシェイクに失敗し、`403` ステータスコードのリクエストが拒否されます。証明書が以下の場合:
+ 信頼されていない
+ 有効期限切れである
+ サポートされているアルゴリズムを使用していない

**注記**  
API Gateway は、証明書が失効したかどうかを検証しません。

## 信頼ストアの更新
<a name="rest-api-mutual-tls-update-truststore"></a>

信頼ストアの証明書を更新するには、新しい証明書バンドルを Amazon S3 にアップロードします。次に、カスタムドメイン名を更新して、更新された証明書を使用することができます。

[Amazon S3 バージョニング](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)を使用して、信頼ストアの複数のバージョンを維持します。新しい信頼ストアバージョンを使用するようにカスタムドメイン名を更新すると、証明書が無効な場合に API Gateway から警告が返されます。

API Gateway は、ドメイン名を更新するときにのみ、証明書の警告を生成します。API Gateway は、以前にアップロードされた証明書の有効期限が切れた場合でも、通知しません。

次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、新しいトラストストアバージョンを使用するようにカスタムドメイン名を更新します。

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

## 相互 TLS を無効にする
<a name="rest-api-mutual-tls-disable"></a>

次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) は、相互 TLS を無効にします。

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

## REST API の相互 TLS のトラブルシューティング
<a name="rest-api-mutual-tls-troubleshooting"></a>

以下では、相互 TLS を有効にするときに発生する可能性のあるエラーや問題に関するトラブルシューティングのアドバイスを示します。

### 証明書の警告のトラブルシューティング
<a name="rest-api-mutual-tls-troubleshooting-certificate"></a>

 相互 TLS でカスタムドメイン名を作成する場合、信頼ストア内の証明書が有効でない場合に API Gateway から警告が返されます。これは、新しい信頼ストアを使用するようにカスタムドメイン名を更新するときにも発生します。警告は、証明書の問題と、警告の発生元となった証明書のサブジェクトを示します。相互 TLS は引き続き API で有効ですが、一部のクライアントは API にアクセスできない場合があります。

警告の発生元となった証明書を特定するには、信頼ストア内の証明書をデコードする必要があります。`openssl` などのツールを使用して、証明書をデコードし、そのサブジェクトを特定できます。

以下のコマンドは、証明書の内容 (サブジェクトなど) を表示します。

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

警告の発生元となった証明書を更新または削除してから、新しい信頼ストアを Amazon S3 にアップロードします。新しい信頼ストアをアップロードした後、その信頼ストアを使用するようにカスタムドメイン名を更新します。

### ドメイン名の競合のトラブルシューティング
<a name="w2aac15c20b7c21b7"></a>

エラー `"The certificate subject <certSubject> conflicts with an existing certificate from a different issuer."` は、複数の認証機関がこのドメインの証明書を発行したことを表します。証明書の件名ごとに、相互 TLS ドメイン用の API Gateway には 1 人の発行者しか存在できません。1 つの発行者を通じて、その件名に関するすべての証明書を取得する必要があります。管理できない証明書に問題があるけれども、ドメイン名の所有権を証明できる場合は、[連絡先 サポート](https://console.aws.amazon.com/support/cases#/create) からチケットを開きます。

### ドメイン名のステータスメッセージのトラブルシューティング
<a name="w2aac15c20b7c21b9"></a>

`PENDING_CERTIFICATE_REIMPORT`: これは、証明書を ACM に再インポートし、検証に失敗したことを意味します。すなわち、新しい証明書には SAN (サブジェクトの別名) があり、`ownershipVerificationCertificate` または証明書のサブジェクトまたは SAN はドメイン名をカバーしないからです。何かが正しく設定されていないか、無効な証明書がインポートされた可能性があります。有効な証明書を ACM に再インポートする必要があります。検証の詳細については、「[ドメインの所有権の検証](https://docs.aws.amazon.com/acm/latest/userguide/domain-ownership-validation.html)」を参照してください。

`PENDING_OWNERSHIP_VERIFICATION`: 以前に検証した証明書の有効期限が切れ、ACM がそれを自動更新できなかったことを意味します。証明書を更新するか、新しい証明書をリクエストする必要があります。証明書の更新の詳細については、「[ACM の管理された証明書の更新に関するトラブルシューティング](https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-renewal.html)ガイド」を参照してください。

### 間違って返された証明書のトラブルシューティング
<a name="w2aac15c20b7c21c11"></a>

専用証明書を完全修飾ドメイン名 (FQDN) からユーザーのワイルドカードドメイン名に移行すると、API Gateway はワイルドカードドメイン名の代わりに FQDN の証明書を返す場合があります。

次のコマンドは、API Gateway から返される証明書を表示します。

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

結果の証明書が FQDN 用である場合は、[サポート に問い合わせ](https://console.aws.amazon.com/support/cases#/create)てチケットを開きます。

# API Gateway のバックエンド認証用 SSL 証明書の生成と設定
<a name="getting-started-client-side-ssl-authentication"></a>

 API Gateway を使用して SSL 証明書を生成し、バックエンドでそのパブリックキーを使用して、バックエンドシステムへの HTTP リクエストが API Gateway からのものであることを確認できます。これにより、HTTP バックエンドは、バックエンドがパブリックにアクセス可能であっても、Amazon API Gateway から送信されるリクエストのみを制御し、受け入れることができます。

**注記**  
 一部のバックエンドサーバーは、API Gateway のようには SSL クライアント認証をサポートしていない場合があり、SSL 証明書エラーを返す可能性があります。互換性のないバックエンドサーバーのリストについては、「[Amazon API Gateway に関する重要な注意点](api-gateway-known-issues.md)」を参照してください。

 API Gateway によって生成される SSL 証明書は自己署名されており、証明書のパブリックキーのみ API Gateway コンソールで、または API を通じて表示されます。

**Topics**
+ [API Gateway コンソールを使用してクライアント証明書を生成する](#generate-client-certificate)
+ [SSL 証明書を使用するように API を設定する](#configure-api)
+ [クライアント証明書の設定を確認するテスト呼び出し](#test-invoke)
+ [クライアント証明書を検証するようにバックエンド HTTPS サーバーを設定する](#certificate-validation)
+ [失効するクライアント証明書の更新](#certificate-rotation)
+ [API Gateway での HTTP および HTTP プロキシ統合のための API Gateway 対応の証明機関](api-gateway-supported-certificate-authorities-for-http-endpoints.md)

## API Gateway コンソールを使用してクライアント証明書を生成する
<a name="generate-client-certificate"></a>

1. API Gateway ([https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway/)) コンソールを開きます。

1. REST API または WebSocket API を選択します。

1. メインナビゲーションペインで、**[クライアント証明書]** を選択します。

1. **[クライアント証明書]** ペインから、**[証明書の生成]** を選択します。

1.  (オプション) **[説明]** に説明を入力します。

1. **[証明書を生成]** を選択して証明書を生成します。API Gateway は新しい証明書を生成し、PEM エンコードされた公開鍵とともに新しい証明書 GUID を返します。

これで API で証明書を使用するように設定する準備が整いました。

## SSL 証明書を使用するように API を設定する
<a name="configure-api"></a>

これらの手順は、「[API Gateway コンソールを使用してクライアント証明書を生成する](#generate-client-certificate)」をすでに完了していることを前提としています。

1.  API Gateway コンソールで、クライアント証明書を使用する REST API または WebSocket API を作成するか開きます。API がステージにデプロイされていることを確認します。

1. メインナビゲーションペインで、**[ステージ]** を選択します。

1. **[ステージの詳細]** セクションで、**[編集]** を選択します。

1. **[クライアント証明書]** で、証明書を選択します。

1. **[Save changes]** (変更の保存) をクリックします。

API に対して証明書が選択され保存されると、API Gateway は API での HTTP 統合へのすべての呼び出しにこの証明書を使用します。

## クライアント証明書の設定を確認するテスト呼び出し
<a name="test-invoke"></a>

1. REST API メソッドを選択します。**[テスト]** タブを選択します。**[テスト]** タブを表示するには、右矢印ボタンを選択する必要がある場合があります。

1. **[クライアント証明書]** で、証明書を選択します。

1. **[テスト]** を選択します。

 API Gateway は、API を認証するために、選択された SSL 証明書を HTTP バックエンドに提示します。

## クライアント証明書を検証するようにバックエンド HTTPS サーバーを設定する
<a name="certificate-validation"></a>

以下の手順は、「[API Gateway コンソールを使用してクライアント証明書を生成する](#generate-client-certificate)」を完了し、クライアント証明書のコピーをダウンロード済みであることが前提です。クライアント証明書は、API Gateway REST API の [https://docs.aws.amazon.com/apigateway/latest/api/API_GetClientCertificate.html](https://docs.aws.amazon.com/apigateway/latest/api/API_GetClientCertificate.html) または AWS CLI の [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) を呼び出すことでダウンロードできます。

 API Gateway のクライアント SSL 証明書を確認するバックエンド HTTPS サーバーを設定する前に、PEM エンコードされたプライベートキーと、信頼された証明機関によって提供されたサーバー側証明書を取得しておく必要があります。

サーバーのドメイン名が `myserver.mydomain.com` の場合、サーバー証明書の CNAME 値は `myserver.mydomain.com` または `*.mydomain.com` にする必要があります。

サポートされている証明機関は、[Let's Encrypt](https://letsencrypt.org/) や「[API Gateway での HTTP および HTTP プロキシ統合のための API Gateway 対応の証明機関](api-gateway-supported-certificate-authorities-for-http-endpoints.md)」のいずれかなどです。

たとえば、クライアント証明書ファイルが `apig-cert.pem` で、サーバーのプライベートキーと証明書ファイルはそれぞれ、`server-key.pem` と `server-cert.pem` であるとします。バックエンドの Node.js サーバーの場合、次のようなサーバーを設定できます。

```
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);
```



node-[express](http://expressjs.com/) アプリの場合、[client-certificate-auth](https://www.npmjs.com/package/client-certificate-auth) モジュールを使用して、PEM エンコードされた証明書を使用するクライアントのリクエストを認証できます。

その他の HTTPS サーバーについては、サーバーのドキュメントを参照してください。

## 失効するクライアント証明書の更新
<a name="certificate-rotation"></a>

API Gateway によって生成されたクライアント証明書は 365 日間有効です。API のダウンタイムを避けるため、API ステージのクライアント証明書が失効する前に、証明書を更新する必要があります。

### AWS マネジメントコンソールを使用して失効するクライアント証明書を更新する
<a name="certification-rotation-console"></a>

以下の手順は、以前にデプロイされた API のコンソールでクライアント証明書をローテーションする方法を示しています。

1. メインナビゲーションペインで、**[クライアント証明書]** を選択します。

1. **[クライアント証明書]** ペインから、**[証明書の生成]** を選択します。

1.  クライアント証明書を使用する API を開きます。

1. 選択された API で [**ステージ**] を選択し、ステージを選択します。

1. **[ステージの詳細]** セクションで、**[編集]** を選択します。

1. **[クライアント証明書]** で、証明書を選択します。

1. 設定を保存するには、**[変更の保存]** を選択します。

### AWS CLI を使用して失効するクライアント証明書を更新する
<a name="certificate-rotation-cli"></a>

 証明書の有効期限は、API Gateway REST API の [clientCertificate:by-id](https://docs.aws.amazon.com/apigateway/latest/api/API_GetClientCertificate.html) または [get-client-certificate](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-client-certificate.html) の AWS CLI コマンドを呼び出して、返された [expirationDate](https://docs.aws.amazon.com/apigateway/latest/api/API_ClientCertificate.html#expirationDate) プロパティを調べることで確認できます。

クライアント証明書をローテーションするには、次の手順を実行します。

1. API Gateway REST API の [clientcertificate:generate](https://docs.aws.amazon.com/apigateway/latest/api/API_GenerateClientCertificate.html) または [generate-client-certificate](https://docs.aws.amazon.com/cli/latest/reference/apigateway/generate-client-certificate.html) の AWS CLI コマンドを呼び出して、新しいクライアント証明書を生成します。このチュートリアルでは、新しいクライアント証明書 ID を `ndiqef` とします。

1.  バックエンドサーバーを更新して新しいクライアント証明書を含めます。既存のクライアント証明書はまだ削除しないでください。

   更新を完了するためにサーバーの再起動が必要になる場合があります。更新中にサーバーを再起動する必要があるかどうかは、サーバーのドキュメントを参照してください。

1.  API Gateway REST API の [stage:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateStage.html) を呼び出し、新しいクライアント証明書 ID (`ndiqef`) 使用して新しいクライアント証明書を使用するように API ステージを更新します。

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

   [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) コマンドを使用することもできます。

   WebSocket API を使用している場合は、`apigatewayv2` [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/update-stage.html) コマンドを使用します。

1.  バックエンドサーバーを更新して古い証明書を削除します。

1.  古い証明書の clientCertificateId (`a1b2c3`) を指定して API Gateway REST API の [clientcertificate:delete](https://docs.aws.amazon.com/apigateway/latest/api/API_DeleteClientCertificate.html) を呼び出し、古い証明書を API Gateway から削除します。

   ```
   DELETE /clientcertificates/a1b2c3 
   ```

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

# API Gateway での HTTP および HTTP プロキシ統合のための API Gateway 対応の証明機関
<a name="api-gateway-supported-certificate-authorities-for-http-endpoints"></a>

 次のリストは、HTTP、HTTP プロキシ、およびプライベート統合のために API Gateway によりサポートされる証明機関を示しています。

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

# AWS WAF を使用して API Gateway の REST API を保護する
<a name="apigateway-control-access-aws-waf"></a>

AWS WAF は、ウェブアプリケーションと API を攻撃から保護するウェブアプリケーションファイアウォールです。お客様が定義するカスタマイズ可能なウェブセキュリティルールと条件に基づいて、ウェブリクエストを許可、ブロック、またはカウントする一連のルール (ウェブアクセスコントロールリスト (ウェブ ACL) と呼ばれます) を設定することができます。詳細については、「[AWS WAF の仕組み](https://docs.aws.amazon.com/waf/latest/developerguide/how-aws-waf-works.html)」を参照してください。

AWS WAF を使用して、SQL インジェクションやクロスサイトスクリプティング (XSS) 攻撃などの一般的なウェブの脆弱性から API Gateway REST API を保護できます。これらは、API の可用性とパフォーマンスに影響を与え、セキュリティを侵害したり、過剰なリソースを消費したりする可能性があります。例えば、指定した IP アドレス範囲からのリクエスト、CIDR ブロックからのリクエスト、特定の国またはリージョンからのリクエスト、悪意のある SQL コードを含むリクエスト、悪意のあるスクリプトを含むリクエストを許可またはブロックするルールを作成できます。

また、HTTP ヘッダー、メソッド、クエリ文字列、URI、リクエスト本文内の指定文字列や正規表現パターン (最初の 64 KB までに制限) と一致するルールを作成することもできます。さらに、特定のユーザーエージェント、悪質なボット、またはコンテンツスクレーパーからの攻撃をブロックするルールを作成できます。たとえば、レートベースのルールを使用して、継続的に更新される後続の 5 分間で、各クライアント IP によって許可されるウェブリクエストの数を指定できます。

**重要**  
AWS WAF は、ウェブの脆弱性に対する防御の最前線です。API で AWS WAF が有効になっている場合は、[リソースポリシー](apigateway-resource-policies.md)、[IAM ポリシー](permissions.md)、[Lambda オーソライザー](apigateway-use-lambda-authorizer.md)、および [Amazon Cognito オーソライザー](apigateway-integrate-with-cognito.md)など他のアクセスコントロール機能の前に AWS WAF ルールが評価されます。たとえば、AWS WAF がリソースポリシーで許可されている CIDR ブロックからのアクセスをブロックした場合、AWS WAF が優先され、リソースポリシーは評価されません。

API に対して AWS WAF を有効にするには、次の操作を行う必要があります。

1. AWS WAF コンソール、AWS SDK、または CLI を使用して、AWS WAF マネージドルールと独自のカスタムルールを自由に組み合わせたウェブ ACL を作成します。詳細については、「[AWS WAF の開始方法](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started.html)」と「[ウェブアクセスコントロールリスト (ウェブ ACL)](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html)」を参照してください。
**重要**  
API Gateway には、リージョナルアプリケーション用の AWS WAFV2 ウェブ ACL または AWS WAF Classic Regional ウェブ ACL が必要です。

1. AWS WAF ウェブ ACL を API ステージに関連付けます。これを行うには、AWS WAF コンソール、AWS SDK、CLI、または API Gateway コンソールを使用できます。

## API Gateway コンソールを使用して AWS WAF ウェブ ACL を API Gateway API ステージに関連付けるには
<a name="apigateway-control-access-aws-waf-console"></a>

API Gateway コンソールを使用して AWS WAF ウェブ ACL を既存の API Gateway API ステージに関連付けるには、次の手順を使用します。

1. API Gateway コンソール ([https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)) にサインインします。

1. 既存の API を選択するか、新しい API を作成します。

1. メインナビゲーションペインで、**[ステージ]** を選択してから、ステージを選択します。

1. **[ステージの詳細]** セクションで、**[編集]** を選択します。

1. **[ウェブアプリケーションファイアウォール (AWS WAF)]** で、ウェブ ACL を選択します。

   AWS WAFV2 を使用している場合は、リージョナルアプリケーション用の AWS WAFV2 ウェブ ACL を選択します。使用するウェブ ACL やその他の AWS WAFV2 リソースは、API と同じリージョンに存在している必要があります。

   AWS WAF Classic Regional を使用している場合は、リージョナルウェブ ACL を選択します。

1. [**Save changes**] (変更の保存) をクリックします。

## AWS CLI を使用して AWS WAF ウェブ ACL を API Gateway API ステージに関連付ける
<a name="apigateway-control-access-aws-waf-awscli"></a>

次の [associate-web-acl](https://docs.aws.amazon.com/cli/latest/reference/wafv2/associate-web-acl.html) コマンドは、リージョン別アプリケーションの AWS WAFV2 ウェブ ACL を既存の API Gateway API ステージに関連付けます。

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

次の [associate-web-acl](https://docs.aws.amazon.com/cli/latest/reference/waf-regional/associate-web-acl.html) コマンドは、AWS WAF Classic Regional ウェブ ACL を既存の API Gateway API ステージに関連付けます。

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

## AWS WAF REST API を使用して AWS WAF ウェブ ACL を API ステージに関連付ける
<a name="apigateway-control-access-aws-waf-api"></a>

AWS WAFV2 REST API を使用してリージョナルアプリケーション用の AWS WAFV2 ウェブ ACL を既存の API Gateway API ステージに関連付けるには、次の例に示すように、[AssociateWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_AssociateWebACL.html) コマンドを呼び出します。

```
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'
)
```

AWS WAF REST API を使用して AWS WAF Classic Regional ウェブ ACL を既存の API Gateway API ステージに関連付けるには、次の例に示すように、[AssociateWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_wafRegional_AssociateWebACL.html) コマンドを呼び出します。

```
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'
)
```

# API Gateway のスループットを向上させるために REST API へのリクエストをスロットリングする
<a name="api-gateway-request-throttling"></a>

API のスロットリングおよびクォータを設定して、多すぎるリクエストで API の負荷が高くなりすぎないように保護できます。スロットルとクォータの両方はベストエフォートベースで適用されるため、これらは保証されたリクエスト上限ではなく、目標として考える必要があります。

API Gateway は、トークンバケットアルゴリズムを使用してトークンでリクエストをカウントし、API へのリクエストを調整します。特に API Gateway では、アカウントのすべての API に送信されるリクエストのレートとバーストをリージョンごとに検証します。トークンバケットアルゴリズムでは、これらの制限の事前定義されたオーバーランがバーストによって許可されますが、場合によっては、他の要因によって制限のオーバーランが発生することがあります。

リクエストの送信数がリクエストの定常レートおよびバーストを超えると、API Gateway はリクエストを調整を開始します。クライアントは、この時点で `429 Too Many Requests` エラーレスポンスを受け取ることがあります。このような例外をキャッチすると、クライアントは 失敗したリクエストをレート制限する方法で再送信できます。

API デベロッパーは、API の個々のステージまたはメソッドに目標制限を設定して、アカウントのすべての API にわたるパフォーマンス全体を向上させることができます。別の方法として、使用量プランを有効にして、指定したリクエストレートおよびクォータに基づいて、クライアントのリクエスト送信数でスロットリングを設定することもできます。

**Topics**
+ [API Gateway でスロットリング制限設定が適用される方法](#apigateway-how-throttling-limits-are-applied)
+ [リージョンごとのアカウントレベルのスロットリング](#apig-request-throttling-account-level-limits)
+ [使用量プランの API レベルとステージレベルのスロットリング目標の設定](#apigateway-api-level-throttling-in-usage-plan)
+ [ステージレベルのスロットリングターゲットの設定](#apigateway-stage-level-throttling)
+ [使用量プランのメソッドレベルのスロットリング目標の設定](#apigateway-method-level-throttling-in-usage-plan)

## API Gateway でスロットリング制限設定が適用される方法
<a name="apigateway-how-throttling-limits-are-applied"></a>

API のスロットリング設定とクォータ設定を構成する前に、API のスロットリング関連の設定のタイプと、API Gateway による設定の適用方法を理解しておくと役立ちます。

Amazon API Gateway のスロットリングに関連する設定には、4 つの基本的なタイプがあります。
+ AWS スロットリングの制限は、リージョン内のすべてのアカウントとクライアントに適用されます。**これらの制限設定は、リクエストが多すぎるために API —およびアカウント—が処理しきれなくなることを防ぎます。これらの制限は AWS によって設定され、お客様が変更することはできません。
+ アカウントごとの制限は、指定したリージョンのアカウント内のすべての API に適用されます。このアカウントレベルのレート制限は、申請に応じて引き上げることができます。API のタイムアウトが短く、ペイロードが小さい場合、高い制限を設定できます。リージョンごとのアカウントレベルのスロットリング制限の引き上げを申請するには、[AWS サポートセンター](https://console.aws.amazon.com/support/home#/)にお問い合わせください。詳細については、「[Amazon API Gateway のクォータ](limits.md)」を参照してください。これらの制限は、AWS スロットリングの制限以上に高くすることはできません。
+ API ごと、ステージごとのスロットリング制限は、ステージの API メソッドレベルで適用されます。すべてのメソッドに同じ設定を構成することも、メソッドごとに異なるスロットル設定を構成することもできます。これらの制限は、AWS スロットリングの制限以上に高くすることはできません。
+ *クライアントあたりのスロットリング制限*は、クライアント ID として使用プランに関連付けられた API キーを使用するクライアントに適用されます。これらの制限は、 アカウントごとの制限以上に高くすることはできません。

API Gateway は、スロットリング関連の設定を、次の順序で適用します。

1. [使用量プラン](api-gateway-create-usage-plans.md#api-gateway-usage-plan-create)で API ステージに設定した[クライアントあたり、またはメソッドあたりのスロットリング制限](#apigateway-method-level-throttling-in-usage-plan)

1. [API ステージに設定したメソッドあたりのスロットリング制限](set-up-stages.md#how-to-stage-settings)

1. [リージョンごとのアカウントレベルのスロットリング](#apig-request-throttling-account-level-limits)

1. AWS リージョンのスロットリング

## リージョンごとのアカウントレベルのスロットリング
<a name="apig-request-throttling-account-level-limits"></a>

API Gateway はデフォルトで、リージョンごとに AWS アカウント内のすべての API 全体で定常状態のリクエスト/秒 (RPS) を制限します。また、リージョンごとに AWS アカウント内のすべての API にわたってバースト (最大バケットサイズ) を制限します。API Gateway では、バースト制限は、API Gateway が `429 Too Many Requests` エラーレスポンスを返す前に処理する同時リクエスト送信の目標最大数を表します。スロットリングクォータの詳細については、「[Amazon API Gateway のクォータ](limits.md)」を参照してください。

## 使用量プランの API レベルとステージレベルのスロットリング目標の設定
<a name="apigateway-api-level-throttling-in-usage-plan"></a>

[使用量プラン](api-gateway-api-usage-plans.md)では、 API またはステージレベルでのすべてのメソッドのメソッドあたりのスロットリング目標を設定できます。*スロットリングレート*（1 秒あたりのリクエスト数）を指定できます。スロットリングレートとは、トークンバケットにトークンが追加されるレートです。また、トークンバケットの容量である*スロットリングバースト*を指定することもできます。

使用量プランを作成するには、AWS CLI、SDK、AWS マネジメントコンソール を使用できます。使用量プランを作成する方法の詳細については、「[API Gateway での REST API の使用量プランと API キー](api-gateway-api-usage-plans.md)」を参照してください。

## ステージレベルのスロットリングターゲットの設定
<a name="apigateway-stage-level-throttling"></a>

AWS CLI、SDK、および AWS マネジメントコンソール を使用して、ステージレベルのスロットリングターゲットを作成できます。

AWS マネジメントコンソール を使用してステージレベルのスロットリングターゲットを作成する方法の詳細については、「[ステージ設定の変更](set-up-stages.md#how-to-stage-settings)」を参照してください。AWS CLI を使用してステージレベルのスロットリングターゲットを作成する方法の詳細については、「[create-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-stage.html)」を参照してください。

## 使用量プランのメソッドレベルのスロットリング目標の設定
<a name="apigateway-method-level-throttling-in-usage-plan"></a>

[**使用量プラン**] で、[使用量プランを作成する](api-gateway-create-usage-plans.md#api-gateway-usage-plan-create) に示すように、メソッドレベルの追加のスロットリング目標を設定できます。これらは、API Gateway コンソールの、[**メソッドスロットリングの設定**] 設定で、`Resource=<resource>` 、`Method=<method>` を指定して設定されます。たとえば、[PetStore サンプル](api-gateway-create-api-step-by-step.md)に、`Resource=/pets`、`Method=GET` を指定できます。

# API Gateway のプライベート REST API
<a name="apigateway-private-apis"></a>

プライベート API は、Amazon VPC 内からのみ呼び出せる REST API です。API にアクセスするには、[インターフェイス VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)を使用します。これは、VPC で作成するエンドポイントネットワークインターフェイスです。インターフェイスエンドポイントは、プライベート IP アドレスを経由して AWS PrivateLink サービスにプライベートにアクセスできるテクノロジーである AWS により強化されています。

Direct Connect を使用してオンプレミスネットワークから Amazon VPC への接続を確立し、この接続を介してプライベート API にアクセスすることも可能です。いずれの場合も、プライベート API へのトラフィックは安全な接続を使用し、パブリックインターネットからは隔離されます。トラフィックは、Amazon ネットワークを離れません。

## プライベート API のベストプラクティス
<a name="apigateway-private-api-best-practices"></a>

プライベート API を作成するときは、以下のベストプラクティスを使用することをお勧めします。
+ 単一の VPC エンドポイントを使用して複数のプライベート API にアクセスします。これにより、必要な VPC エンドポイントの数が減少します。
+ VPC エンドポイントを API に関連付けます。これにより、Route 53 エイリアス DNS レコードが作成され、プライベート API の呼び出しが簡単になります。
+ VPC のプライベート DNS をオンにします。VPC のプライベート DNS を有効にすると、`Host`または `x-apigw-api-id` ヘッダーを渡さずに、VPC 内で API を呼び出すことができます。

  プライベート DNS を有効にすると、パブリック API のデフォルトエンドポイントにアクセスできなくなります。パブリック API のデフォルトエンドポイントにアクセスするには、プライベート DNS をオフにして、VPC 内のプライベート API ごとにプライベートホストゾーンを作成し、Route 53 で必要なレコードをプロビジョニングできます。これにより、プライベート API を解決するとともに、VPC からパブリックデフォルトエンドポイントを呼び出すことができます。詳細については、「[プライベートホストゾーンの作成](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html)」を参照してください。
+ プライベート API へのアクセスを特定の VPC または VPC エンドポイントに制限します。API のリソースポリシーに `aws:SourceVpc` 条件や `aws:SourceVpce` 条件を追加して、アクセスを制限します。
+ データ境界を最も安全にするには、VPC エンドポイントポリシーを作成できます。これにより、プライベート API を呼び出せる VPC エンドポイントへのアクセスを制御します。

## プライベート API に関する考慮事項
<a name="apigateway-private-api-considerations"></a>

以下の考慮事項は、プライベート API の使用に影響する可能性があります。
+ REST API のみがサポートされています。
+ プライベート API をエッジ最適化 API に変換することはできません。
+ プライベート API は、TLS 1.2 のみをサポートします。以前の TLS バージョンはサポートされていません。
+ HTTP/2 プロトコルを使用してリクエストを行う場合、リクエストは自動的に HTTP/1.1 プロトコルを使用するように変更されます。
+ IPv4 アドレスでのみプライベート API を呼び出せるようにプライベート API の IP アドレスタイプを設定することはできません。サポートされているのはデュアルスタックのみです。詳細については、「[API Gateway の REST API の IP アドレスタイプ](api-gateway-ip-address-type.md)」を参照してください。
+ プライベート API を使用してトラフィックを送信するには、Amazon VPC でサポートされているすべての IP アドレスタイプを使用します。VPC エンドポイントの設定を構成することで、デュアルスタックおよび IPv6 トラフィックを送信できます。この設定は API Gateway を使用して変更することはできません。詳細については、「[VPC の IPv6 サポートを追加する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html)」を参照してください。
+ プライベート API の VPC エンドポイントには、他のインターフェイス VPC エンドポイントと同じ制限が適用されます。詳細については、「*AWS PrivateLink ガイド*」の「[Access an AWS service using an interface VPC endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)」を参照してください。API Gateway を共有 VPC および共有サブネットで使用する方法の詳細については、**「AWS PrivateLink ガイド」の「[共有サブネット](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#interface-endpoint-shared-subnets)」を参照してください。

## プライベート API に関する次のステップ
<a name="apigateway-private-api-next-steps"></a>

 プライベート API を作成し、VPC エンドポイントを関連付ける方法については、「[プライベート API の作成](apigateway-private-api-create.md)」を参照してください。チュートリアルに従って、AWS マネジメントコンソール の依存関係とプライベート API を CloudFormation で作成するには、「[チュートリアル: プライベート REST API を作成する](private-api-tutorial.md)」を参照してください。

# プライベート API の作成
<a name="apigateway-private-api-create"></a>

プライベート API を作成する前に、まず API Gateway 用の VPC エンドポイントを作成します。次に、プライベート API を作成してリソースポリシーをアタッチします。必要に応じて、VPC エンドポイントをプライベート API に関連付けることで、API の呼び出し方法を簡素化できます。最後に、API をデプロイします。

これを行う方法を、以下の手順で示します。プライベート REST API は、AWS マネジメントコンソール、AWS CLI、または AWS SDK を使用して作成できます。

## 前提条件
<a name="apigateway-private-api-create-interface-vpc-prerequisites"></a>

この手順を実行するには、完全に設定された VPC が必要です。デフォルトの VPC を作成するには、「Amazon VPC ユーザーガイド」の「[VPC のみを作成する](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html#create-vpc-only)」を参照してください。**VPC の作成時にすべての推奨ステップを実行するには、プライベート DNS を有効にします。これにより、ホストまたは `x-apigw-api-id` ヘッダーを渡すことなく、VPC 内で API を呼び出すことができます。

プライベート DNS を有効にするには、VPC の `enableDnsSupport` 属性と `enableDnsHostnames` 属性を `true` に設定する必要があります。詳細については、「[VPC の DNS サポート](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support)」および「[VPC の DNS サポートの更新](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)」を参照してください。

## ステップ 1: API Gateway 用の VPC エンドポイントを VPC に作成する
<a name="apigateway-private-api-create-interface-vpc-endpoint"></a>

次の手順は、API Gateway 用の VPC エンドポイントを作成する方法を示しています。API Gateway 用の VPC エンドポイントを作成するには、プライベート API を作成する先の AWS リージョンで `execute-api` ドメインを指定します。`execute-api` ドメインは、API 実行用の API Gateway コンポーネントサービスです。

API Gateway 用の VPC エンドポイントを作成するときは、DNS 設定を指定します。プライベート DNS をオフにすると、パブリック DNS を介してのみ API にアクセスできます。詳細については、「[問題: API Gateway VPC エンドポイントからパブリック API に接続できません](#apigateway-private-api-troubleshooting-public-access)」を参照してください。

------
#### [ AWS マネジメントコンソール ]

**API Gateway 用のインターフェイス VPC エンドポイントを作成するには**

1. AWS マネジメントコンソール にサインインして、Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。

1. ナビゲーションペインの **[仮想プライベートクラウド]** で、**[VPC]** を選択します。

1. **エンドポイントの作成** を選択します。

1. (オプション) **[名前タグ]** に、VPC エンドポイントを識別するのに役立つ名前を入力します。

1. **[Service category]** (サービスカテゴリ) で、**[AWS services]** (のサービス) を選択します。

1. **[サービス]** で、検索バーに「**execute-api**」と入力します。次に、API を作成する先の AWS リージョンで API Gateway サービスエンドポイントを選択します。サービス名は `com.amazonaws.us-east-1.execute-api` のようになり、**[タイプ]** は **[インターフェイス]** になります。

1. [**VPC**] の場合は、エンドポイントを作成する VPC を選択します。

1. (オプション) **[プライベート DNS 名を有効化]** をオフにするには、**[その他の設定]** を選択し、**[プライベート DNS 名を有効化]** をオフにします。

1. **[サブネット]** で、エンドポイントネットワークインターフェイスを作成したアベイラビリティーゾーンを選択します。API の可用性を高めるには、複数のサブネットを選択します。

1. [**セキュリティグループ**] で、VPC エンドポイントネットワークインターフェイスに関連付けるセキュリティグループを選択します。

   選択したセキュリティグループでは、VPC の IP 範囲または VPC 内の別のセキュリティグループのいずれかからの TCP ポート 443 インバウンド HTTPS トラフィックを許可するように設定する必要があります。

1. **[ポリシー]** で、以下のいずれかを実行します。
   + プライベート API を作成していないか、カスタム VPC エンドポイントポリシーを設定しない場合は、**[フルアクセス]** を選択します。
   + プライベート API を既に作成していて、カスタム VPC エンドポイントポリシーを設定する場合は、カスタム VPC エンドポイントポリシーを入力できます。詳細については、「[API Gateway でプライベート API 用の VPC エンドポイントポリシーを使用する](apigateway-vpc-endpoint-policies.md)」を参照してください。

   VPC エンドポイントポリシーは、VPC エンドポイントの作成後に更新できます。詳細については、「[VPC エンドポイントポリシーを更新する](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy)」を参照してください。

1. **エンドポイントの作成** を選択します。

1. 結果の VPC エンドポイント ID をコピーしておきます。これは、以降のステップで使用する場合があります。

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

次の [create-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-endpoint.html) コマンドは、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
```

結果の VPC エンドポイント ID をコピーしておきます。これは、以降のステップで使用する場合があります。

------

## ステップ 2: プライベート API を作成する
<a name="apigateway-private-api-create-using-console"></a>

VPC エンドポイントを作成したら、プライベート REST API を作成します。次の手順で、プライベート API を作成する方法を示します。

------
#### [ AWS マネジメントコンソール ]

**プライベート API を作成するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. [**API の作成**] を選択します。

1. [**REST API**] で、[**構築**] を選択します。

1. **[ロール名]** に名前を入力します。

1.  (オプション) **[説明]** に説明を入力します。

1. **[API エンドポイントタイプ]** で、**[プライベート]** を選択します。

1. (オプション) **[VPC エンドポイント ID]** に、VPC エンドポイント ID を入力します。

   VPC エンドポイント ID をプライベート API に関連付ける場合は、`Host` ヘッダーを上書きしたり、`x-apigw-api-id header` を渡したりすることなく、VPC 内から API を呼び出すことができます。詳細については、「[(オプション) VPC エンドポイントとプライベート API の関連付けまたは関連付けの解除](#associate-private-api-with-vpc-endpoint)」を参照してください。

1. **[IP アドレスタイプ]** で、**[デュアルスタック]**を選択します。

1. **[API の作成]** を選択します。

 ここまでの手順を完了したら、「[REST API コンソールの使用を開始する](getting-started-rest-new-console.md)」の手順に従って、この API のメソッドと統合を設定できます。ただし、API をデプロイすることはできません。API をデプロイするには、ステップ 3 に従い、リソースポリシーを API にアタッチします。

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

次の [create-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-rest-api.html) コマンドは、プライベート API を作成します。

```
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" }'
```

呼び出しに成功すると、次のような出力が返されます。

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

 ここまでの手順を完了したら、「[チュートリアル: AWS SDK または AWS CLI を使用して REST API を作成する](api-gateway-create-api-cli-sdk.md)」の手順に従って、この API のメソッドと統合を設定できます。ただし、API をデプロイすることはできません。API をデプロイするには、ステップ 3 に従い、リソースポリシーを API にアタッチします。

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

次の例は、AWS SDK for JavaScript v3 を使用してプライベート API を作成する方法を示しています。

```
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)
 }
};
```

呼び出しに成功すると、次のような出力が返されます。

```
{
  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'
}
```

 ここまでの手順を完了したら、「[チュートリアル: AWS SDK または AWS CLI を使用して REST API を作成する](api-gateway-create-api-cli-sdk.md)」の手順に従って、この API のメソッドと統合を設定できます。ただし、API をデプロイすることはできません。API をデプロイするには、ステップ 3 に従い、リソースポリシーを API にアタッチします。

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

次の例は、 AWS SDK for Python を使用してプライベート API を作成する方法を示しています。

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

呼び出しに成功すると、次のような出力が返されます。

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

 ここまでの手順を完了したら、「[チュートリアル: AWS SDK または AWS CLI を使用して REST API を作成する](api-gateway-create-api-cli-sdk.md)」の手順に従って、この API のメソッドと統合を設定できます。ただし、API をデプロイすることはできません。API をデプロイするには、ステップ 3 に従い、リソースポリシーを API にアタッチします。

------

## ステップ 3: プライベート API のリソースポリシーをセットアップする
<a name="apigateway-private-api-set-up-resource-policy"></a>

現在のプライベート API は、すべての VPC からアクセスできるわけではありません。リソースポリシーを使用して、VPC と VPC エンドポイントにプライベート API へのアクセスを許可します。任意の AWS アカウントで VPC エンドポイントへのアクセスを許可できます。

リソースポリシーには、アクセスを制限するための `aws:SourceVpc` 条件や `aws:SourceVpce` 条件を含める必要があります。特定の VPC と VPC エンドポイントに限定することにして、すべての VPC や VPC エンドポイントにアクセスを許可するリソースポリシーは作成しないようお勧めします。

次の手順は、リソースポリシーを API にアタッチする方法を示しています。

------
#### [ AWS マネジメントコンソール ]

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. REST API を選択します。

1. 左のナビゲーションペインで、**[リソースポリシー]** を選択します。

1. [**Create policy**] (ポリシーの作成) を選択します。

1. **[テンプレートを選択]** を選択し、**[ソース VPC]** を選択します。

1. `{{vpcID}}` (中かっこを含む) を VPC ID に置き換えます。

1. **[Save changes]** (変更の保存) をクリックします。

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

次の [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html) コマンドは、リソースポリシーを既存の API にアタッチします。

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

------

また、VPC エンドポイントにアクセスできるリソースを制御することもできます。VPC エンドポイントにアクセスできるリソースを制御するには、エンドポイントポリシーを VPC エンドポイントにアタッチします。詳細については、「[API Gateway でプライベート API 用の VPC エンドポイントポリシーを使用する](apigateway-vpc-endpoint-policies.md)」を参照してください。

## (オプション) VPC エンドポイントとプライベート API の関連付けまたは関連付けの解除
<a name="associate-private-api-with-vpc-endpoint"></a>

VPC エンドポイントをプライベート API に関連付けると、API Gateway は新しい Route 53 エイリアス DNS レコードを生成します。このレコードを使用して、`Host` ヘッダーを上書きしたり、`x-apigw-api-id` ヘッダーを渡したりすることなく、パブリック API を呼び出す場合と同じように、プライベート API を呼び出すことができます。

生成されたベース URL は次の形式になります。

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

------
#### [ Associate a VPC endpoint (AWS マネジメントコンソール) ]

VPC エンドポイントは、作成時または作成後にプライベート API に関連付けることができます。次の手順は、VPC エンドポイントを以前に作成した API に関連付ける方法を示しています。

**VPC エンドポイントをプライベート API に関連付けるには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. プライベート API を選択します。

1. 左のナビゲーションペインで、**[リソースポリシー]** を選択します。

1. 追加の VPC エンドポイントからの呼び出しを許可するようにリソースポリシーを編集します。

1. メインナビゲーションペインで、**[API の設定]** を選択します。

1. **[API の詳細]** セクションで **[編集]** を選択します。

1. **[VPC エンドポイント ID]** で、追加の VPC エンドポイント ID を選択します。

1. **[保存]** を選択します。

1. 変更を有効にするには、API を再デプロイします。

------
#### [ Dissociate a VPC endpoint (AWS マネジメントコンソール) ]

**プライベート REST API から VPC エンドポイントの関連付けを解除するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. プライベート API を選択します。

1. 左のナビゲーションペインで、**[リソースポリシー]** を選択します。

1. リソースポリシーを編集して、プライベート API との関連付けを解除する VPC エンドポイントへの言及を削除します。

1. メインナビゲーションペインで、**[API キー]** を選択します。

1. **[API の詳細]** セクションで **[編集]** を選択します。

1. **[VPC エンドポイント ID]** で、**[X]** を選択して VPC エンドポイントの関連付けを解除します。

1. **[保存]** を選択します。

1. 変更を有効にするには、API を再デプロイします。

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

次の [create-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-rest-api.html) コマンドは、API 作成時に VPC エンドポイントを関連付けます。

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

出力は次のようになります。

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

次の [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html) コマンドは、作成済みの API に VPC エンドポイントを関連付けます。

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

出力は次のようになります。

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

変更を有効にするには、API を再デプロイします。

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

次の [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html) コマンドは、プライベート API から VPC エンドポイントの関連付けを解除します。

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

出力は次のようになります。

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

変更を有効にするには、API を再デプロイします。

------

## ステップ 4: プライベート API をデプロイする
<a name="apigateway-private-api-deploy-using-console"></a>

API をデプロイするには、API デプロイを作成してステージに関連付けます。次の手順は、プライベート API をデプロイする方法を示しています。

------
#### [ AWS マネジメントコンソール ]

**プライベート API をデプロイするには**

1. API を選択します。

1. [**API のデプロイ**] を選択します。

1. **[ステージ]** で **[新規ステージ]** を選択します。

1. **[ステージ名]** に、ステージ名を入力します。

1. (オプション) **[説明]** に説明を入力します。

1. **[デプロイ]** をクリックします。

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

次の [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) コマンドは、プライベート API をデプロイします。

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

------

## プライベート API のトラブルシューティング
<a name="apigateway-private-api-troubleshooting"></a>

次に、プライベート API の作成時に発生する可能性があるエラーや問題に関するトラブルシューティングのアドバイスを示します。

### 問題: API Gateway VPC エンドポイントからパブリック API に接続できません
<a name="apigateway-private-api-troubleshooting-public-access"></a>

VPC を作成するときに、DNS 設定を構成できます。VPC のプライベート DNS をオンにすることをお勧めします。プライベート DNS をオフにすることを選択した場合、API にはパブリック DNS 経由でのみアクセスできます。

プライベート DNS を有効にすると、VPC エンドポイントからパブリック API Gateway API のデフォルトエンドポイントにアクセスできなくなります。カスタムドメイン名を使用して API にアクセスできます。

リージョンのカスタムドメイン名を作成する場合は、A タイプのエイリアスレコードを使用します。エッジ最適化カスタムドメイン名を作成する場合は、レコードタイプに制限はありません。これらのパブリック API には、プライベート DNS を有効にしてアクセスできます。詳細については、「[問題: API Gateway VPC エンドポイントからパブリック API に接続できません](https://repost.aws/knowledge-center/api-gateway-vpc-connections)」を参照してください。

### 問題: API が `{"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>

リソースポリシーで、プリンシパルを次のように AWS プリンシパルに設定する場合:

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

------

API のすべてのメソッドに `AWS_IAM` 認可を使用する必要があります。使用しない場合、API は前のエラーメッセージを返します。メソッドの `AWS_IAM` 認可を有効にする方法の詳細については、「[API Gateway の REST API のメソッド](how-to-method-settings.md)」を参照してください。

### 問題: VPC エンドポイントが API に関連付けられているかどうかわかりません
<a name="apigateway-private-api-troubleshooting-associate-wait-time"></a>

VPC エンドポイントをプライベート API に関連付けるか、関連付けを解除する場合は、API を再デプロイする必要があります。DNS 伝播のため、更新オペレーションが完了するまでに数分かかることがあります。この間、API は使用できますが、新しく生成された DNS URL の DNS 伝達がまだ進行中である可能性があります。数分経っても新しい URL が DNS に解決されない場合は、API を再デプロイすることをお勧めします。

# API Gateway でのプライベート API のカスタムドメイン名
<a name="apigateway-private-custom-domains"></a>

プライベート API のカスタムドメイン名を作成できます。プライベートカスタムドメイン名を使用して、API 呼び出し元に、よりシンプルで直感的な URL を提供できます。プライベートカスタムドメイン名を使用すると、複雑さの軽減、TLS ハンドシェイク時のセキュリティ対策の設定、AWS Certificate Manager (ACM) によるドメイン名証明書のライフサイクル管理が可能になります。詳細については、「[カスタムドメイン名の証明書のプライベートキーの保護](#apigateway-private-custom-domains-secure-certificate-private-key)」を参照してください。

プライベート API のカスタムドメイン名は複数のアカウント間で一意である必要はありません。ACM 証明書がドメイン名をカバーしている限り、アカウント 111122223333 とアカウント 555555555555 で `example.private.com` を作成できます。プライベートカスタムドメイン名を識別するには、プライベートカスタムドメイン名 ARN を使用します。この識別子は、プライベートカスタムドメイン名に固有です。

API Gateway でプライベートカスタムドメイン名を作成すると、その作成者は *API プロバイダー*となります。API Gateway または AWS Resource Access Manager (AWS RAM) を使用して、プライベートカスタムドメイン名を他の AWS アカウント に提供できます。

プライベートカスタムドメイン名を呼び出すと、その呼び出し者は *API コンシューマー*となります。プライベートカスタムドメイン名はお客様独自の AWS アカウント または別の AWS アカウント で使用できます。

プライベートカスタムドメイン名を使用する場合は、VPC エンドポイントとプライベートカスタムドメイン名との間にドメイン名アクセスの関連付けを作成します。ドメイン名アクセスの関連付けにより、API コンシューマーはパブリックインターネットから隔離された状態でプライベートカスタムドメイン名を呼び出すことができます。詳細については、「[プライベート API のカスタムドメイン名に関する API プロバイダーと API コンシューマーのタスク](apigateway-private-custom-domains-associations.md)」を参照してください。

## カスタムドメイン名の証明書のプライベートキーの保護
<a name="apigateway-private-custom-domains-secure-certificate-private-key"></a>

プライベート API のカスタムドメイン名を作成するために ACM を使用して SSL/TLS 証明書をリクエストすると、ACM はパブリック/プライベートキーペアを生成します。証明書をインポートすると、キーペアが生成されます。パブリックキーは証明書の一部となります。プライベートキーを安全に保存するために、ACM は AWS KMS を使用して、エイリアス **aws/acm** を持つ KMS キーと呼ばれる別のキーを作成します。AWS KMS は、このキーを使用して証明書のプライベートキーを暗号化します。詳細については、「*AWS Certificate Manager ユーザーガイド*」の「[Data protection in AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/data-protection.html)」を参照してください。

API Gateway は AWS TLS 接続マネージャ (AWS のサービス のみがアクセスできるサービス) を使用して、証明書のプライベートキーを保護して使用します。ACM 証明書を使用して API Gateway カスタムドメイン名を作成すると、API Gateway は証明書を AWS TLS Connection Manager に関連付けます。これは、AWS マネージドキーに対して AWS KMS で許可を作成することで行われます。この許可により、TLS 接続マネージャは AWS KMS を使用して証明書のプライベートキーを復号できます。TLS 接続マネージャは、証明書と復号された (プレーンテキストの) プライベートキーを使用して API Gateway サービスのクライアントとの安全な接続 (SSL/TLS セッション) を確立します。証明書が API Gateway サービスから関連付けを解除されると、それらのサービスへのアクセスの許可も取り消されます。詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[Grants](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)」を参照してください。

詳細については、「[Amazon API Gateway で保管時のデータ暗号化](data-protection-encryption.md#data-protection-at-rest)」を参照してください。

## プライベートカスタムドメイン名に関する考慮事項
<a name="apigateway-private-custom-domains-considerations"></a>

以下の考慮事項は、プライベートカスタムドメイン名の使用に影響する可能性があります。
+ API Gateway がプライベートカスタムドメイン名をプロビジョニングするには、約 15 分かかります。
+ ACM 証明書を更新する場合、API Gateway が更新を完了するまでに約 15 分かかります。この間、ドメイン名は `UPDATING` 状態ですが、引き続きアクセスできます。
+ プライベートカスタムドメイン名を呼び出すには、ドメイン名アクセスの関連付けを作成する必要があります。ドメイン名アクセスの関連付けを作成してから使用可能になるまでに、約 15 分かかります。
+ プライベートカスタムドメイン名 ARN には *account-id* および *domain-name-id* が含まれています。ドメイン名を作成すると、API Gateway は `arn:partition:apigateway:region::/domainnames/domain-name` の ARN 形式を使用します。プライベートカスタムドメイン名にアクセスするときは、`arn:partition:apigateway:region:account-id:/domainnames/domain-name+domain-name-id` の ARN 形式を使用します。

  プライベートドメイン名を作成した後、それにアクセスを許可するには、IAM アクセス許可を変更する必要がある場合があります。
+ 同じ VPC エンドポイントから同じ名前のプライベートカスタムドメイン名を呼び出すことはできません。例えば、`arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234` と `arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+xyz000` を呼び出す場合は、各プライベートカスタムドメイン名を異なる VPC エンドポイントに関連付けます。
+ `*.private.example.com` の証明書など、ワイルドカード証明書がサポートされています。
+ ワイルドカードカスタムドメイン名はサポートされていません。
+ 2048 ビットキー長の RSA 証明書と、256 ビットおよび 384 ビットキー長の ECDSA 証明書のみがサポートされています。
+ IPv4 アドレスでのみプライベート API を呼び出せるようにプライベート API の IP アドレスタイプを設定することはできません。サポートされているのはデュアルスタックのみです。詳細については、「[API Gateway の REST API の IP アドレスタイプ](api-gateway-ip-address-type.md)」を参照してください。
+ プライベート API を使用してトラフィックを送信するには、Amazon VPC でサポートされているすべての IP アドレスタイプを使用します。VPC エンドポイントの設定を構成することで、デュアルスタックおよび IPv6 トラフィックを送信できます。この設定は API Gateway を使用して変更することはできません。詳細については、「[VPC の IPv6 サポートを追加する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html)」を参照してください。
+ プライベート API を `/developers/feature` にマッピングするなどの複数レベルのベースパスマッピングはサポートされていませんが、ルーティングルールを使用して複数レベルのパス条件を作成することはできます。詳細については、「[API Gateway のカスタムドメイン名を使用して API にトラフィックを送信します。](rest-api-routing-mode.md)」を参照してください。
+ プライベートカスタムドメイン名で許可する TLS の最低バージョンを設定することはできません。すべてのプライベートカスタムドメイン名には、`TLS-1-2` のセキュリティポリシーが適用されます。
+ VPC エンドポイントポリシーを使用して、プライベートカスタムドメイン名へのアクセスを制御できます。詳細については、「[API Gateway でプライベート API 用の VPC エンドポイントポリシーを使用する](apigateway-vpc-endpoint-policies.md)」の例 4 と 5 を参照してください。
+ プライベート API とプライベートカスタムドメイン名には、それぞれ個別のリソースポリシーを作成する必要があります。プライベートカスタムドメイン名を呼び出すには、API コンシューマーは、プライベートカスタムドメイン名リソースポリシー、プライベート API リソースポリシー、API に関する VPC エンドポイントポリシー (または認可) からアクセスを許可されている必要があります。

## プライベートカスタムドメイン名を他の API Gateway リソースで使用する場合の考慮事項
<a name="apigateway-private-custom-domains-considerations-for-migration"></a>

次の考慮事項は、プライベートカスタムドメイン名を他の API Gateway リソースで使用する方法に影響する可能性があります。
+ プライベートカスタムドメイン名からパブリック API にトラフィックを送信することはできません。
+ プライベート API がプライベートカスタムドメイン名にマッピングされている場合、API のエンドポイントタイプを変更することはできません。
+ パブリックカスタムドメイン名をプライベートカスタムドメイン名に移行することはできません。
+ パブリックカスタムドメイン名へのアクセスに使用している VPC エンドポイントがある場合は、そのエンドポイントを使用してプライベートカスタムドメイン名とのドメイン名アクセスの関連付けを作成しないでください。

## プライベートカスタムドメイン名とパブリックカスタムドメイン名の違い
<a name="apigateway-private-custom-domains-public-differences"></a>

以下に、プライベートカスタムドメイン名とパブリックカスタムドメイン名の違いについて説明します。
+ プライベートカスタムドメイン名は、複数のアカウント間で一意である必要はありません。
+ プライベートドメイン名にはドメイン名 ID が割り当てられます。この ID はプライベートカスタムドメイン名を一意に識別するもので、パブリックカスタムドメイン名には生成されません。
+ AWS CLI を使用してプライベートカスタムドメイン名を更新または削除する場合は、ドメイン名 ID を指定する必要があります。プライベートカスタムドメイン名として `example.com`、パブリックカスタムドメイン名として `example.com` を使用している場合、ドメイン名 ID を指定しないと、API Gateway によってパブリックカスタムドメイン名が変更または削除されます。

## プライベート API のカスタムドメイン名に関する次のステップ
<a name="apigateway-private-custom-domains-next-steps"></a>

API プロバイダーと API コンシューマーのタスクの詳細については、「[プライベート API のカスタムドメイン名に関する API プロバイダーと API コンシューマーのタスク](apigateway-private-custom-domains-associations.md)」を参照してください。

お客様独自の AWS アカウント で呼び出し可能なプライベートカスタムドメイン名を作成する手順については、「[チュートリアル: プライベート API のカスタムドメイン名を作成して呼び出す](apigateway-private-custom-domains-tutorial.md)」を参照してください。

プライベートカスタムドメイン名へのアクセスを他の AWS アカウント に許可する手順については、「[API プロバイダー: AWS RAM を使用してプライベートカスタムドメイン名を共有する](apigateway-private-custom-domains-provider-share.md)」を参照してください。VPC エンドポイントを別の AWS アカウント のプライベートカスタムドメイン名に関連付ける方法については、「[API コンシューマー: VPC エンドポイントを共有プライベートカスタムドメイン名に関連付ける](apigateway-private-custom-domains-consumer-create.md)」を参照してください。

# プライベート API のカスタムドメイン名に関する API プロバイダーと API コンシューマーのタスク
<a name="apigateway-private-custom-domains-associations"></a>

プライベートカスタムドメイン名を作成すると、その作成者は *API プロバイダー*となります。プライベートカスタムドメイン名を呼び出すと、その呼び出し者は *API コンシューマー*となります。プライベートカスタムドメイン名はお客様独自の AWS アカウント または別の AWS アカウント で使用できます。

次のセクションでは、API プロバイダーと API コンシューマーがプライベートカスタムドメイン名を使用するために必要なタスクについて説明します。お客様独自の AWS アカウント でプライベートカスタムドメイン名を呼び出す場合は、API プロバイダーと API コンシューマーの両方になります。別の AWS アカウント でプライベートカスタムドメイン名を呼び出す場合は、AWS Organizations での API プロバイダーと API コンシューマー間の信頼関係に応じて、AWS RAM が一部のタスクを代行してくれることがあります。

## API プロバイダーのタスク
<a name="apigateway-private-custom-domains-associations-provider"></a>

API プロバイダーはプライベート API を作成し、カスタムドメイン名にマッピングします。

 API プロバイダーは、プライベートカスタムドメイン名を保護するために 2 つのリソースポリシーを管理します。1 つ目のポリシーは `execute-api` サービス用で、どの VPC エンドポイントがプライベートカスタムドメイン名を呼び出せるかを制御します。プライベートカスタムドメイン名の設定では、これは `policy` と呼ばれます。

2 つ目のポリシーは Amazon API Gateway Management サービス用で、他の AWS アカウント のどの VPC エンドポイントとプライベートカスタムドメイン名との間にドメイン名アクセスの関連付けを作成できるかを制御します。VPC エンドポイントには、プライベートカスタムドメイン名を呼び出すために、ドメイン名アクセスの関連付けを作成する必要があります。プライベートカスタムドメイン名の設定では、これは `managementPolicy` と呼ばれます。このポリシーは AWS RAM または API Gateway を使用して更新できます。他の AWS アカウント の VPC エンドポイントにカスタムドメイン名の呼び出しを許可する予定がない場合は、`managementPolicy` を編集しません。

API プロバイダーである場合は、以下の手順に従います。

1. プライベート API を作成します。

1. VPC エンドポイントにプライベート API へのアクセスを許可するようにプライベート API の `policy` を更新します。

1. プライベートカスタムドメイン名を作成します。

1. VPC エンドポイントにプライベートカスタムドメイン名へのアクセスを許可するようにプライベートカスタムドメイン名の `policy` を更新します。

1. プライベート API からプライベートカスタムドメイン名にトラフィックを送信するためのベースパスマッピングまたはルーティングルールを作成します。詳細については、「[API Gateway のカスタムドメイン名を使用して API にトラフィックを送信します。](rest-api-routing-mode.md)」を参照してください。

他の AWS アカウント の API コンシューマーにプライベートカスタムドメイン名へのアクセスを許可するには、以下の手順に従います。

1. 他のアカウントの API コンシューマーが VPC エンドポイントをプライベートカスタムドメイン名に関連付けられるように、プライベートカスタムドメイン名の `managementPolicy` を更新します。これを行うには、次の方法を使用します。  
**AWS RAM**  
AWS RAM により、API コンシューマーと API プロバイダーが同じ組織に属しており、AWS Organizations を使用している場合、リソース共有は自動的に承認されます。それ以外の場合は、API コンシューマーがリソース共有を承認するまで待つ必要があります。**プライベートカスタムドメイン名を共有するには、AWS RAM を使用することをお勧めします。**  
**API ゲートウェイ**  
API Gateway では、AWS CLI のみがサポートされています。パッチオペレーションを使用してプライベートカスタムドメイン名を更新し、`managementPolicy` に関するお客様独自のポリシードキュメントを提供する必要があります。

1. プライベートカスタムドメイン名とそれにマッピングされているすべてのプライベート API に関する `policy` を、API コンシューマーの VPC エンドポイントにそれらへのアクセスを許可するように更新します。

API を他の AWS アカウント に提供する手順については、「[API プロバイダー: AWS RAM を使用してプライベートカスタムドメイン名を共有する](apigateway-private-custom-domains-provider-share.md)」を参照してください。

## API コンシューマーのタスク
<a name="apigateway-private-custom-domains-associations-consumer"></a>

API コンシューマーは VPC エンドポイントをドメイン名 ARN に関連付けて、プライベートカスタムドメイン名を呼び出します。API コンシューマーは API Gateway API を作成する必要はありません。

API コンシューマーである場合は、以下の手順に従います。

1. Amazon VPC 内でプライベート DNS を有効にして VPC エンドポイントを作成します。

1. (オプション - AWS RAM を使用する場合) リソース共有から **12 時間以内**に、AWS RAM を使用してプライベートカスタムドメインのリソース共有を承認します。お客様と API プロバイダーが同じ組織に属している場合、リソース共有は自動的に承認されます。

1. プライベートカスタムドメイン名 ARN を取得します。プライベートカスタムドメイン名の URL は一意ではないため、プライベートカスタムドメイン名 ARN を使用して、VPC エンドポイントとプライベートカスタムドメイン名との間にドメイン名アクセスの関連付けを作成します。AWS RAM を使用して、プライベートカスタムドメイン名 ARN を取得できます。

1. API Gateway で、プライベートカスタムドメイン名 ARN を VPC エンドポイントに関連付けます。これにより、VPC エンドポイントとプライベートカスタムドメイン名との間に安全な接続が確立されます。トラフィックは、Amazon ネットワークを離れません。

1. API プロバイダーが VPC エンドポイントに、プライベートカスタムドメイン名とそれにマッピングされているすべてのプライベート API へのアクセスを許可するまで待ちます。お客様が API プロバイダーと API コンシューマーの両方である場合は、お客様が独自の VPC エンドポイントに、それらの API を呼び出すためのアクセスを許可します。

1. Route 53 プライベートホストゾーンと Route 53 レコードを作成し、Route 53 内でプライベートカスタムドメイン名を解決できるようにします。

別の AWS アカウント で API を使用する手順については、「[API コンシューマー: VPC エンドポイントを共有プライベートカスタムドメイン名に関連付ける](apigateway-private-custom-domains-consumer-create.md)」を参照してください。

# チュートリアル: プライベート API のカスタムドメイン名を作成して呼び出す
<a name="apigateway-private-custom-domains-tutorial"></a>

このチュートリアルでは、お客様独自のアカウントの VPC で呼び出し可能なプライベートカスタムドメイン名を作成します。これを行うには、お客様が API プロバイダーと API コンシューマーになります。このチュートリアルを完了するには、既存のプライベート API と VPC エンドポイントが必要です。パブリックカスタムドメイン名へのアクセスに使用している VPC エンドポイントがある場合、そのエンドポイントをこのチュートリアルやドメイン名アクセスの関連付けの作成に使用しないでください。

## ステップ 1: プライベートカスタムドメイン名を作成する
<a name="apigateway-private-custom-domains-provider-create-domain"></a>

プライベートカスタムドメイン名を作成するには、ドメイン名、ACM 証明書、`execute-api` サービスのポリシーを指定して、どの VPC エンドポイントがそのドメイン名を呼び出せるかを制御します。

------
#### [ AWS マネジメントコンソール ]

**プライベートカスタムドメイン名を作成するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[カスタムドメイン名]** を選択します。

1. **[ドメイン名の追加]** を選択します。

1. [**ドメイン名**] には、ドメイン名を入力します。

   ACM 証明書はこのドメイン名をカバーしている必要がありますが、ドメイン名は一意である必要はありません。

1. **[Private]** (プライベート) を選択します。

1. **[ルーティングモード]** では、**[API マッピングのみ]** を選択します。

1. **[ACM 証明書]** で、証明書を選択します。

1. **[ドメイン名の追加]** を選択します。

API Gateway は「`deny` all resource policy」でドメイン名をプロビジョニングします。これは `execute-api` サービス用のリソースポリシーです。VPC エンドポイントにプライベートカスタムドメイン名を呼び出すためのアクセスを許可するように、このリソースポリシーを更新する必要があります。

**リソースポリシーを更新するには**

1. **[リソースポリシー]** タブを選択し、**[リソースポリシーの編集]** を選択します。

1. コードエディタに次のリソースポリシーを入力します。VPC エンドポイント *vpce-abcd1234efg* をお客様独自の VPC エンドポイント ID に置き換えます。  
****  

   ```
   {
       "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. **[Save changes]** (変更の保存) をクリックします。

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

AWS CLI を使用してプライベートカスタムドメイン名を作成する場合は、`execute-api` サービスに関するリソースポリシーで、VPC エンドポイントにプライベートカスタムドメイン名を呼び出すためのアクセスを許可しておき、`--policy file://policy.json` パラメータでそのポリシーを指定します。このポリシーは後で変更できます。

この例では、ファイルからパラメータを読み込むことで、次のリソースポリシーを `policy` としてアタッチします。このファイルを `policy.json` としてコピーして保存します。このポリシーでは、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"
                }
            }
        }
    ]
}
```

次の [create-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-domain-name.html) コマンドは、プライベートカスタムドメイン名を作成します。

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

出力は次のようになります。

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

------

## ステップ 2: プライベート API をプライベートカスタムドメイン名にマッピングするためのベースパスマッピングを作成する
<a name="apigateway-private-custom-domains-base-path-mapping"></a>

プライベートカスタムドメイン名の作成後、プライベート API をそのドメイン名にマッピングします。ベースパスマッピングにより、プライベートカスタムドメイン名および関連するベースパスを組み合わせて API にアクセスできるようになります。複数のプライベート API のホスト名として単一のプライベートカスタムドメイン名を使用することをお勧めします。

お客様が独自の API を呼び出す予定がない場合でも、API プロバイダーはベースパスマッピングを作成する必要があります。また、プライベートカスタムドメイン名にマッピングしたプライベート API を呼び出すためのアクセスを VPC エンドポイントに許可する必要があります。

------
#### [ AWS マネジメントコンソール ]

**ベースパスマッピングを作成するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[カスタムドメイン名]** を選択します。

1. プライベートカスタムドメイン名を選択します。

1. **[API マッピング]** タブで、**[マッピングの設定]** を選択します。

1. [**Add new mapping (新しいマッピングを追加)**] を選択します。

1. **API**、**Stage**、必要に応じて **Path** を入力します。

1. **[保存]** を選択します。

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

次の [create-base-path-mapping](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-base-path-mapping.html) コマンドは、プライベート API とプライベートカスタムドメイン名との間にマッピングを作成します。

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

出力は次のようになります。

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

------

API へのトラフィックのルーティング方法をより柔軟にするために、ルーティングモードを `ROUTING_RULE_ONLY` または `ROUTING_RULE_THEN_API_MAPPING` に変更し、ルーティングルールを作成することができます。詳細については、「[API Gateway のカスタムドメイン名を使用して API にトラフィックを送信します。](rest-api-routing-mode.md)」を参照してください。

**注記**  
このチュートリアルの完了後、他の AWS アカウント がお客様のプライベートカスタムドメイン名を呼び出せるようにする場合は、「[API プロバイダー: AWS RAM を使用してプライベートカスタムドメイン名を共有する](apigateway-private-custom-domains-provider-share.md)」の手順に従います。

## ステップ 3: カスタムドメイン名と VPC エンドポイントとの間にドメイン名アクセスの関連付けを作成する
<a name="apigateway-private-custom-domains-provider-associate-with-vpce"></a>

次に、プライベートカスタムドメイン名と VPC エンドポイントの間にドメイン名アクセスの関連付けを作成します。VPC エンドポイントは、ドメイン名アクセスの関連付けを使用して、パブリックインターネットから隔離された状態でプライベートカスタムドメイン名を呼び出します。

------
#### [ AWS マネジメントコンソール ]

**ドメイン名アクセスの関連付けを作成するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[カスタムドメイン名]** を選択します。

1. プライベートカスタムドメイン名を選択します。

1. **[リソース共有]** タブの **[ドメイン名アクセスの関連付け]** で **[ドメイン名アクセスの関連付けを作成]** を選択します。

1. **[ドメイン名 ARN]** で、ドメイン名を選択します。

1. **[VPC エンドポイント ID]** で、ステップ 1 でアクセスを許可した VPC エンドポイント ID を選択します。

1. **[ドメイン名アクセスの関連付け]** を選択します。

コンソールの **[ドメイン名アクセスの関連付け]** ページでも、ドメイン名アクセスの関連付けを作成できます。

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

次の `create-domain-name-access-association` コマンドは、プライベートカスタムドメイン名と 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
```

出力は次のようになります。

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

------

ドメイン名アクセスの関連付けを作成してから使用可能になるまでに、約 15 分かかります。待っている間に、次の手順に進むことができます。

## ステップ 4: Route 53 ホストゾーンを作成する
<a name="apigateway-private-custom-domains-provider-create-route-53-private-hosted-zone"></a>

プライベートカスタムドメイン名を VPC エンドポイントに関連付けるようにリソースポリシーを更新した後、Route 53 でプライベートホストゾーンを作成して、カスタムドメイン名を解決できるようにします。ホストゾーンは、インターネットにリソースを公開することなく、1 つ以上の VPC 内のドメインのトラフィックをルーティングする方法に関する情報を保持するコンテナです。詳細については、「[プライベートホストゾーンの使用](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html)」を参照してください。

------
#### [ AWS マネジメントコンソール ]

AWS マネジメントコンソール を使用するには、*Amazon Route 53 開発者ガイド*の「[プライベートホストゾーンの作成](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html)」を参照してください。

**[名前]** には、プライベートカスタムドメイン名の名前を使用します。**[VPC ID]** には、前の手順で使用した VPC エンドポイントを含む VPC を使用します。

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

次の [create-hosted-zone](https://docs.aws.amazon.com/cli/latest/reference/route53/create-hosted-zone.html) コマンドは、プライベートホストゾーンを作成します。

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

出力にはホストゾーン ID が含まれます。このホストゾーン ID は以降の手順で使用します。

------

## ステップ 5: Route 53 DNS レコードを作成する
<a name="apigateway-private-custom-domains-provider-create-route-53-record"></a>

ホストゾーンを作成した後、プライベートカスタムドメイン名を解決するためのレコードを作成します。前のステップで作成したホストゾーン ID を使用します。この例では、A レコードタイプを作成します。VPC エンドポイントに IPv6 を使用している場合は、AAAA レコードタイプを作成します。VPC エンドポイントにデュアルスタックを使用している場合は、AAAA レコードタイプと A レコードタイプの両方を作成します。

------
#### [ AWS マネジメントコンソール ]

AWS マネジメントコンソール を使用するには、「[ドメイン名を使用してトラフィックを Amazon API Gateway API にルーティングする](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-api-gateway.html)」を参照してください。

**[クイック作成]** を使用し、**[エイリアス]** をオンにします。エンドポイントには、VPC エンドポイント DNS 名を使用します。

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

プライベートカスタムドメイン名を特定のホストゾーン ID のホスト名にマッピングするように DNS レコードを設定するには、プライベートドメイン名の DNS レコードを指定するための設定を含む JSON ファイルを作成します。

次の `setup-dns-record.json` は、プライベートカスタムドメイン名をプライベートホスト名にマッピングする DNS `A` レコードを作成する方法を示しています。VPC DNS ID の `DNSName` と、前のステップで作成したホストゾーン ID を指定します。

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

次の [change-resource-record-sets](https://docs.aws.amazon.com/cli/latest/reference/route53/change-resource-record-sets.html) コマンドは、プライベートカスタムドメイン名の DNS レコードを作成します。

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

`hosted-zone-id` は、アカウントに設定した DNS レコードの Route 53 ホストゾーン ID に置き換えます。`change-batch` パラメータの値は JSON ファイルを指定します。

------

お客様独自のプライベートカスタムドメイン名を呼び出す予定がない場合は、そのプライベートカスタムドメイン名が機能していることを確認した後、これらのリソースを削除できます。

## ステップ 6: プライベートカスタムドメイン名を呼び出す
<a name="apigateway-private-custom-domains-tutorial-invoke"></a>

お客様独自の AWS アカウント でプライベートカスタムドメイン名を呼び出せるようになりました。VPC 内で次の curl コマンドを使用し、プライベートカスタムドメイン名にアクセスします。

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

プライベート API を呼び出す他の方法の詳細については、「[カスタムドメイン名を使用してプライベート API を呼び出す](apigateway-private-api-test-invoke-url.md#apigateway-private-custom-domains-provider-invoke)」を参照してください。

## ステップ 7: クリーンアップ
<a name="apigateway-private-custom-domains-cleanup"></a>

不要なコストを防ぐために、VPC エンドポイントとプライベートカスタムドメイン名との間の関連付けを削除した後、プライベートカスタムドメイン名を削除します。

------
#### [ AWS マネジメントコンソール ]

**ドメイン名アクセスの関連付けを削除するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[ドメイン名アクセスの関連付け]** を選択します。

1. ドメイン名アクセスの関連付けを選択した後、**[削除]** を選択します。

1. 選択内容を確認した後、**[削除]** を選択します。

ドメイン名アクセスの関連付けを削除した後、プライベートカスタムドメイン名を削除できます。

**プライベートカスタムドメイン名を削除するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[カスタムドメイン名]** を選択します。

1. プライベートカスタムドメイン名を選択します。

1. **[削除]** を選択します。

1. 選択内容を確認した後、**[削除]** を選択します。

必要に応じて、VPC エンドポイントも削除できます。詳細については、「[インターフェイスエンドポイントを削除する](https://docs.aws.amazon.com/vpc/latest/privatelink/delete-interface-endpoint.html)」を参照してください。

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

**次をクリーンアップするには：**

1. 次の `delete-access-association` コマンドは、ドメイン名アクセスの関連付けを削除します。

   ```
   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. 次の `delete-domain-name` コマンドは、プライベートカスタムドメイン名を削除します。このコマンドは、すべてのベースパスマッピングも削除します。

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

必要に応じて、VPC エンドポイントも削除できます。詳細については、「[インターフェイスエンドポイントを削除する](https://docs.aws.amazon.com/vpc/latest/privatelink/delete-interface-endpoint.html)」を参照してください。

------

## ベストプラクティス
<a name="apigateway-private-custom-domains-best-practices"></a>

プライベートカスタムドメイン名を作成する際は、以下のベストプラクティスに従うことをお勧めします。
+ ベースパスマッピングまたはルーティングルールを使用して、1 つのプライベートカスタムドメイン名から複数のプライベート API にトラフィックを送信します。
+ VPC エンドポイントがプライベートカスタムドメイン名へのアクセスを必要としなくなった場合は、関連付けを削除します。さらに、プライベートカスタムドメインの `policy` サービスの `execute-api` から VPC エンドポイントを削除します。
+ VPC エンドポイントごとに少なくとも 2 つのアベイラビリティーゾーンを設定します。
+ デフォルトのエンドポイントを無効にします。API コンシューマーがカスタムドメイン名からのみ API を呼び出すことができるように、デフォルトのエンドポイントを無効にすることをお勧めします。詳細については、「[REST API のデフォルトのエンドポイントを無効にする](rest-api-disable-default-endpoint.md)」を参照してください。
+ プライベートカスタムドメイン名を設定する際に、Route 53 プライベートホストゾーンと A タイプレコードをプロビジョニングすることをお勧めします。お客様独自のプライベートカスタムドメイン名を呼び出す予定がない場合は、後でこれらのリソースを削除できます。

# クロスアカウントプライベートカスタムドメイン名の使用
<a name="apigateway-private-custom-domains-other-accounts"></a>

このセクションでは、クロスアカウントプライベートカスタムドメイン名の使用方法について説明します。プライベートカスタムドメイン名を別の AWS アカウント に提供し、別の AWS アカウント を使用してプライベートカスタムドメイン名を呼び出すことができます。

AWS Resource Access Manager または API Gateway を使用して、プライベートカスタムドメイン名を別の AWS アカウント と共有できます。AWS Resource Access Manager (AWS RAM) は、AWS アカウント 間でも組織または組織単位 (OU) 内でも、リソースを安全に共有するのに役立ちます。詳細については、「[AWS Resource Access Manager とは](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)」を参照してください。

AWS RAM を使用して別の AWS アカウント とプライベートカスタムドメイン名を共有する手順については、「[API プロバイダー: AWS RAM を使用してプライベートカスタムドメイン名を共有する](apigateway-private-custom-domains-provider-share.md)」を参照してください。

API Gateway を使用して別の AWS アカウント とプライベートカスタムドメイン名を共有する手順については、「[API プロバイダー: API Gateway AWS CLI を使用してプライベートカスタムドメイン名を共有する](apigateway-private-custom-domains-provider-share-cli.md)」を参照してください。

別の AWS アカウント でプライベートカスタムドメイン名を使用する手順については、「[API コンシューマー: VPC エンドポイントを共有プライベートカスタムドメイン名に関連付ける](apigateway-private-custom-domains-consumer-create.md)」を参照してください。

## クロスアカウントプライベートカスタムドメイン名を使用する際のベストプラクティス
<a name="apigateway-private-custom-domains-other-accounts-best-practices"></a>

クロスアカウントプライベートカスタムドメイン名を使用する際には、次のベストプラクティスをお勧めします。
+ プライベートカスタムドメイン名を共有するには、AWS RAM を使用します。AWS RAM を使用すると、運用上のオーバーヘッドを削減でき、Amazon API Gateway Management サービスに関する `managementPolicy` を作成する必要がありません。
+ プライベートカスタムドメイン名またはドメイン名アクセスの関連付けを一覧表示する際は、`resource-owner` パラメータを使用します。`resource-owner` パラメータを使用して、お客様が所有するリソースのみ、または他の AWS アカウント が所有するリソースのみを一覧表示します。

  次の例は、お客様が所有するすべてのドメイン名アクセスの関連付けを取得する方法を示しています。

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

  `--resource-owner OTHER_ACCOUNTS` を使用して、他のアカウントがプライベートカスタムドメイン名で作成したすべてのドメイン名アクセスの関連付けを一覧表示します。

# API プロバイダー: AWS RAM を使用してプライベートカスタムドメイン名を共有する
<a name="apigateway-private-custom-domains-provider-share"></a>

他の AWS アカウント の API コンシューマーにプライベートカスタムドメイン名へのアクセス権を付与できます。このセクションでは、AWS RAM を使用してプライベートカスタムドメイン名を共有する方法と、プライベートカスタムドメイン名へのアクセスを制御する方法について説明します。

## プライベートカスタムドメイン名を共有する際の考慮事項
<a name="apigateway-private-custom-domains-provider-share-considerations"></a>

次の考慮事項は、AWS RAM を使用してプライベートカスタムドメイン名へのアクセス権を付与する方法に影響する可能性があります。AWS RAM を使用せずにプライベートカスタムドメイン名を共有する方法については、「[API プロバイダー: API Gateway AWS CLI を使用してプライベートカスタムドメイン名を共有する](apigateway-private-custom-domains-provider-share-cli.md)」を参照してください。
+ プライベートカスタムドメイン名は AWS リージョン レベルで共有されます。プライベートカスタムドメイン名と VPC エンドポイントの両方が同じ AWS リージョン に存在する必要があります。
+ 1 つのリソース共有で複数のプリンシパルを使用でき、リソース共有の作成後も新しいプリンシパルを追加できます。可能であれば、リソース共有を再利用することをお勧めします。
+ API コンシューマーの VPC エンドポイントには、プライベートカスタムドメイン名と、それにマッピングされているプライベート API を呼び出すためのアクセスを常に許可する必要があります。
+ API コンシューマーと API プロバイダーが同じ組織に属しており、AWS Organizations を使用している場合、リソース共有は自動的に承認されます。その場合でも、AWS RAM を使用してリソース共有を作成する必要があります。
+ API コンシューマーと API プロバイダーが同じ組織に属していて、AWS Organizations を使用しており、組織内でのリソース共有が有効になっている場合、共有先の組織内のすべてのプリンシパルには、リソース共有へのアクセスが自動的に許可されます。この場合、招待は不要であり、リソース共有の手順を省略できます。
+ API コンシューマーが **12 時間以内**にリソース共有を承認しない場合、API プロバイダーはリソース共有の手順を再度行う必要があります。
+ リソース共有の作成後、明示的な `allow` アクセス権のないプリンシパルへのアクセスを禁止するように、AWS RAM はプライベートカスタムドメイン名の Amazon API Gateway Management サービスに関する `managementPolicy` を更新します。詳細については、IAM ユーザーガイドの「[アカウント内でのリクエストの許可または拒否の決定](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow)」を参照してください。

  更新後の `managementPolicy` は次のようになります。

------
#### [ 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 は以下を追加することで、明示的な `allow` アクセス権のないプリンシパルがプライベートカスタムドメイン名とのアクセス関連付けを作成することを禁止しています。

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

  プライベートカスタムドメイン名を作成した AWS アカウント のプリンシパルは、引き続きドメイン名アクセスの関連付けを作成できます。

## 他のアカウントにプライベートカスタムドメイン名とのドメイン名アクセスの関連付けの作成を許可する
<a name="apigateway-private-custom-domains-provider-management-policy-update"></a>

まず、別のAWS アカウント に、プライベートカスタムドメイン名とのドメイン名アクセスの関連付けを作成するためのアクセスを許可します。

------
#### [ AWS マネジメントコンソール ]

AWS マネジメントコンソール を使用するには、*AWS RAM ユーザーガイド*の「[AWS RAM でのリソース共有の作成](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)」を参照してください。

**[リソースタイプの選択]** で、[**API Gateway プライベートカスタムドメイン**] を選択します。

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

次の [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) は、プライベートカスタムドメイン名用のリソース共有を作成します。リソースとプリンシパルの関連付けが完了するまでに数分かかることがあります。プリンシパルには、アカウント ID または組織 ID (`arn:aws:organizations::123456789012:organization/o-1234abcd` など) を指定します。リソース共有には、複数のプリンシパルを指定できます。

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

------

別の AWS アカウント へのアクセスの許可後、そのアカウントの API コンシューマーが、VPC エンドポイントとプライベートカスタムドメイン名との間にドメイン名アクセスの関連付けを作成する必要があります。お客様が代わりにドメイン名アクセスの関連付けを作成することはできません。詳細については、「[共有プライベートカスタムドメイン名に VPC エンドポイントを関連付ける](apigateway-private-custom-domains-consumer-create.md#apigateway-private-custom-domains-consumer-associate)」を参照してください。

## 他のアカウントにプライベートカスタムドメイン名の呼び出しを許可する
<a name="apigateway-private-custom-domains-provider-policy-update"></a>

次に、API コンシューマーの VPC エンドポイントに、プライベートカスタムドメイン名とそれにマッピングされているすべてのプライベート API を呼び出すためのアクセスを許可します。

------
#### [ AWS マネジメントコンソール ]

**他のアカウントの VPC エンドポイントにプライベートカスタムドメイン名の呼び出しを許可するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[カスタムドメイン名]** を選択します。

1. 他の AWS アカウント と共有したプライベートカスタムドメイン名を選択します。

1. **[リソースポリシー]** タブで、**[リソースポリシーの編集]** を選択します。

1. API コンシューマーの VPC エンドポイント ID をリソースポリシーに追加します。

   API コンシューマーの VPC エンドポイント ID は、プライベートカスタムドメイン名の **[ドメイン詳細]** ページに移動して **[リソース共有]** タブの **[ドメイン名アクセスの関連付け]** セクションで確認できます。

1. **[Save changes]** (変更の保存) をクリックします。

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

`execute-api` サービスに関する次の `policy` では、VPC エンドポイント `vpce-abcd1234efg` と `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"
                    ]
                }
            }
        }
    ]
}
```

次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、パッチオペレーションを使用してプライベートカスタムドメイン名に関する `policy` を更新します。

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

------

# API プロバイダー: AWS RAM を使用してプライベートカスタムドメイン名の共有を停止する
<a name="apigateway-private-custom-domains-provider-stop-sharing"></a>

プライベートカスタムドメイン名の共有を停止するには、まず、リソース共有を解除して、API コンシューマーがドメイン名アクセスの関連付けをこれ以上作成できないようにします。次に、ドメイン名アクセスの関連付けを拒否し、`execute-api` サービスに関する `policy` から API コンシューマーの VPC エンドポイントを削除します。その後、API コンシューマーは自分のドメイン名アクセスの関連付けを削除できます。

## プライベートカスタムドメイン名の共有を停止する
<a name="apigateway-private-custom-domains-provider-dissociate-ram"></a>

まず、AWS RAM を使用してリソース共有を停止します。

------
#### [ AWS マネジメントコンソール ]

AWS マネジメントコンソール を使用するには、「[AWS RAM でリソース共有を更新する](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html)」を参照してください。

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

次の [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) は、プライベートカスタムドメイン名のリソース共有の関連付けを解除します。

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

------

## ドメイン名アクセスの関連付けを拒否する
<a name="apigateway-private-custom-domains-provider-reject"></a>

AWS RAM を使用してリソースの共有を停止した後、別のアカウントの VPC エンドポイントとプライベートカスタムドメイン名との間のドメイン名アクセスの関連付けを拒否します。

**注記**  
お客様独自のアカウントでドメイン名アクセスの関連付けを拒否することはできません。リソース共有を停止するには、ドメイン名アクセスの関連付けを削除します。詳細については、「[ドメイン名アクセスの関連付けを削除する](apigateway-private-custom-domains-tutorial.md#apigateway-private-custom-domains-cleanup)」を参照してください。

お客様が VPC エンドポイントとのドメイン名アクセスの関連付けを拒否した場合、API コンシューマーがお客様のプライベートカスタムドメイン名を呼び出そうとすると、API Gateway は呼び出しを拒否し、`403` ステータスコードを返します。

------
#### [ AWS マネジメントコンソール ]

**ドメイン名アクセスの関連付けを拒否するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[カスタムドメイン名]** を選択します。

1. 他の AWS アカウント と共有したプライベートカスタムドメイン名を選択します。

1. **[リソース共有]** で、拒否するドメイン名アクセスの関連付けを選択します。

1. **[関連付けを拒否]** を選択します。

1. 選択内容を確認し、**[拒否]** を選択します。

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

次の `reject-domain-name-access-association` コマンドは、VPC エンドポイントとプライベートカスタムドメイン名との間のドメイン名アクセスの関連付けを拒否します。

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

------

## API プロバイダーにプライベートカスタムドメイン名を呼び出すためのアクセスを拒否する
<a name="apigateway-private-custom-domains-provider-deny-access"></a>

ドメイン名アクセスの関連付けを拒否した後、`execute-api` サービスに関する `policy` から API コンシューマーの VPC エンドポイントを削除します。

------
#### [ AWS マネジメントコンソール ]

**API コンシューマーの VPC エンドポイントをリソースポリシーから削除するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[カスタムドメイン名]** を選択します。

1. 他の AWS アカウント と共有したプライベートカスタムドメイン名を選択します。

1. **[リソースポリシー]** タブで、**[編集]** を選択します。

1. ポリシーから VPC エンドポイントを削除します。

1. **[Save changes]** (変更の保存) をクリックします。

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

次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、パッチオペレーションを使用して、`execute-api` サービスに関する `policy` をプライベートカスタムドメイン名で更新します。この新しい`policy` では、[他のアカウントにプライベートカスタムドメイン名の呼び出しを許可する](apigateway-private-custom-domains-provider-share.md#apigateway-private-custom-domains-provider-policy-update) でさらに追加された VPC エンドポイント ID が削除されます。

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

------

その後、API コンシューマーがドメイン名アクセスの関連付けを削除する必要があります。お客様が代わりに削除することはできません。詳細については、「[API コンシューマー: プライベートカスタムドメイン名とのドメイン名アクセスの関連付けを削除する](apigateway-private-custom-domains-consumer-delete-domain-name-access-association.md)」を参照してください。

# API プロバイダー: API Gateway AWS CLI を使用してプライベートカスタムドメイン名を共有する
<a name="apigateway-private-custom-domains-provider-share-cli"></a>

API Gateway AWS CLI を使用してプライベートカスタムドメイン名を共有できますが、運用上のオーバーヘッドを削減するために AWS RAM を使用することをお勧めします。AWS RAM を使用してプライベートカスタムドメイン名を共有する方法については、「[API プロバイダー: AWS RAM を使用してプライベートカスタムドメイン名を共有する](apigateway-private-custom-domains-provider-share.md)」を参照してください。

API Gateway AWS CLI を使用してプライベートカスタムドメイン名を共有するには、他の AWS アカウント に、ドメイン名アクセスの関連付けの作成とプライベートカスタムドメイン名の呼び出しのためのアクセスを許可する必要があります。そのためには、API Gateway Management サービスに関する `managementPolicy` と `execute-api` サービスに関する `policy` をプライベートカスタムドメイン名で更新します。また、プライベートカスタムドメイン名にマッピングされているプライベート API に関するリソースポリシーで、API コンシューマーの VPC エンドポイントにそれらの API へのアクセスを許可する必要があります。

API コンシューマーが自分のアカウントで、自分の VPC エンドポイントとお客様のプライベートカスタムドメイン名との間にドメイン名アクセスの関連付けを作成する必要があります。お客様が代わりにこれを実行することはできません。

## プライベートカスタムドメイン名へのアクセスを許可する
<a name="apigateway-private-custom-domains-provider-share-cli-allow"></a>

**プライベートカスタムドメイン名へのアクセスを許可するには**

1. API Gateway Management サービスに関する `managementPolicy` を更新するには、そのポリシーを更新するためのパッチオペレーションを含む JSON ファイルを作成します。次の `patch-managementPolicy.json` では、プライベートカスタムドメイン名 `private.example.com` とのドメイン名アクセスの関連付けを作成するためのアクセスを AWS アカウント 111122223333 と 444455556666 に許可するポリシー例に、現在の `managementPolicy` を置き換えます。

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

    次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、`patch-managementPolicy.json` で `managementPolicy` を更新します。

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

   アクセスを許可したら、API コンシューマーにドメイン名アクセスの関連付けを作成できることを通知する必要があります。AWS RAM を使用している場合、AWS RAM がこの手順を代行します。

1. `execute-api` サービスに関する `policy` を更新するには、ポリシーを更新するためのパッチオペレーションを含む JSON ファイルを作成します。次の `patch-policy.json` では、プライベートカスタムドメイン名 `private.example.com` を呼び出すためのアクセスを 2 つの VPC エンドポイントに許可するポリシー例に、現在の `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\",\"vpce-xyzz0000\"]}}}]}"
   }]
   ```

    次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドを使用して、`patch-policy.json` で `policy` を更新します。

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

## プライベートカスタムドメイン名へのアクセスを拒否する
<a name="apigateway-private-custom-domains-provider-share-cli-deny"></a>

プライベートカスタムドメイン名の共有を停止するには、プライベートカスタムドメイン名と API コンシューマーの VPC エンドポイントとの間のドメイン名アクセスの関連付けを拒否する必要があります。

**プライベートカスタムドメイン名へのアクセスを拒否するには**

1. 次の `reject-domain-name-access-association` コマンドは、ドメイン名アクセスの関連付けを拒否します。

   ```
   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. API プロバイダーのアカウントから、プライベートカスタムドメイン名とのドメイン名アクセスの関連付けを作成するためのアクセスを削除するように、`patch-managementPolicy.json` を変更します。次の `patch-managementPolicy.json` では、`managementPolicy` から 1 つのアカウントを削除します。

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

   次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、`patch-managementPolicy.json` で `managementPolicy` を更新します。

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

1. API プロバイダーの VPC エンドポイントがプライベートカスタムドメイン名を呼び出すためのアクセスを削除するように、`patch-policy.json` を変更します。次の `patch-policy.json` では、`policy` から VPC エンドポイント ID を削除します。

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

   次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、`patch-policy.json` で `policy` を更新します。

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

## この手順で使用するポリシーの例
<a name="apigateway-private-custom-domains-provider-share-cli-policies"></a>

次のセクションでは、前の手順で使用したポリシーの例を示します。

次のポリシー例は、Amazon API Gateway Management サービスに関する `managementPolicy` のものです。このポリシーでは、AWS アカウント 111122223333 と 444455556666 に、プライベートカスタムドメイン名 `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"
        }
    ]
}
```

------

次のポリシー例は、`execute-api` サービスに関する `policy` のものです。このポリシーでは、VPC エンドポイント `vpce-abcd1234` と `vpce-xyzz0000` に、プライベートカスタムドメイン名を呼び出すためのアクセスを許可します。

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

------

# API コンシューマー: VPC エンドポイントを共有プライベートカスタムドメイン名に関連付ける
<a name="apigateway-private-custom-domains-consumer-create"></a>

次の手順は、別の AWS アカウント のプライベートドメイン名を使用する方法を示しています。API プロバイダーとの信頼関係によっては、AWS RAM がいくつかのタスクを代行する場合があります。

プライベートカスタムドメイン名とは異なる AWS アカウント に属している場合は、VPC エンドポイントをプライベートカスタムドメイン名に関連付けて呼び出すことのみが可能です。プライベートカスタムドメイン名に関する `policy` やその他のパラメータを表示することはできません。

## 前提条件
<a name="apigateway-private-custom-domains-consumer-prerequisites"></a>

別の AWS アカウントのプライベートカスタムドメイン名を使用するには、次のような前提条件があります。
+ `execute-api` サービス用の VPC および VPC エンドポイント。VPC では、`enableDnsHostnames` と `enableDnsSupport` が `true` に設定されている必要があります。
+ VPC エンドポイントごとに少なくとも 2 つのアベイラビリティーゾーンを設定することをお勧めします。

## (オプション) プライベートカスタムドメインリソース共有を承認する
<a name="apigateway-private-custom-domains-consumer-accept-resource-share"></a>

API プロバイダーが AWS RAM を使用してリソース共有を作成した場合、お客様は **12 時間**以内に承認する必要があります。お客様が API プロバイダーと同じ組織に属しており、AWS Organizations を使用している場合、共有は自動的に承認されます。お客様が属している組織で自動共有リソースが有効になっている場合、リソースは自動的に共有されます。

------
#### [ AWS マネジメントコンソール ]

AWS マネジメントコンソール を使用するには、*AWS RAM ユーザーガイド*の「[リソース共有の招待の承諾と拒否](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared-invitations.html)」を参照してください。

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

お客様と共有されているすべてのリソースを見つけるには、次の [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
```

表示されたリソース共有の ARN を使用して、リソース共有の招待を承認します。次の [accept-resource-share-invitation](https://docs.aws.amazon.com/cli/latest/reference/ram/accept-resource-share-invitation.html) コマンドは、リソース共有を承認します。

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

------

## 共有プライベートカスタムドメイン名に VPC エンドポイントを関連付ける
<a name="apigateway-private-custom-domains-consumer-associate"></a>

プライベートカスタムドメイン名は一意ではないため、VPC エンドポイントを一意のカスタムドメイン名 ARN に関連付けます。ドメイン名アクセスの関連付けを作成した後、VPC エンドポイントがプライベートカスタムドメイン名を正常に呼び出せるようになるまで最大 15 分かかる場合があります。パブリックカスタムドメイン名へのアクセスに使用している VPC エンドポイントがある場合、そのエンドポイントを使用してドメイン名アクセスの関連付けを作成しないでください。

------
#### [ AWS マネジメントコンソール ]

**VPC エンドポイントを共有プライベートカスタムドメイン名に関連付けるには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[ドメイン名アクセスの関連付け]** を選択します。

1. **[ドメイン名アクセスの関連付けの作成]** を選択します。

1. **[ドメイン名 ARN]** で、API プロバイダーから共有されているドメイン名 ARN を選択します。

   ドメイン名 ARN がドロップダウンリストに表示されない場合があります。AWS RAM コンソールを使用して、共有されているドメイン名を表示し、ドメイン名 ARN をコピーして、このフィールドに入力できます。

1. **[VPC エンドポイント ID]** で、ドメイン名アクセスの関連付けを作成する対象の VPC エンドポイント ID を選択します。

1. **[ドメイン名アクセスの関連付けの作成]** を選択します。

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

プライベートカスタムドメイン名は一意ではないため、VPC エンドポイントを一意のカスタムドメイン名 ARN に関連付けます。ドメイン名 ARN を見つけるには、次のいずれかのコマンドを使用します。

1.   
**AWS RAM**  
次の [list-resources](https://docs.aws.amazon.com/cli/latest/reference/ram/list-resources.html) コマンドは、共有されているリソースを一覧表示します。お客様がこのコマンドを使用するには、API プロバイダーが AWS RAM を使用してプライベートカスタムドメインをお客様と共有している必要があります。  

   ```
   aws ram list-resources \
       --resource-owner OTHER-ACCOUNTS \
       --region us-west-2
       --resource-type apigateway:Domainnames
   ```  
**API ゲートウェイ**  
次の `get-domain-names` コマンドは、他の AWS アカウント が所有するすべてのプライベートカスタムドメイン名のうち、ドメイン名アクセスの関連付けを作成する対象にできるドメイン名を一覧表示します。  

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

1.  ARN を取得した後、API Gateway を使用して、VPC エンドポイントと共有プライベートカスタムドメイン名との間にドメイン名アクセスの関連付けを作成します。次の`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"
   ```

   出力は次のようになります。

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

------

VPC エンドポイントとプライベートカスタムドメイン名を関連付けた後、VPC エンドポイントにドメイン名の呼び出しを許可するように、API プロバイダーがプライベートカスタムドメイン名に関するポリシーを更新したことを確認します。詳細については、「[他のアカウントにプライベートカスタムドメイン名の呼び出しを許可する](apigateway-private-custom-domains-provider-share.md#apigateway-private-custom-domains-provider-policy-update)」を参照してください。

## Route 53 ホストゾーンを作成する
<a name="apigateway-private-custom-domains-consumer-create-route-53-private-hosted-zone"></a>

プライベートカスタムドメイン名を解決するには、Route 53 プライベートホストゾーンを作成する必要があります。ホストゾーンは、インターネットにリソースを公開することなく、1 つ以上の VPC 内のドメインのトラフィックをルーティングする方法に関する情報を保持するコンテナです。詳細については、「[プライベートホストゾーンの使用](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html)」を参照してください。

------
#### [ AWS マネジメントコンソール ]

AWS マネジメントコンソール を使用するには、*Amazon Route 53 開発者ガイド*の「[プライベートホストゾーンの作成](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html)」を参照してください。

**[名前]** には、プライベートカスタムドメイン名の名前を使用します。**[VPC ID]** には、ドメイン名アクセスの関連付けに使用した VPC エンドポイントを含む VPC を使用します。

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

次の [create-hosted-zone](https://docs.aws.amazon.com/cli/latest/reference/route53/create-hosted-zone.html) コマンドは、プライベートホストゾーンを作成します。

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

出力にはホストゾーン ID が含まれます。このホストゾーン ID は以降の手順で使用します。

------

## Route 53 A レコードを作成する
<a name="apigateway-private-custom-domains-consumer-create-route-53-record"></a>

ホストゾーンを作成した後、プライベートカスタムドメイン名を解決するためのレコードを作成します。この例では、A レコードタイプを作成します。VPC エンドポイントに IPv6 を使用している場合は、AAAA レコードタイプを作成します。VPC エンドポイントにデュアルスタックを使用している場合は、AAAA レコードタイプと A レコードタイプの両方を作成します。

------
#### [ AWS マネジメントコンソール ]

AWS マネジメントコンソール を使用するには、「[ドメイン名を使用してトラフィックを Amazon API Gateway API にルーティングする](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-api-gateway.html)」を参照してください。

**[クイック作成]** を使用し、**[エイリアス]** をオンにします。エンドポイントには、VPC エンドポイント DNS 名を使用します。

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

プライベートカスタムドメイン名を特定のホストゾーン ID のホスト名にマッピングするように DNS レコードを設定するには、まず、プライベートドメイン名の DNS レコードを指定するための設定を含む JSON ファイルを作成します。

次の `setup-dns-record.json` は、プライベートカスタムドメイン名をプライベートホスト名にマッピングする DNS `A` レコードを作成する方法を示しています。VPC DNS ID の `DNSName` と、前のステップで作成したホストゾーン ID を指定します。

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

次の [change-resource-record-sets](https://docs.aws.amazon.com/cli/latest/reference/route53/change-resource-record-sets.html) コマンドは、プライベートカスタムドメイン名の DNS レコードを作成します。

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

`hosted-zone-id` は、アカウントに設定した DNS レコードの Route 53 ホストゾーン ID に置き換えます。`change-batch` パラメータの値は JSON ファイルを指定します。

------

## API コンシューマーの次のステップ
<a name="apigateway-private-custom-domains-consumer-next-steps"></a>

これで、お客様独自の AWS アカウント でプライベート API を呼び出せるようになりました。VPC で、次の curl コマンドを使用してプライベートカスタムドメイン名にアクセスできます。

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

プライベート API を呼び出す他の方法の詳細については、「[カスタムドメイン名を使用してプライベート API を呼び出す](apigateway-private-api-test-invoke-url.md#apigateway-private-custom-domains-provider-invoke)」を参照してください。

# API コンシューマー: プライベートカスタムドメイン名とのドメイン名アクセスの関連付けを削除する
<a name="apigateway-private-custom-domains-consumer-delete-domain-name-access-association"></a>

API コンシューマーであれば、いつでもアクセス関連付けリソースを削除できます。API プロバイダーは、お客様の代わりにドメイン名アクセスの関連付けを削除することはできません。

ドメイン名アクセスの関連付けは、使用しなくなった時点で必ず削除することをお勧めします。

------
#### [ AWS マネジメントコンソール ]

**ドメイン名アクセスの関連付けを削除するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[ドメイン名アクセスの関連付け]** を選択します。

1. ドメイン名アクセスの関連付けを選択した後、**[削除]** を選択します。

1. 選択内容を確認した後、**[削除]** を選択します。

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

次の `delete-access-association` コマンドは、アクセスの関連付けを削除します。

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

------

# CloudFormation を使用してプライベート API のカスタムドメイン名を作成する
<a name="apigateway-private-custom-domains-cfn"></a>

次の CloudFormation テンプレートの例では、プライベート API とプライベートカスタムドメイン名を作成し、プライベート API をカスタムドメイン名にマッピングしてから、ドメイン名アクセスの関連付けを作成します。お客様独自の VPC エンドポイント、ドメイン名、証明書 ARN を指定する必要があります。

以下の考慮事項は、CloudFormation を使用したプライベートカスタムドメイン名の作成に影響する可能性があります。
+ CloudFormation を使用してドメイン名アクセスの関連付けを拒否することはできません。ドメイン名アクセスの関連付けを拒否するには、AWS CLI を使用します。
+ `AWS::ApiGateway::DomainNameV2` CloudFormation プロパティを使用して、プライベートカスタムドメイン名を作成します。
+ `AWS::ApiGateway:BasePathMappingV2` CloudFormation プロパティを使用して、ベースパスマッピングを作成します。

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

# プライベート API の呼び出し
<a name="apigateway-private-api-test-invoke-url"></a>

プライベート API は VPC 内から VPC エンドポイントを使用してのみ呼び出すことができます。プライベート API には、特定の VPC や VPC エンドポイントに API の呼び出しを許可するリソースポリシーが必要です。

カスタムドメイン名またはプライベート DNS 名を使用せずにプライベート API を呼び出し、API またはドメイン名が `SecurityPolicy_` で始まるセキュリティポリシーを使用する場合は、エンドポイントアクセスモードを `BASIC` に設定する必要があります。詳細については、「[エンドポイントアクセスモード](apigateway-security-policies.md#apigateway-security-policies-endpoint-access-mode)」を参照してください。

## カスタムドメイン名を使用してプライベート API を呼び出す
<a name="apigateway-private-custom-domains-provider-invoke"></a>

カスタムドメイン名を使用してプライベート API を呼び出すには、VPC エンドポイントとカスタムドメイン名との間にドメイン名アクセスの関連付けを作成し、さらにカスタムドメイン名側で VPC エンドポイントからの呼び出しを許可する必要があります。詳細については、「[API Gateway でのプライベート API のカスタムドメイン名](apigateway-private-custom-domains.md)」を参照してください。

プライベートカスタムドメイン名をお客様独自の AWS アカウント の VPC で呼び出す場合と、別の AWS アカウント の VPC で呼び出す場合に違いはありません。

### カスタムドメイン名を使用する
<a name="apigateway-private-custom-domains-invoke-1"></a>

VPC 内では、カスタムドメイン名を使用して API を呼び出すことができます。次の例は、プライベートカスタムドメイン名を呼び出す curl コマンドです。

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

### エンドポイント固有のプライベート DNS ホスト名を使用する
<a name="apigateway-private-custom-domains-invoke-2"></a>

カスタムドメイン名とエンドポイント固有のプライベート DNS ホスト名とを使用して、API を呼び出すことができます。

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

次の例は、エンドポイント固有のプライベート DNS ホスト名を使用してカスタムドメイン名を呼び出す curl コマンドです。

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

## カスタムドメイン名を使用せずにプライベート API を呼び出す
<a name="apigateway-private-api-invoke-without-custom-domain-name"></a>

カスタムドメイン名を使用せずにプライベート API を呼び出すには、API の DNS 名を特定する必要があります。次の手順は、DNS 名を検索する方法を示しています。

------
#### [ AWS マネジメントコンソール ]

**DNS 名を見つけるには**

1. AWS マネジメントコンソール にサインインして、Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。

1. メインナビゲーションペインで、**[エンドポイント]** を選択し、API Gateway 用のインターフェイス VPC エンドポイントを選択します。

1. **[詳細]** ペインで、**[DNS 名]** フィールドに 5 つの値が表示されます。最初の 3 つは API のパブリック DNS 名です。残りの 2 つはプライベート DNS 名です。

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

次の [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) コマンドを使用して、DNS 値を一覧表示します。

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

最初の 3 つは API のパブリック DNS 名です。残りの 2 つはプライベート DNS 名です。

------

### Route53 エイリアスを使用したプライベート API の呼び出し
<a name="apigateway-private-api-route53-alias"></a>

VPC エンドポイントとプライベート API を関連付けたり、関連付けを解除したりできます。詳細については、「[(オプション) VPC エンドポイントとプライベート API の関連付けまたは関連付けの解除](apigateway-private-api-create.md#associate-private-api-with-vpc-endpoint)」を参照してください。

VPC エンドポイントをプライベート API に関連付けると、次のベース URL を使用して API を呼び出すことができます。

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

例えば、`test` ステージで `GET /pets` メソッドを設定し、REST API ID が `01234567ab`、VPC エンドポイント ID が `vpce-01234567abcdef012`、リージョンが `us-west-2` である場合は、次のように API を呼び出すことができます。

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

### プライベート DNS 名を使用してプライベート API を呼び出す
<a name="w2aac15c20c17c17b9b9"></a>

プライベート DNS を有効にしている場合は、次のプライベート DNS 名を使用してプライベート API にアクセスできます。

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

API を呼び出すためのベース URL は次の形式です。

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

例えば、`test` ステージで `GET /pets` メソッドをセットアップし、REST API ID が `01234567ab`、リージョンが `us-west-2` である場合は、ブラウザに次の URL を入力してプライベート API を呼び出すことができます。

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

または、次の cURL コマンドを使用してプライベート API を呼び出すこともできます。

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

**警告**  
VPC エンドポイントのプライベート DNS を有効にすると、パブリック API のデフォルトエンドポイントにアクセスできなくなります。詳細については、「[API Gateway VPC エンドポイントからパブリック API に接続できないのはなぜですか?](https://repost.aws/knowledge-center/api-gateway-vpc-connections)」を参照してください。

### Direct Connect を使用してプライベート API を呼び出す
<a name="w2aac15c20c17c17b9c11"></a>

Direct Connect を使用して、オンプレミスネットワークから Amazon VPC への専用のプライベート接続を確立し、この接続経由でパブリック DNS 名を使用してプライベート API エンドポイントにアクセスできます。

プライベート DNS 名を使用すると、Amazon Route 53 Resolver インバウンドエンドポイントを設定してリモートネットワークからプライベート DNS のすべての DNS クエリを転送することによって、オンプレミスネットワークからプライベート API にアクセスすることもできます。詳細については、*Amazon Route 53 デベロッパーガイド*の「[VPC へのインバウンド DNS クエリの転送](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-forwarding-inbound-queries.html)」を参照してください。

### エンドポイント固有のパブリック DNS ホスト名を使用してプライベート API を呼び出す
<a name="apigateway-private-api-public-dns"></a>

エンドポイント固有のパブリック DNS ホスト名を使用してたプライベート API にアクセスできます。これらは、プライベート API 用の VPC エンドポイント ID または API ID を含むパブリック DNS ホスト名です。

生成されたベース URL は次の形式になります。

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

例えば、`test` ステージで `GET /pets` メソッドを設定し、REST API ID が `abc1234`、パブリック DNS ホスト名が `vpce-def-01234567`、リージョンが `us-west-2`である場合、cURL コマンドの `Host` ヘッダーで VPCe ID を使用してプライベート API を呼び出すことができます。

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

または、cURL コマンドで `x-apigw-api-id` ヘッダーを次の形式で使用し、API ID を経由してプライベート API を呼び出すことができます。

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