このセクションでは、NSX Advanced Load Balancer でクライアント証明書認証を有効にする方法について説明します。クライアント証明書認証が有効になっている場合、NSX Advanced Load Balancer は、信頼できる認証局および構成されたクライアント失効リスト (CRL) に対してクライアントによって提示される SSL 証明書を検証します。
キーと証明書の生成
キーと証明書のディレクトリを作成するには、次の手順を実行します。
NSX Advanced Load Balancer CLI にログインします。
次の
mkdir
コマンドを使用して、格納するディレクトリを作成します。クライアント認証に必要なキーと証明書を実行します。
cd
コマンドを使用してディレクトリにアクセスします。
$ mkdir client-cert-auth-demo $ cd client-cert-auth-demo [client-cert-auth-demo] $
クライアント証明書 (CA) キーを生成するには、openssl genrsa -out CA.key 2048
コマンドを使用して、2048 ビット暗号化の自己署名 CA 証明書を生成します。
[client-cert-auth-demo] $ openssl genrsa -out CA.key 2048 Generating RSA private key, 2048 bit long modulus ......................................................................+++ e is 65537 (0x10001) Generate self-signed CA Cert: [client-cert-auth-demo] $ openssl req -x509 -new -nodes -key CA.key -sha256 -days 1024 -out CA.pem 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) [XX]:US State or Province Name (full name) []:California Locality Name (eg, city) [Default City]:Santa Clara Organization Name (eg, company) [Default Company Ltd]:Avi Networks Organizational Unit Name (eg, section) []:Engineering Common Name (eg, your name or your server's hostname) []:demo.avi.com Email Address []:
メール アドレスは空のままにします。
クライアント証明書署名リクエストを生成するには、次の手順を実行します。
openssl genrsa -out client.key 2048
コマンドを使用してclient.key
を生成します。openssl req -new -key client.key -out client.csr
コマンドを使用してクライアント CSR を作成します。要件に従ってすべての詳細を指定します。
[共通名] は、クライアント マシンのホスト名または FQDN と一致する必要があります。
メール アドレス、チャレンジ パスワード、およびオプションの会社名は空のままにします。
Generate client CSR: [client-cert-auth-demo] $ openssl req -new -key client.key -out client.csr 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) [XX]:US State or Province Name (full name) []:California Locality Name (eg, city) [Default City]:Santa Clara Organization Name (eg, company) [Default Company Ltd]:Avi Networks Organizational Unit Name (eg, section) []:Engineering Common Name (eg, your name or your server's hostname) []:client.avi.com Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
署名付きクライアント証明書を作成するには、次の OpenSSL コマンドを使用して署名付きクライアント証明書を作成します。
[client-cert-auth-demo] $ openssl x509 -req -in client.csr -CA CA.pem -CAkey CA.key -CAcreateserial - out client.pem -days 1024 -sha256 Signature ok subject=/C=US/ST=California/L=Santa Clara/O=Avi Networks/OU=Engineering/CN=client.avi.com Getting CA Private Key
クライアント キーを PEM から PKCS12 (PFX) に変換するには、OpenSSL コマンドを使用してクライアント キーの形式を PEM から PKCS12 に変換します。エクスポート パスワードを入力します。
[client-cert-auth-demo] $ openssl pkcs12 -export -out client.pfx -inkey client.key -in client.pem -certfile CA.pem Enter Export Password: Verifying - Enter Export Password: