4.2. 認証局の作成と証明書への署名
次の手順を使用して、ssl.cert
および ssl.key
という名前の証明書ファイルとプライマリーキーファイルを作成します。
4.2.1. 認証局の作成
認証局 (CA) を作成するには、次の手順を使用します。
手順
次のコマンドを入力して、ルート CA キーを生成します。
$ openssl genrsa -out rootCA.key 2048
次のコマンドを入力して、ルート CA 証明書を生成します。
$ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
サーバーのホスト名など、証明書の要求に組み込まれる情報を入力します。以下に例を示します。
Country Name (2 letter code) [XX]:IE State or Province Name (full name) []:GALWAY Locality Name (eg, city) [Default City]:GALWAY Organization Name (eg, company) [Default Company Ltd]:QUAY Organizational Unit Name (eg, section) []:DOCS Common Name (eg, your name or your server's hostname) []:quay-server.example.com
4.2.2. 証明書への署名
証明書に署名するには、次の手順を使用します。
手順
次のコマンドを入力してサーバーキーを生成します。
$ openssl genrsa -out ssl.key 2048
次のコマンドを入力して、署名リクエストを生成します。
$ openssl req -new -key ssl.key -out ssl.csr
サーバーのホスト名など、証明書の要求に組み込まれる情報を入力します。以下に例を示します。
Country Name (2 letter code) [XX]:IE State or Province Name (full name) []:GALWAY Locality Name (eg, city) [Default City]:GALWAY Organization Name (eg, company) [Default Company Ltd]:QUAY Organizational Unit Name (eg, section) []:DOCS Common Name (eg, your name or your server's hostname) []:quay-server.example.com
以下のようにサーバーのホスト名を指定して、設定ファイルの
openssl.cnf
を作成します。openssl.cnf
[req] req_extensions = v3_req distinguished_name = req_distinguished_name [req_distinguished_name] [ v3_req ] basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = quay-server.example.com IP.1 = 192.168.1.112
設定ファイルを使用して、証明書
ssl.cert
を生成します。$ openssl x509 -req -in ssl.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out ssl.cert -days 356 -extensions v3_req -extfile openssl.cnf