CA 証明書の管理 - AWS IoT Core

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

CA 証明書の管理

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

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

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

注記

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

CA 証明書を作成する

CA 証明書がない場合は、OpenSSL v1.1.1i ツールを使用して作成できます。

注記

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

OpenSSL v1.1.1i ツールを使用して CA 証明書を作成するには
  1. キーペアを生成します。

    openssl genrsa -out root_CA_key_filename.key 2048
  2. キーペアのプライベートキーを使用して CA 証明書を生成します。

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

CA 証明書の登録

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

CA 証明書の登録 (コンソール)

注記

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

CA 証明書の登録 (CLI)

CA 証明書を DEFAULT モードまたは SNI_ONLY モードで登録できます。CA は、1 つの に 1 AWS アカウント つずつ DEFAULT モードで登録できます AWS リージョン。CA は、 AWS アカウント 同じ 内の複数の によって SNI_ONLY モードで登録できます AWS リージョン。CA 証明書の詳細については、「certificateMode」を参照してください。

注記

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

SNI_ONLY モードでの CA 証明書の登録 (CLI) – 推奨

前提条件

続行する前に、コンピュータで次のものが揃っていることを確認してください。

  • ルート CA の証明書ファイル (次の例では root_CA_cert_filename.pem と表記します)

  • OpenSSL v1.1.1i またはそれ以降

を使用して CA 証明書を SNI_ONLY モードで登録するには AWS CLI
  1. CA 証明書を に登録します AWS IoT。register-ca-certificate コマンドを使用して、CA 証明書ファイル名を入力します。詳細については、「AWS CLI コマンドリファレンス」の「register-ca-certificate」を参照してください。

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

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

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

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

    CA 証明書をアクティブ化するには、次のように update-certificate コマンドを使用します。詳細については、「AWS CLI コマンドリファレンス」の「update-certificate」を参照してください。

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

CA 証明書のステータスを表示するには、describe-ca-certificate コマンドを使用します。詳細については、「AWS CLI コマンドリファレンス」の「describe-ca-certificate」を参照してください。

DEFAULT モードでの CA 証明書の登録 (CLI)

前提条件

続行する前に、コンピュータで次のものが揃っていることを確認してください。

  • ルート CA の証明書ファイル (次の例では root_CA_cert_filename.pem と表記します)

  • ルート CA 証明書のプライベートキーファイル (次の例では root_CA_key_filename.key と表記します)

  • OpenSSL v1.1.1i またはそれ以降

を使用して CA 証明書を DEFAULT モードで登録するには AWS CLI
  1. から登録コードを取得するには AWS IoT、 を使用しますget-registration-code。プライベートキー検証証明書の Common Name として使用するために、返された registrationCode を保存します。詳細については、「AWS CLI コマンドリファレンス」の「get-registration-code」を参照してください。

    aws iot get-registration-code
  2. プライベートキー検証証明書のキーペアを生成します。

    openssl genrsa -out verification_cert_key_filename.key 2048
  3. プライベートキー検証証明書の証明書署名リクエスト (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 []:
  4. 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
  5. CA 証明書を に登録します AWS IoT。次のように、CA 証明書のファイル名とプライベートキー検証証明書のファイル名を register-ca-certificate コマンドに渡します。詳細については、「AWS CLI コマンドリファレンス」の「register-ca-certificate」を参照してください。

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

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

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

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

    CA 証明書をアクティブ化するには、次のように update-certificate コマンドを使用します。詳細については、「AWS CLI コマンドリファレンス」の「update-certificate」を参照してください。

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

CA 証明書のステータスを表示するには、describe-ca-certificate コマンドを使用します。詳細については、「AWS CLI コマンドリファレンス」の「describe-ca-certificate」を参照してください。

コンソールに CA 証明書を登録するための CA 検証証明書を作成する

注記

この手順は、 AWS IoT コンソールから CA 証明書を登録する場合にのみ使用します。

AWS IoT コンソールからこの手順に進まなかった場合は、コンソールの「CA 証明書の登録」で CA 証明書の登録プロセスを開始します。

続行する前に、同じコンピュータで次のものが揃っていることを確認してください :

  • ルート CA の証明書ファイル (次の例では root_CA_cert_filename.pem と表記します)

  • ルート CA 証明書のプライベートキーファイル (次の例では root_CA_key_filename.key と表記します)

  • OpenSSL v1.1.1i またはそれ以降

コマンドラインインターフェイスを使用して CA 検証証明書を作成し、コンソールに CA 証明書を登録するには
  1. verification_cert_key_filename.key を、作成する検証証明書のキーファイルのファイル名 (例えば verification_cert.key など) で置き換えます。次にこのコマンドを実行して、プライベートキー検証証明書のキーペアを生成します。

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

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

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

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

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

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

  4. 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 ファイルが作成されます。

  5. 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_cert.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
  6. OpenSSL コマンドが完了したら、コンソールに戻ったときにこれらのファイルを使用できるようになります。

    • CA 証明書ファイル (前のコマンドで使用した root_CA_cert_filename.pem)

    • 前のステップで作成した検証証明書 (前のコマンドで使用した verification_cert_filename.pem)

CA 証明書の非アクティブ化

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

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

注記

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

CA 証明書の非アクティブ化 (コンソール)

AWS IoT コンソールを使用して CA 証明書を非アクティブ化するには
  1. にサインイン AWS Management Console し、AWS IoT コンソール を開きます。

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

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

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

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

注記

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

CA 証明書の非アクティブ化 (CLI)

AWS CLI は、CA 証明書を非アクティブ化する update-ca-certificate コマンドを提供します。

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

list-certificates-by-ca コマンドを使用して、指定した CA によって署名されたすべての登録済みクライアント証明書のリストを取得します。指定した CA 証明書によって署名されたクライアント証明書ごとに、update-certificate コマンドを使用します。これによってクライアント証明書が失効し、使用できなくなります。

CA 証明書のステータスを表示するには、describe-ca-certificate コマンドを使用します。