署名済み証明書の生成には、証明書署名要求(CSR: Certificate Signing Request) の作成が必要です。
- CSR構成ファイルであるsan.cnfを作成します。
[ req ] default_bits = 2048 distinguished_name = req_distinguished_name req_extensions = req_ext [ req_distinguished_name ] countryName = Country Name (2 letter code) stateOrProvinceName = State or Province Name (full name) localityName = Locality Name (eg, city) organizationName = Organization Name (eg, company) commonName = Common Name (e.g. server FQDN or YOUR name) [ req_ext ] subjectAltName = @alt_names [alt_names] DNS.1 = appcenter.example.com DNS.2 = *.appcenter.example.com
DNS.1の値がAPPCTL_DOMAINと同じであることを確認してください。 DNS.2の値は* .APPCTL_DOMAINである必要があります。 - クライアント マシンから、server.keyを生成します。
$ openssl req -out server.csr -newkey rsa:2048 -nodes -keyout server.key -config san.cnf
- プロンプトが表示されたら、次のCSR詳細を入力します。
CSR詳細 説明 Common Name 証明書を使用してセキュリティで保護する完全修飾ドメイン名 (FQDN) を入力します。例: appcenter.example.com。 Organization 企業識別子を含む、組織の正式組織名を入力します。 Organization Unit (OU) 部署名を入力します。例:Information TechnologyまたはWebsite Security。 City or Locality 組織の登記住所の都市名を入力します。 省略しないでください。 Country 組織が登記されている国のコードを英文2文字で入力します。例: US またはCH。 State or Province 組織の登記住所の都道府県名を入力します。省略しないでください。 例:
$ openssl req -out server.csr -newkey rsa:2048 -nodes -keyout server.key -config san.cnf Generating a 2048 bit RSA private key ......................+++ ...............................+++ writing new private key to 'private.key' ----- 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) []:AA State or Province Name (full name) []:BB Locality Name (eg, city) []:CC Organization Name (eg, company) []:Example Common Name (e.g. server FQDN or YOUR name) []:appcenter.example.com
パスワードやパスフレーズを入力する必要はありません。 このオプションフィールドは、鍵ペアに追加のセキュリティを適用するためのものです。 - 認証局にserver.csrを提供して、署名済み証明書を取得します。 認証局からルート証明書と中間証明書を取得していることを確認します。証明書は次の順序である必要があります。
-----BEGIN MY CERTIFICATE----- -----END MY CERTIFICATE----- -----BEGIN INTERMEDIATE CERTIFICATE----- -----END INTERMEDIATE CERTIFICATE----- -----BEGIN ROOT CERTIFICATE----- -----END ROOT CERTIFICATE-----
- 認証局から受け取った証明書の名前をtls.crtに変更します。
- 以前に生成されたserver.keyの名前をtls.keyに変更します。
- 証明書に適切な権限があることを確認します。
$ chmod 400 tls.key
$ chmod 400 tls.crt
- tls.crtおよびtls.keyをAPPCTL_HOMEディレクトリにコピーます。
$ cp tls.crt $APPCTL_HOME $ cp tls.key $APPCTL_HOME