ApsaraMQ for MQTT は、デバイス証明書を使用したクライアント認証をサポートしています。CA 証明書は、デバイス証明書、サーバー証明書、および検証証明書に署名するために使用できます。クライアントがデバイス証明書を使用して認証を行う場合、ブローカーはデバイス証明書に関連付けられた CA 証明書を使用して、デバイス証明書が有効であることを検証します。CA 証明書をデバイス証明書の検証に使用する前に、ApsaraMQ for MQTT ブローカーに登録する必要があります。
背景情報
クライアントがデバイス証明書で認証を行う際、ブローカーは関連付けられた CA 証明書を使用してその有効性を検証します。CA 証明書を検証に使用する前に、ApsaraMQ for MQTT ブローカーに CA 証明書を登録する必要があります。
CA 証明書の登録には、ApsaraMQ for MQTT ブローカーへのアップロードと、特定のインスタンスへのバインドが含まれます。インスタンスと CA 証明書の間の関係は次のとおりです。
-
1 つのインスタンスに複数の CA 証明書を登録できます。
-
1 つのリージョン内では、1 つの CA 証明書は 1 つのインスタンスにのみ登録できます。
制限事項
-
Enterprise Platinum Edition インスタンスおよび Professional Edition インスタンスのみが CA 証明書管理をサポートしています。
-
CA 証明書のシリアル番号は一意である必要があります。
-
CA 証明書のシリアル番号は 128 バイトを超えることはできません。
-
CA 証明書は、Rivest-Shamir-Adleman (RSA) および Elliptic Curve Cryptography (ECC) アルゴリズムをサポートしています。
前提条件
OpenSSL v1.1.1i 以降がインストールされていること。
自己署名 CA 証明書の作成
信頼できる認証局 (CA) から CA 証明書を購入できます。または、非公開の自己署名 CA 証明書を生成することもできます。このトピックでは、OpenSSL を使用して自己署名 CA 証明書を生成する方法について説明します。
OpenSSL のダウンロードとインストール
-
説明
インストール完了後、Windows をご利用の場合は、OpenSSL のインストールディレクトリの `bin` サブディレクトリをシステムの `PATH` 環境変数に追加してください。
-
コマンドプロンプトを開きます。
RSA 証明書
-
次のコマンドを実行して、RSA CA 証明書の秘密鍵を生成します。
openssl genrsa -out CA.key 2048 -
次のコマンドを実行して、CA 証明書の秘密鍵を使用して CSR ファイルを作成します。
openssl req -new -key CA.key -out CA.csr次の出力が表示されます。プロンプトに基づいて必須パラメーターの値を入力します。
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) []: Email Address []: -
ご利用のオペレーティングシステムに応じて次のいずれかのコマンドを実行し、
CA.crtという名前の自己署名 RSA CA 証明書を生成します。extfile の場所はオペレーティングシステムによって異なります。-
macOS
openssl x509 -req -extfile /System/Library/OpenSSL/openssl.cnf -extensions v3_ca -in CA.csr -out CA.crt -signkey CA.key -CAcreateserial -days 3650 -
CentOS
openssl x509 -req -extfile /etc/pki/tls/openssl.cnf -extensions v3_ca -in CA.csr -out CA.crt -signkey CA.key -CAcreateserial -days 3650 -
Windows
openssl x509 -req -extfile C:\Progra~1\OpenSSL-Win64\bin\cnf\openssl.cnf -extensions v3_ca -in CA.csr -out CA.crt -signkey CA.key -CAcreateserial -days 3650
-
-
生成された RSA CA 証明書を表示します。
次のコマンドを実行します。
openssl x509 -in CA.crt -text
ECC 証明書
-
次のコマンドを実行して、ECC CA 証明書の秘密鍵を生成します。
openssl ecparam -genkey -name prime256v1 -out CA.key -
CA.crtという名前の自己署名 ECC CA 証明書を生成します。-
macOS
openssl req -new -x509 -days 3650 -config /System/Library/OpenSSL/openssl.cnf -extensions v3_ca -key CA.key -out CA.crt -
CentOS
openssl req -new -x509 -days 3650 -config /etc/pki/tls/openssl.cnf -extensions v3_ca -key CA.key -out CA.crt -
Windows
openssl req -new -x509 -days 3650 -config C:\Progra~1\OpenSSL-Win64\bin\cnf\openssl.cnf -extensions v3_ca -key CA.key -out CA.crt説明エラーが発生した場合は、コマンド内の openssl.cnf ファイルのパスが正しいことを確認してください。
次の出力が表示されます。プロンプトに基づいて必須パラメーターの値を入力します。
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) []: Email Address []: -
-
次のコマンドを実行して、生成された ECC CA 証明書を表示します。
openssl x509 -in CA.crt -text
CA 証明書の登録
CA 証明書は登録後、デフォルトでアクティブ化されます。
-
CA 証明書の登録コードを取得します。
-
ApsaraMQ for MQTT コンソールにログインします。左側のナビゲーションウィンドウで、インスタンスリスト をクリックします。
-
上部のナビゲーションバーで、インスタンスがデプロイされているリージョンを選択します。[インスタンス] ページで、インスタンス名をクリックします。インスタンスの詳細 ページが表示されます。左側のナビゲーションウィンドウで、 を選択します。
-
CA 証明書 ページで、証明書の登録 をクリックします。
[CA 証明書の登録] ダイアログボックスで、[登録コードのコピー] をクリックして [登録コード] をコピーします。次に、[検証証明書のアップロード] と [CA 証明書のアップロード] をクリックして、検証証明書と CA 証明書をアップロードします。
-
-
CA 証明書の検証証明書を作成します。
ApsaraMQ for MQTT ブローカーに CA 証明書を登録するには、その秘密鍵の所有権を証明する必要があります。これを行うには、CA の秘密鍵で署名された特別な検証証明書を作成します。この検証証明書には、ApsaraMQ for MQTT によって提供された登録コードが含まれている必要があります。システムはこの証明書とコードを使用して、所有権を検証します。
RSA 証明書
-
次のコマンドを実行して、検証証明書の秘密鍵を生成します。
openssl genrsa -out verificationCert.key 2048 -
次のコマンドを実行して、検証証明書の CSR ファイルを作成します。
openssl req -new -key verificationCert.key -out verificationCert.csr次の出力が表示されます。プロンプトに基づいて必須パラメーターの値を入力します。
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) []:i29adsjfp29jfj92jlajsdf****** Email Address []:重要CommonNameパラメーターを指定する必要があります。値を ステップ 1 で取得した登録コードに置き換えてください。他のパラメーターはオプションです。 -
次のコマンドを実行して、
verificationCert.crtという名前の CA 証明書の検証証明書を生成します。openssl x509 -req -in verificationCert.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out verificationCert.crt -days 300 -sha512説明自己署名 CA を使用していない場合は、生成された CSR ファイルを認証局に提出して、証明書を発行してもらいます。
ECC 証明書
-
次のコマンドを実行して、検証証明書の秘密鍵を生成します。
openssl ecparam -out verificationCert.key -name prime256v1 -genkey -
次のコマンドを実行して、検証証明書の CSR ファイルを作成します。
openssl req -new -key verificationCert.key -out verificationCert.csr次の出力が表示されます。プロンプトに基づいて必須パラメーターの値を入力します。
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) []:i29adsjfp29jfj92jlajsdf****** Email Address []:重要CommonNameパラメーターを指定する必要があります。値を ステップ 1 で取得した登録コードに置き換えてください。他のパラメーターはオプションです。 -
次のコマンドを実行して、
verificationCert.crtという名前の CA 証明書の検証証明書を生成します。openssl x509 -req -in verificationCert.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out verificationCert.crt -days 300 -sha512説明自己署名 CA を使用していない場合は、生成された CSR ファイルを認証局に提出して、証明書を発行してもらいます。
-
-
CA 証明書
CA.crtと検証証明書verificationCert.crtをアップロードします。-
CA 証明書 ページで、証明書の登録 をクリックします。
-
CA 証明書の登録 ダイアログボックスで、検証証明書のアップロード と CA 証明書のアップロード をクリックして検証証明書と CA 証明書をアップロードし、OK をクリックします。
-
CA 証明書のダウンロード
CA 証明書をローカルコンピューターにダウンロードしてバックアップしたり、詳細を表示したりできます。
CA 証明書リストで、ダウンロードしたい CA 証明書を見つけ、操作 列の ダウンロード をクリックします。
CA 証明書の照会
すべての CA 証明書の照会
CA 証明書 ページには、インスタンスに登録されているすべての CA 証明書が一覧表示されます。
特定の CA 証明書の照会
CA 証明書リストの上にある検索ボックスに CA 証明書のシリアル番号を入力し、[検索] をクリックします。
発行済みデバイス証明書の照会
CA 証明書リストで、管理したい CA 証明書を見つけ、操作 列の デバイス証明書 をクリックします。
デバイス証明書 ページが開き、その CA 証明書によって発行された、登録済みのすべてのデバイス証明書が表示されます。
CA 証明書のアクティブ化または登録解除
CA 証明書をアクティブ化または登録解除することで、そのステータスを変更できます。証明書のステータスには 有効化する と 有効化されていません があります。CA 証明書は、ブローカーに登録された後、デフォルトで 有効化する されます。
CA 証明書を登録解除すると、それによって発行されたすべてのデバイス証明書も登録解除されます。同様に、CA 証明書をアクティブ化すると、それによって発行されたすべてのデバイス証明書もアクティブ化されます。
-
有効化する された証明書を登録解除すると、認証に一時的に使用できなくなります。
-
有効化されていません な証明書をアクティブ化すると、その使用が復元されます。
CA 証明書リストで、管理したい CA 証明書を見つけ、操作 列の 解約 または 有効化する をクリックします。
CA 証明書の削除
CA 証明書を削除すると、そのレコードと、それが発行したすべてのデバイス証明書のレコードがブローカーから削除されます。この操作によって、ローカルの証明書ファイルが削除されることはありません。ブローカーから削除されると、これらの証明書は再度登録しない限り認証に使用できなくなります。
-
CA 証明書リストで、削除したい CA 証明書を見つけ、操作 列の Delete をクリックします。
-
表示されるメッセージで、OK をクリックします。