ApsaraMQ for MQTT は、デバイス証明書を使用したクライアント認証をサポートしています。認証局 (CA) 証明書を使用して、デバイス証明書、サーバー証明書、検証証明書を発行できます。クライアントがデバイス証明書で認証する際、サーバーサイドは関連付けられた CA 証明書を使用して、デバイス証明書の信頼性を検証します。CA 証明書を使用してデバイス証明書を検証する前に、ApsaraMQ for MQTT のサーバーサイドに CA 証明書を登録する必要があります。
背景情報
クライアントがデバイス証明書で認証する際、サーバーサイドは関連付けられた認証局 (CA) 証明書を使用してその信頼性を検証します。CA 証明書を使用してデバイス証明書を検証する前に、ApsaraMQ for MQTT のサーバーサイドに CA 証明書を登録する必要があります。
CA 証明書を登録するには、CA 証明書情報を ApsaraMQ for MQTT のサーバーサイドにアップロードし、指定されたインスタンスに CA 証明書をアタッチする必要があります。インスタンスと CA 証明書の間の関係は次のとおりです:
-
1 つのインスタンスに複数の CA 証明書を登録できます。
-
1 つの CA 証明書は、リージョンごとに 1 つのインスタンスにのみ登録できます。
制限事項
-
Platinum Edition および Professional Edition のインスタンスのみが CA 証明書管理機能をサポートしています。
-
CA 証明書のシリアル番号 (SN) は一意である必要があります。
-
CA 証明書の SN は 128 バイトを超えることはできません。
-
CA 証明書は RSA および 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 []: -
次のコマンドを実行して、自己署名 RSA CA 証明書
CA.crtを生成します。ご利用のオペレーティングシステムに対応するコマンドを選択してください。設定ファイルのパスはオペレーティングシステムによって異なります。-
Mac
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 -
次のコマンドを実行して、自己署名 ECC CA 証明書
CA.crtを生成します。-
Mac
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 Certificate] ページで、[Register Certificate] をクリックします。
表示されるパネルから CA 証明書の登録コードを取得できます。

-
-
CA 証明書の検証証明書を作成します。
CA 証明書を ApsaraMQ for MQTT のサーバーサイドに登録するには、CA 証明書の秘密鍵の所有権を証明する必要があります。これは、CA 証明書を使用して検証証明書を作成することで行えます。検証証明書を作成する際には、ApsaraMQ for MQTT が提供する登録コードを入力する必要があります。システムは、検証証明書と登録コードを使用して、CA 証明書を使用する権限があることを確認します。
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 で取得した CA 証明書の登録コードに設定してください。その他のパラメーターは任意です。 -
次のコマンドを実行して、CA 証明書の検証証明書
verificationCert.crtを生成します。openssl x509 -req -in verificationCert.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out verificationCert.crt -days 300 -sha512説明CA 証明書が自己署名でない場合は、生成された CSR ファイルを認証局 (CA) に提出して、証明書を生成してもらいます。
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 で取得した CA 証明書の登録コードに設定してください。その他のパラメーターは任意です。 -
次のコマンドを実行して、CA 証明書の検証証明書
verificationCert.crtを生成します。openssl x509 -req -in verificationCert.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out verificationCert.crt -days 300 -sha512説明CA 証明書が自己署名でない場合は、生成された CSR ファイルを認証局 (CA) に提出して、証明書を生成してもらいます。
-
-
CA 証明書
CA.crtと検証証明書verificationCert.crtをアップロードします。-
[CA Certificate] ページで、[Register Certificate] をクリックします。
-
表示される [Register CA Certificate] パネルで、[Upload Validation Certificate] と [Upload CA Certificate] をクリックします。プロンプトに従って CA 証明書と検証証明書をアップロードし、[OK] をクリックします。
-
CA 証明書のダウンロード
CA 証明書をローカルマシンにダウンロードして、バックアップしたり、詳細を表示したりできます。
CA 証明書リストで、対象の CA 証明書を見つけ、操作 列の [Download] をクリックします。
CA 証明書の照会
すべての CA 証明書の照会
[CA Certificate] ページの証明書リストには、インスタンスに登録されているすべての CA 証明書が表示されます。
CA 証明書に対する term クエリの実行
CA 証明書リストの上にある入力ボックスに、対象の CA 証明書の SN を入力し、[Search] をクリックします。
CA 証明書配下のデバイス証明書の照会
CA 証明書リストで、対象の CA 証明書を見つけ、[Actions] 列の [Device Certificate] をクリックします。
ページは自動的に [Device Certificate] ページにリダイレクトされ、対象の CA 証明書によって発行された登録済みのすべてのデバイス証明書が一覧表示されます。
CA 証明書のアクティブ化または登録解除
CA 証明書のステータスは、アクティブ化または登録解除することで変更できます。証明書のステータスには [Active] と [Inactive] があります。デフォルトでは、CA 証明書はサーバーサイドに登録された後、[Active] になります。
CA 証明書を登録解除すると、その証明書によって発行され、サーバーサイドに登録されているすべてのデバイス証明書も登録解除されます。同様に、CA 証明書をアクティブ化すると、その証明書によって発行されたすべてのデバイス証明書もアクティブ化されます。
-
証明書が [Active] の場合、登録解除して証明書を一時的に無効にできます。登録解除後、証明書は利用できなくなります。
-
証明書が[非アクティブ]の場合は、証明書を再アクティブ化して復元できます。
CA 証明書リストで、対象の CA 証明書を見つけ、操作 列の [Unregister] または [Activate] をクリックします。
CA 証明書の削除
CA 証明書を削除すると、その証明書およびそれが発行したすべてのデバイス証明書に関するすべての情報がサーバーサイドのストレージレコードから削除されます。この操作は証明書ファイル自体を削除するものではありません。削除後、CA 証明書とその関連デバイス証明書は、再登録されない限り認証に使用できなくなります。
-
CA 証明書リストで、対象の CA 証明書を見つけ、操作 列の [Delete] をクリックします。
-
表示される確認ダイアログボックスで、[OK] をクリックします。