タイトル

執筆:2024.04.20
編集:2024.04.20


自己証明書を作成するコマンド

openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 365 \
-nodes \
-out server.crt \
-keyout server.key \
-subj "/C=JP/CN=localhost" \
-addext "subjectAltName = DNS:localhost,DNS:*.internal,IP:192.168.1.1,IP:192.168.1.2"

太字を変更すればそのまま使えると思います。
IPアドレスは範囲指定はできないので一個ずつ指定します。
大量に指定する場合は、スクリプト等でテキスト形式で事前に準備したほうがいいと思います

細かい調整が必要な場合は、-subj に追加します.
/O=組織名

IPLIST=$(for i in {0..29}; do echo -n "IP:192.168.1.$i,"; done | sed 's/,$//')
IPLIST=$IPLIST,$(for i in {1..1}; do echo -n "IP:127.0.0.$i,"; done | sed 's/,$//')
#IPLIST=$IPLIST,IP:[::1]
...

#EXPIREDATE=2099-12-31
EXPIREDATE=$(date -d "1 years - 1days" '+%Y-%m-%d')
 PARAM_DAYS=$(( ( $(date -d $EXPIREDATE +%s) - $(date +%s) ) / 86400 +1 ))
#PARAM_DAYS=365

openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days $PARAM_DAYS \
-nodes \
-out server.crt \
-keyout server.key \
-subj "/C=JP/O=組織名/CN=localhost" \
-addext "subjectAltName = DNS:localhost,DNS:*.internal,$IPLIST"

» 続きを読む