すべてのプロダクト
Search
ドキュメントセンター

Server Load Balancer:CA証明書の生成

最終更新日:Nov 04, 2024

HTTPSリスナーを設定するときは、自己署名CA証明書を使用できます。 CA証明書を使用してクライアント証明書に署名することもできます。

OpenSSLを使用したCA証明書の生成

  1. 次のコマンドを実行して、/homeディレクトリにcaフォルダを作成し、caフォルダの下に4つのサブフォルダを作成します。

sudo mkdir ca
cd ca
sudo mkdir newcerts private conf server
  • newcertsフォルダーは、CA証明書によって署名されたデジタル証明書を格納するために使用されます。

  • プライベートフォルダは、CA証明書の秘密鍵を格納するために使用される。

  • confフォルダーは、パラメーターの簡略化に使用される設定ファイルを格納するために使用されます。

  • サーバーフォルダーは、サーバー証明書を格納するために使用されます。

  • 次の情報を含むopenssl.confファイルを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 = md5
     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 private/ca.key

    コマンドの出力を次の図に示します。image

  • 次のコマンドを実行し、プロンプトに従って必要な情報を入力し、enterキーを押してcsrファイルを生成します。

    sudo openssl req -new -key private/ca.key -out private/ca.csr 
    

    image

    説明

    Common Nameは、Classic Load Balancer (CLB) インスタンスのドメイン名を指定します。

  • 次のコマンドを実行してcrtファイルを生成します。

    sudo openssl x509 -req -days 365 -in private/ca.csr -signkey private/ca.key -out private/ca.crt
  • 次のコマンドを実行して、CAキーの初期シーケンス番号を設定します。 初期シーケンス番号は任意の4文字とすることができる。 この例では、CA鍵の初期シーケンス番号はFACEである。

    sudo echo FACE > serial
  • 次のコマンドを実行して、CA キーライブラリを作成します。

    sudo touch 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

クライアント証明書に署名する

  1. 次のコマンドを実行して、クライアントキーを格納するcaディレクトリにusersディレクトリを作成します。

    sudo mkdir users
  2. 次のコマンドを実行して、クライアントキーを作成します。

    sudo openssl genrsa -des3 -out /home/ca/users/client.key 1024
    説明

    キーを作成するときに、パスフレーズを入力して、キーが漏洩した場合の不正アクセスを防ぎます。 同じパスフレーズを2回入力します。

  3. 次のコマンドを実行して、クライアントキーのcsrファイルを作成します。

    sudo openssl req -new -key /home/ca/users/client.key -out /home/ca/users/client.csr

    プロンプトに従って、ステップ2で入力したパスフレーズとその他の必要な情報を入力します。

    説明

    チャレンジパスワードは、クライアント証明書パスワードであり、クライアント鍵とは異なる。

  4. 次のコマンドを実行して、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"

    y次の2つの操作を確認するプロンプトが表示された場合にします。

    image

  5. 次のコマンドを実行して、証明書を 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キーを押します。 次に、クライアント証明書のエクスポートに使用するパスワードを入力します。 このパスワードは、クライアント証明書を保護するために使用され、クライアント証明書をインストールするときに必要です。

  6. 次のコマンドを実行して、生成されたクライアント証明書を表示します。

     cd users
     ls