(図解+詳しく)複数VirtualHostの構成とマッチング動作 - 朝から昼寝 2022
Apache 自己署名証明書
server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
www.example.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
暗号化されていない秘密キーをprikey.pemに書き込み、証明書をcert.pemに書き込んで、365日間有効な自己署名X.509証明書を作成します。
# openssl req -x509 -nodes -days 365 -subj '/C=US/ST=Ca/L=Sunnydale/CN=www.unserdom.com' \ -newkey rsa:1024 -keyout prikey.pem -out cert.pemhttps://docs.oracle.com/cd/E39368_01/security/ol_openssl_sec.html
上記のように1行コマンドで秘密キー、証明書を作成すると、証明書の X509v3 extensions: に
X509v3 Basic Constraints: critical
CA:TRUE
が含まれる。これが警告の原因
回避方法
openssl genrsa -out selfsigned.key 3072 openssl req -new -out selfsigned.csr -sha256 -key selfsigned.key -subj '/CN=www.example.com' openssl x509 -req -in selfsigned.csr -days 365 -signkey selfsigned.key -out selfsigned.crt -outform PEM
vhost CNがIPの証明書
192.168.0.1:443:0 server certificate does NOT include an ID which matches the server name
回避方法
cat <<'EOS' > sans.txt subjectAltName = IP:192.168.0.1 EOS openssl genrsa -out selfsigned.key 3072 openssl req -new -out selfsigned.csr -sha256 -key selfsigned.key -subj '/CN=192.168.0.1' openssl x509 -req -in selfsigned.csr -days 365 -signkey selfsigned.key -out selfsigned.crt -outform PEM -extfile sans.txt
サーバ名がIPアドレスの場合の証明書作成 / サブジェクト代替名 (SAN) の設定方法 | 晴耕雨読 2022
IPアドレスでアクセスする場合やマルチドメイン用のSSL証明書の場合は、証明書検証時に Subject Alternative Name (SAN) もチェックされるのでこれを含む証明書を作成する必要がある。
サーバ名がIPアドレスの場合のSSL証明書作成 - 闘うITエンジニアの覚え書き