openssl
構成ファイルに触れることなく、SAN(サブジェクト代替名)を使用してX509証明書を作成することは可能ですか?
そのトピックについてGoogleを検索するときに見つけたすべての例(ここやここなど)は、構成ファイルを調整または作成する必要があると主張しています。
これは、たとえばコマンドラインスイッチを使用してSANを要求されなくても機能しますか?
このドキュメントで説明されている解決策は、環境変数を使用して、構成ファイルを1回だけ変更する必要があることです。次に例を示します。
[ v3_req ]
subjectAltName=$ENV::ALTNAME
この構成ファイルはグローバルである必要はないことに注意してください。ローカルのOpenSSL構成ファイルを使用することもできます。たとえば、OPENSSL_CONF
環境変数(または-config
オプション)を使用すると、次のようになります。
export OPENSSL_CONF=./openssl.cnf
export ALTNAME="DNS:my.host.name,IP:10.0.0.1"
openssl req -new -x509 -key myhost-key.pem -out myhost-cert.pem -days 365