HTTPS リスナーを構成する際に、自己署名 CA 証明書を使用できます。 また、CA 証明書を使用して、クライアント証明書に署名することもできます。
OpenSSL を使用して CA 証明書を生成する
OpenSSL ツールがインストールされている Linux の Elastic Compute Service (ECS) インスタンスにログインします。この例では、インスタンスは Alibaba Cloud Linux 3 オペレーティングシステムを実行し、OpenSSL バージョン 1.1.1k がインストールされています。
次のコマンドを実行して、
/homeディレクトリに ca ディレクトリを作成し、その下に 4 つのサブディレクトリを作成します。sudo mkdir /home/ca cd /home/ca sudo mkdir newcerts private conf servernewcerts フォルダは、CA 証明書によって署名されたデジタル証明書を格納するために使用されます。
private フォルダは、CA 証明書の秘密鍵を格納するために使用されます。
conf フォルダは、パラメータを簡素化するために使用される構成ファイルを格納するために使用されます。
server フォルダは、サーバー証明書を格納するために使用されます。
confディレクトリに openssl.conf ファイルを作成します。vim /home/ca/conf/openssl.confopenssl.conf ファイルには、次の情報が含まれています。
[ ca ] default_ca = foo [ foo ] dir = /home/ca database = /home/ca/index.txt new_certs_dir = /home/ca/newcerts certificate = /home/ca/private/ca.crt serial = /home/ca/serial private_key = /home/ca/private/ca.key RANDFILE = /home/ca/private/.rand default_days = 365 default_crl_days= 30 default_md = sha256 unique_subject = no policy = policy_any [ policy_any ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = match localityName = optional commonName = supplied emailAddress = optional秘密鍵を生成するには、次のコマンドを実行します。
cd /home/ca sudo openssl genrsa -out /home/ca/private/ca.key次の図は、コマンドの出力を示しています。

次のコマンドを実行し、プロンプトに従って必要な情報を入力して、Enter キーを押して csr ファイルを生成します。
sudo openssl req -new -key /home/ca/private/ca.key -out /home/ca/private/ca.csr
説明共通名には、Classic Load Balancer (CLB) インスタンスのドメイン名を指定します。
crt ファイルを生成するには、次のコマンドを実行します。
sudo openssl x509 -req -days 365 -in /home/ca/private/ca.csr -signkey /home/ca/private/ca.key -out /home/ca/private/ca.crt重要ca.crt ファイルは、CLB にアップロードする CA 証明書ファイルです。
CA キーの初期シーケンス番号を設定するには、次のコマンドを実行します。 初期シーケンス番号は任意の 4 文字です。 この例では、CA キーの初期シーケンス番号は FACE です。
echo FACE | sudo tee /home/ca/serialCA キーライブラリを作成するには、次のコマンドを実行します。
sudo touch /home/ca/index.txtクライアント証明書を削除するための証明書失効リストを作成するには、次のコマンドを実行します。
sudo openssl ca -gencrl -out /home/ca/private/ca.crl -crldays 7 -config "/home/ca/conf/openssl.conf"出力:
Using configuration from /home/ca/conf/openssl.conf
クライアント証明書に署名する
次のコマンドを実行して、
caディレクトリにusersディレクトリを作成し、クライアントキーを格納します。sudo mkdir /home/ca/usersクライアントキーを作成するには、次のコマンドを実行します。
sudo openssl genrsa -des3 -out /home/ca/users/client.key 2048説明キーを作成するときは、キーの漏洩が発生した場合に不正アクセスを防ぐためにパスフレーズを入力します。 同じパスフレーズを 2 回入力します。
クライアントキーの csr ファイルを作成するには、次のコマンドを実行します。
sudo openssl req -new -key /home/ca/users/client.key -out /home/ca/users/client.csr手順 2 で入力したパスフレーズと、プロンプトで要求されるその他の必要な情報を入力します。
説明チャレンジパスワードはクライアント証明書のパスワードであり、クライアントキーとは異なります。
CA キーを使用してクライアントキーに署名するには、次のコマンドを実行します。
sudo openssl ca -in /home/ca/users/client.csr -cert /home/ca/private/ca.crt -keyfile /home/ca/private/ca.key -out /home/ca/users/client.crt -config "/home/ca/conf/openssl.conf"次の 2 つの操作を確認するよう求められたら、y を入力します。

証明書を PKCS12 ファイルに変換するには、次のコマンドを実行します。
sudo openssl pkcs12 -export -clcerts -in /home/ca/users/client.crt -inkey /home/ca/users/client.key -out /home/ca/users/client.p12プロンプトに従ってクライアントキーのパスフレーズを入力し、Enter キーを押します。 次に、クライアント証明書のエクスポートに使用するパスワードを入力します。 このパスワードは、クライアント証明書を保護するために使用され、クライアント証明書をインストールするときに必要になります。
生成されたクライアント証明書を表示するには、次のコマンドを実行します。
cd /home/ca/users ls