CA 証明書の管理 - AWS IoT Core

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

CA 証明書の管理

このセクションでは、独自の認証局 (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 が署名したデバイス証明書を使用するには、CA 証明書をに登録して、 AWS IoT Core デバイス証明書の所有権を確認できるようにする必要があります。

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

注記

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

CA 証明書の登録 (CLI)

CA 証明書を DEFAULT モードまたは SNI_ONLY モードで登録できます。CA は 1 DEFAULT AWS アカウント つずつモードで登録できます AWS リージョン。1 つの CA SNI_ONLY AWS アカウント を同じモードで複数登録できます 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 検証証明書を作成する

注記

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

コンソールからこの手順を実行しなかった場合は、 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 証明書が有効な場合INACTIVE、 AWS IoT クライアント証明書の登録は許可されません。

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 コマンドを使用します。