

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CA 証明書の管理
<a name="manage-your-CA-certs"></a>

このセクションでは、独自の認証局 (CA) 証明書を管理するための一般的なタスクについて説明します。

が認識 AWS IoT しない CA によって署名されたクライアント証明書を使用している場合 AWS IoT は、認証機関 (CA) を に登録できます。

クライアントが最初に接続 AWS IoT するときにクライアント証明書を に自動的に登録する場合は、クライアント証明書に署名した CA を登録する必要があります AWS IoT。それ以外の場合は、クライアント証明書に署名した CA 証明書を登録する必要はありません。

**注記**  
CA 証明書は、リージョン内の 1 つのアカウントでのみ `DEFAULT` モードで登録できます。CA 証明書は、リージョン内の複数のアカウントで `SNI_ONLY` モードで登録できます。

**Topics**
+ [CA 証明書を作成する](#create-your-CA-cert)
+ [CA 証明書の登録](#register-CA-cert)
+ [CA 証明書の非アクティブ化](#deactivate-ca-cert)

## CA 証明書を作成する
<a name="create-your-CA-cert"></a>

CA 証明書がない場合は、[OpenSSL v1.1.1i](https://www.openssl.org/) ツールを使用して作成できます。

**注記**  
この手順は AWS IoT コンソールでは実行できません。

**[OpenSSL v1.1.1i](https://www.openssl.org/) ツールを使用して CA 証明書を作成するには**

1. キーペアを生成します。

   ```
   openssl genrsa -out root_CA_key_filename.key 2048
   ```

1. キーペアのプライベートキーを使用して CA 証明書を生成します。

   ```
   openssl req -x509 -new -nodes \
       -key root_CA_key_filename.key \
       -sha256 -days 1024 \
       -out root_CA_cert_filename.pem
   ```

## CA 証明書の登録
<a name="register-CA-cert"></a>

これらの手順では、Amazon の CA ではない認証機関 (CA) から証明書を登録する方法について説明します。 は CA 証明書 AWS IoT Core を使用して証明書の所有権を検証します。Amazon の CA ではない CA によって署名されたデバイス証明書を使用するには、デバイス証明書の所有権を検証 AWS IoT Core できるように、CA 証明書を に登録する必要があります。

### CA 証明書の登録 (コンソール)
<a name="register-CA-cert-console"></a>

**注記**  
コンソールで CA 証明書を登録するには、[[Register CA certificate]](https://console.aws.amazon.com//iot/home#/create/cacertificate) (CA 証明書の登録) をコンソールで開始します。CA はマルチアカウントモードで登録でき、検証証明書を提供したり、プライベートキーにアクセスしたりする必要はありません。マルチアカウントモードでは、同一 AWS リージョン内の複数の AWS アカウント で CA を登録することができます。検証証明書と CA のプライベートキーの所有権の証明を提供することで、CA をシングルアカウントモードで登録できます。

### CA 証明書の登録 (CLI)
<a name="register-CA-cert-cli"></a>

CA 証明書を `DEFAULT` モードまたは `SNI_ONLY` モードで登録できます。CA は、 の 1 つ AWS アカウント で `DEFAULT`モードで登録できます AWS リージョン。CA は、 AWS アカウント 同じ 内の複数の によって `SNI_ONLY` モードで登録できます AWS リージョン。CA 証明書の詳細については、「[certificateMode](https://docs.aws.amazon.com//iot/latest/apireference/API_CACertificateDescription.html#iot-Type-CACertificateDescription-certificateMode)」を参照してください。

**注記**  
CA を `SNI_ONLY` モードで登録することをお勧めします。検証証明書やプライベートキーへのアクセスを提供する必要はなく、同じ AWS アカウント 内の複数の で CA を登録できます AWS リージョン。

#### SNI\$1ONLY モードでの CA 証明書の登録 (CLI) – 推奨
<a name="register-CA-cert-SNI-cli"></a>

**前提条件**

続行する前に、コンピュータで次のものが揃っていることを確認してください。
+ ルート CA の証明書ファイル (次の例では `root_CA_cert_filename.pem` と表記します)
+ [OpenSSL v1.1.1i](https://www.openssl.org/) またはそれ以降

**を使用して CA 証明書を `SNI_ONLY` モードで登録するには AWS CLI**

1. CA 証明書を に登録します AWS IoT。**register-ca-certificate** コマンドを使用して、CA 証明書ファイル名を入力します。詳細については、「*AWS CLI コマンドリファレンス*」の「[register-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html)」を参照してください。

   ```
   aws iot register-ca-certificate \
       --ca-certificate file://root_CA_cert_filename.pem \
       --certificate-mode SNI_ONLY
   ```

   成功した場合、このコマンドは *certificateId* を返します。

1. この時点で、CA 証明書は に登録されています AWS IoT が、非アクティブです。CA 証明書によって署名されたクライアント証明書を登録できるようにするには、CA 証明書をアクティブにする必要があります。

   このステップにより CA 証明書がアクティブ化されます。

   CA 証明書をアクティブ化するには、次のように **update-certificate** コマンドを使用します。詳細については、「*AWS CLI コマンドリファレンス*」の「[update-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html)」を参照してください。

   ```
   aws iot update-ca-certificate \
       --certificate-id certificateId \
       --new-status ACTIVE
   ```

CA 証明書のステータスを表示するには、**describe-ca-certificate** コマンドを使用します。詳細については、「*AWS CLI コマンドリファレンス*」の「[describe-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html)」を参照してください。

#### `DEFAULT` モードでの CA 証明書の登録 (CLI)
<a name="register-CA-cert-default-cli"></a>

**前提条件**

続行する前に、コンピュータで次のものが揃っていることを確認してください。
+ ルート CA の証明書ファイル (次の例では `root_CA_cert_filename.pem` と表記します)
+ ルート CA 証明書のプライベートキーファイル (次の例では `root_CA_key_filename.key` と表記します)
+ [OpenSSL v1.1.1i](https://www.openssl.org/) またはそれ以降

**を使用して CA 証明書を `DEFAULT` モードで登録するには AWS CLI**

1. から登録コードを取得するには AWS IoT、 を使用します**get-registration-code**。プライベートキー検証証明書の `Common Name` として使用するために、返された `registrationCode` を保存します。詳細については、「*AWS CLI コマンドリファレンス*」の「[get-registration-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/get-registration-code.html)」を参照してください。

   ```
   aws iot get-registration-code
   ```

1. プライベートキー検証証明書のキーペアを生成します。

   ```
   openssl genrsa -out verification_cert_key_filename.key 2048
   ```

1. プライベートキー検証証明書の証明書署名リクエスト (CSR) を作成します。証明書の `Common Name` フィールドに、`registrationCode` によって返された **get-registration-code** を設定します。

   ```
   openssl req -new \
       -key verification_cert_key_filename.key \
       -out verification_cert_csr_filename.csr
   ```

   証明書に関するいくつかの情報 (例: `Common Name`) の入力を求められます。

   ```
   You are about to be asked to enter information that will be incorporated
   into your certificate request.
   What you are about to enter is what is called a Distinguished Name or a DN.
   There are quite a few fields but you can leave some blank
   For some fields there will be a default value,
   If you enter '.', the field will be left blank.
   -----
   Country Name (2 letter code) [AU]:
       State or Province Name (full name) []:
       Locality Name (for example, city) []:
       Organization Name (for example, company) []:
       Organizational Unit Name (for example, section) []:
       Common Name (e.g. server FQDN or YOUR name) []:your_registration_code
       Email Address []:
   
       Please enter the following 'extra' attributes
       to be sent with your certificate request
       A challenge password []:
       An optional company name []:
   ```

1. CSR を使用して、プライベートキー検証証明書を作成します。

   ```
   openssl x509 -req \
       -in verification_cert_csr_filename.csr \
       -CA root_CA_cert_filename.pem \
       -CAkey root_CA_key_filename.key \
       -CAcreateserial \
       -out verification_cert_filename.pem \
       -days 500 -sha256
   ```

1. CA 証明書を に登録します AWS IoT。次のように、CA 証明書のファイル名とプライベートキー検証証明書のファイル名を **register-ca-certificate** コマンドに渡します。詳細については、「*AWS CLI コマンドリファレンス*」の「[register-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html)」を参照してください。

   ```
   aws iot register-ca-certificate \
       --ca-certificate file://root_CA_cert_filename.pem \
       --verification-cert file://verification_cert_filename.pem
   ```

   成功した場合、このコマンドは *certificateId* を返します。

1. この時点で、CA 証明書は に登録されています AWS IoT が、アクティブではありません。CA 証明書によって署名されたクライアント証明書を登録できるようにするには、CA 証明書をアクティブにする必要があります。

   このステップにより CA 証明書がアクティブ化されます。

   CA 証明書をアクティブ化するには、次のように **update-certificate** コマンドを使用します。詳細については、「*AWS CLI コマンドリファレンス*」の「[update-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html)」を参照してください。

   ```
   aws iot update-ca-certificate \
       --certificate-id certificateId \
       --new-status ACTIVE
   ```

CA 証明書のステータスを表示するには、**describe-ca-certificate** コマンドを使用します。詳細については、「*AWS CLI コマンドリファレンス*」の「[describe-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html)」を参照してください。

### コンソールに CA 証明書を登録するための CA 検証証明書を作成する
<a name="create-CA-verification-cert"></a>

**注記**  
この手順は、 AWS IoT コンソールから CA 証明書を登録する場合にのみ使用します。  
 AWS IoT コンソールからこの手順にアクセスしなかった場合は、コンソールの「CA 証明書の登録」で [CA 証明書](https://console.aws.amazon.com//iot/home#/create/cacertificate)の登録プロセスを開始します。

続行する前に、同じコンピュータで次のものが揃っていることを確認してください :
+ ルート CA の証明書ファイル (次の例では `root_CA_cert_filename.pem` と表記します)
+ ルート CA 証明書のプライベートキーファイル (次の例では `root_CA_key_filename.key` と表記します)
+ [OpenSSL v1.1.1i](https://www.openssl.org/) またはそれ以降

**コマンドラインインターフェイスを使用して CA 検証証明書を作成し、コンソールに CA 証明書を登録するには**

1. `verification_cert_key_filename.key` を、作成する検証証明書のキーファイルのファイル名 (例えば **verification\$1cert.key** など) で置き換えます。次にこのコマンドを実行して、プライベートキー検証証明書のキーペアを生成します。

   ```
   openssl genrsa -out verification_cert_key_filename.key 2048
   ```

1. `verification_cert_key_filename.key` をステップ 1 で作成したキーファイルの名前で置き換えます。

   `verification_cert_csr_filename.csr` を作成する証明書署名リクエスト (CSR) ファイルの名前で置き換えます。例えば、**verification\$1cert.csr**。

   このコマンドを実行して、CSR ファイルを作成します。

   ```
   openssl req -new \
       -key verification_cert_key_filename.key \
       -out verification_cert_csr_filename.csr
   ```

   このコマンドでは、後で説明する追加情報の入力を求めるプロンプトが表示されます。

1.  AWS IoT コンソールの検証**証明書**コンテナで、登録コードをコピーします。

1. **openssl** コマンドが入力を求める情報を以下の例に示します。`Common Name` フィールド以外では、独自の値を入力することも、空白のままにすることもできます。

   `Common Name` フィールドに、前のステップでコピーした登録コードを貼り付けます。

   ```
   You are about to be asked to enter information that will be incorporated
   into your certificate request.
   What you are about to enter is what is called a Distinguished Name or a DN.
   There are quite a few fields but you can leave some blank
   For some fields there will be a default value,
   If you enter '.', the field will be left blank.
   -----
   Country Name (2 letter code) [AU]:
       State or Province Name (full name) []:
       Locality Name (for example, city) []:
       Organization Name (for example, company) []:
       Organizational Unit Name (for example, section) []:
       Common Name (e.g. server FQDN or YOUR name) []:your_registration_code
       Email Address []:
   
       Please enter the following 'extra' attributes
       to be sent with your certificate request
       A challenge password []:
       An optional company name []:
   ```

   終了すると、コマンドによって CSR ファイルが作成されます。

1. `verification_cert_csr_filename.csr` を前のステップで使用した `verification_cert_csr_filename.csr` で置き換えます。

   `root_CA_cert_filename.pem` を登録する CA 証明書のファイル名で置き換えます。

   `root_CA_key_filename.key` を CA 証明書のプライベートキーファイルのファイル名で置き換えます。

   `verification_cert_filename.pem` を作成する検証証明書のファイル名で置き換えます。例えば、**verification\$1cert.pem**。

   ```
   openssl x509 -req \
       -in verification_cert_csr_filename.csr \
       -CA root_CA_cert_filename.pem \
       -CAkey root_CA_key_filename.key \
       -CAcreateserial \
       -out verification_cert_filename.pem \
       -days 500 -sha256
   ```

1. OpenSSL コマンドが完了したら、コンソールに戻ったときにこれらのファイルを使用できるようになります。
   + CA 証明書ファイル (前のコマンドで使用した `root_CA_cert_filename.pem`)
   + 前のステップで作成した検証証明書 (前のコマンドで使用した *verification\$1cert\$1filename.pem*)

## CA 証明書の非アクティブ化
<a name="deactivate-ca-cert"></a>

認証機関 (CA) 証明書の自動クライアント証明書登録が有効になっている場合、 は CA 証明書 AWS IoT をチェックして CA が であることを確認します`ACTIVE`。CA 証明書が の場合`INACTIVE`、クライアント証明書の登録は許可 AWS IoT されません。

CA 証明書を `INACTIVE` に設定すると、CA によって発行された新しいクライアント証明書が自動的に登録されなくなります。

**注記**  
疑わしい CA 証明書によって署名された登録済みのクライアント証明書は、明示的にそれぞれのクライアント証明書が取り消されるまで、引き続き使用されます。

### CA 証明書の非アクティブ化 (コンソール)
<a name="deactivate-ca-cert-console"></a>

**AWS IoT コンソールを使用して CA 証明書を無効にするには**

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

1. 左のナビゲーションペインで、[**安全性**]、[**CA**] の順に選択します。

1. 認証局の一覧で、非アクティブ化する認証局を探し、省略記号のアイコンを選択してオプションメニューを開きます。

1. オプションメニューで、[**無効化**] を選択します。

認証局は、リストに [**非アクティブ**] と表示されます。

**注記**  
 AWS IoT コンソールには、非アクティブ化した CA によって署名された証明書を一覧表示する方法はありません。これらの証明書を一覧表示する AWS CLI オプションについては、[CA 証明書の非アクティブ化 (CLI)](#deactivate-ca-cert-cli) を参照してください。

### CA 証明書の非アクティブ化 (CLI)
<a name="deactivate-ca-cert-cli"></a>

 AWS CLI は、CA 証明書を非アクティブ化する [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html) コマンドを提供します。

```
aws iot update-ca-certificate \
    --certificate-id certificateId \
    --new-status INACTIVE
```

[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-certificates-by-ca.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-certificates-by-ca.html) コマンドを使用して、指定した CA によって署名されたすべての登録済みクライアント証明書のリストを取得します。指定した CA 証明書によって署名されたクライアント証明書ごとに、[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) コマンドを使用します。これによってクライアント証明書が失効し、使用できなくなります。

CA 証明書のステータスを表示するには、[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html) コマンドを使用します。