翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CA 証明書の管理
このセクションでは、独自の認証局 (CA) 証明書を管理するための一般的なタスクについて説明します。
が認識 AWS IoT しない CA によって署名されたクライアント証明書を使用している場合 AWS IoT は、認証機関 (CA) を に登録できます。
クライアントが最初に接続 AWS IoT するときにクライアント証明書を に自動的に登録する場合は、クライアント証明書に署名した CA を に登録する必要があります AWS IoT。それ以外の場合は、クライアント証明書に署名した CA 証明書を登録する必要はありません。
注記
CA 証明書は、リージョン内の 1 つのアカウントでのみ DEFAULT
モードで登録できます。CA 証明書は、リージョン内の複数のアカウントで SNI_ONLY
モードで登録できます。
CA 証明書を作成する
CA 証明書がない場合は、Open SSLv1.1.1i
注記
AWS IoT この手順はコンソールでは実行できません。
OpenSSL v1.1.1i ツールを使用して CA 証明書を作成するには
-
キーペアを生成します。
openssl genrsa -out
root_CA_key_filename.key
2048 -
キーペアのプライベートキーを使用して CA 証明書を生成します。
openssl req -x509 -new -nodes \ -key
root_CA_key_filename.key
\ -sha256 -days 1024 \ -outroot_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 証明書を登録する (CLI)
CA 証明書を DEFAULT
モードまたは SNI_ONLY
モードで登録できます。CA は、1 つの に 1 AWS アカウント つずつ DEFAULT
モードで登録できます AWS リージョン。CA は、 AWS アカウント 同じ 内の複数の によって SNI_ONLY
モードで登録できます AWS リージョン。CA 証明書モードの詳細については、「」を参照してくださいcertificateMode。
注記
CA を SNI_ONLY
モードで登録することをお勧めします。検証証明書やプライベートキーへのアクセスを提供する必要はなく、同じ AWS アカウント に複数の で CA を登録できます AWS リージョン。
CA 証明書を SNI_ONLY モードに登録する (CLI) - 推奨
前提条件
続行する前に、コンピュータで次のものが揃っていることを確認してください。
-
ルート CA の証明書ファイル (次の例では
と表記します)root_CA_cert_filename.pem
を使用して CA 証明書を SNI_ONLY
モードで登録するには AWS CLI
-
CA 証明書を に登録します AWS IoT。register-ca-certificate コマンドを使用して、CA 証明書ファイル名を入力します。詳細については、 コマンドリファレンスregister-ca-certificate
の「」を参照してください。 AWS CLI aws iot register-ca-certificate \ --ca-certificate file://
root_CA_cert_filename.pem
\ --certificate-modeSNI_ONLY
成功すると、このコマンドは を返します。
certificateId
. -
この時点で、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 コマンドを使用します。詳細については、 コマンドリファレンスdescribe-ca-certificate
DEFAULT
モードで CA 証明書を登録する (CLI)
前提条件
続行する前に、コンピュータで次のものが揃っていることを確認してください。
-
ルート CA の証明書ファイル (次の例では
と表記します)root_CA_cert_filename.pem
-
ルート CA 証明書のプライベートキーファイル (次の例では
と表記します)root_CA_key_filename.key
を使用して CA 証明書を DEFAULT
モードで登録するには AWS CLI
-
から登録コードを取得するには AWS IoT、 を使用しますget-registration-code。プライベートキー検証証明書の
Common Name
として使用するために、返されたregistrationCode
を保存します。詳細については、 コマンドリファレンスget-registration-codeの「」を参照してください。 AWS CLI aws iot get-registration-code
-
プライベートキー検証証明書のキーペアを生成します。
openssl genrsa -out
verification_cert_key_filename.key
2048 -
プライベートキー検証証明書の証明書署名リクエスト (CSR) を作成します。証明書の
Common Name
フィールドに、registrationCode
によって返された get-registration-code を設定します。openssl req -new \ -key
verification_cert_key_filename.key
\ -outverification_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 []: -
CSR を使用してプライベートキー検証証明書を作成します。
openssl x509 -req \ -in
verification_cert_csr_filename.csr
\ -CAroot_CA_cert_filename.pem
\ -CAkeyroot_CA_key_filename.key
\ -CAcreateserial \ -outverification_cert_filename.pem
\ -days 500 -sha256 -
CA 証明書を に登録します AWS IoT。次のように、CA 証明書のファイル名とプライベートキー検証証明書のファイル名を register-ca-certificate コマンドに渡します。詳細については、 コマンドリファレンスregister-ca-certificate
の「」を参照してください。 AWS CLI aws iot register-ca-certificate \ --ca-certificate file://
root_CA_cert_filename.pem
\ --verification-cert file://verification_cert_filename.pem
このコマンドは を返します。
certificateId
成功した場合、。 -
この時点で、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 コマンドを使用します。詳細については、 コマンドリファレンスdescribe-ca-certificate
コンソールに CA 証明書を登録するための CA 検証証明書を作成する
注記
この手順は、 AWS IoT コンソールから CA 証明書を登録する場合にのみ使用します。
AWS IoT コンソールからこの手順に進まなかった場合は、コンソールの「CA 証明書の登録」で CA 証明書
続行する前に、同じコンピュータで次のものが揃っていることを確認してください :
-
ルート CA の証明書ファイル (次の例では
と表記します)root_CA_cert_filename.pem
-
ルート CA 証明書のプライベートキーファイル (次の例では
と表記します)root_CA_key_filename.key
コマンドラインインターフェイスを使用して CA 検証証明書を作成し、コンソールに CA 証明書を登録するには
-
を、作成する検証証明書のキーファイルのファイル名 (例えばverification_cert_key_filename.key
verification_cert.key
など) で置き換えます。次にこのコマンドを実行して、プライベートキー検証証明書のキーペアを生成します。openssl genrsa -out
verification_cert_key_filename.key
2048 -
をステップ 1 で作成したキーファイルの名前で置き換えます。verification_cert_key_filename.key
を、作成する証明書署名リクエスト (CSR) ファイルの名前
に置き換えます。例えば、verification_cert_csr_filename.csr
verification_cert.csr
と指定します。CSR ファイルを作成するには、このコマンドを実行します。
openssl req -new \ -key
verification_cert_key_filename.key
\ -outverification_cert_csr_filename.csr
このコマンドでは、後で説明する追加情報の入力を求めるプロンプトが表示されます。
-
AWS IoT コンソールの検証証明書コンテナで、登録コードをコピーします。
-
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 ファイルが作成されます。
-
を前のステップで使用したverification_cert_csr_filename.csr
で置き換えます。verification_cert_csr_filename.csr
を登録する CA 証明書のファイル名で置き換えます。root_CA_cert_filename.pem
を CA 証明書のプライベートキーファイルのファイル名で置き換えます。root_CA_key_filename.key
を作成する検証証明書のファイル名で置き換えます。例えば、verification_cert_filename.pem
verification_cert.pem
と指定します。openssl x509 -req \ -in
verification_cert_csr_filename.csr
\ -CAroot_CA_cert_filename.pem
\ -CAkeyroot_CA_key_filename.key
\ -CAcreateserial \ -outverification_cert_filename.pem
\ -days 500 -sha256 -
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 証明書を非アクティブ化するには
-
にサインイン AWS Management Console し、AWS IoT コンソール
を開きます。 -
左側のナビゲーションペインで、「セキュア」を選択し、「」を選択しますCAs。
-
認証局の一覧で、非アクティブ化する認証局を探し、省略記号のアイコンを選択してオプションメニューを開きます。
-
オプションメニューで、[無効化] を選択します。
認証局は、リストに [非アクティブ] と表示されます。
注記
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 証明書のステータスを表示するには、describe-ca-certificate