私はWeb開発者であり、自己署名SSL証明書を使用してローカルでWebサイトをテストしたいと考えています。数日前、chromeがAltName
プロパティの不足について不平を言うようになるまでは、すべてがうまく機能していました。
私は以下を使用して自分の権限を作成しました:
openssl req
-x509
-sha256
-new
-out dev.root.ca.crt
-keyout dev.root.ca.key
-days 3650
これらの値をデフォルトの値に追加して、openssl.cnf
ファイルを作成しました。
[ CA_default ]
copy_extensions = copy
[req]
req_extensions = v3_req
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = $ENV::ALTNAME
次に、このコマンドを使用して.csr
および.key
ファイルを生成します。
set ALTNAME=DNS:dev.example.com
openssl req
-newkey rsa:2048
-out dev.example.com.csr
-pubkey
-new
-keyout dev.example.com.key
-sha256
-config openssl.cnf
生成されたcsr
ファイルには、予想どおり代替名が含まれています。
次に、このコマンドを使用して.crt
および.key
ファイルを生成します。
openssl x509
-req
-in dev.example.com.csr
-CA dev.root.ca.crt
-CAkey dev.root.ca.key
-CAcreateserial
-out dev.example.com.crt
-days 3650
-sha256
ただし、生成されたcrt
ファイルに代替名は表示されなくなりました。
openssl x509 -req
コマンドにパラメーターを追加する必要がありますか?
以下を含むopenssl-ext.cnf
ファイルを追加しました:
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = $ENV::ALTNAME
そして、その新しい設定ファイルをopensslコマンドに追加しました -extfile
パラメータを使用 :
openssl x509
-req
-in dev.example.com.csr
-CA dev.root.ca.crt
-CAkey dev.root.ca.key
-CAcreateserial
-out dev.example.com.crt
-days 3650
-sha256
-extfile openssl-ext.cnf