SubjectAltName
このアイテムを追加/変更するとわかります。openssl.cnf
実現できるしかし、毎回ファイルを変更せずにこれを行う方法はありますか?
答え1
openssl.cnf
何らかの方法でファイルを台無しにする必要はありません。
次のコマンドは、SANを使用して電子メールの自己署名証明書を生成する方法を示しています[email protected]
。
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
-keyout example.key -out example.crt -subj '/CN=Nobody' \
-extensions san \
-config <(echo '[req]'; echo 'distinguished_name=req';
echo '[san]'; echo 'subjectAltName=email:[email protected]')
ここでの秘密は、OpenSSLがデフォルトファイルなしで実行される[req]
のに十分な最小限のセクションを含むことです。openssl.cnf
OpenSSL≥1.1.1では、次のように短縮できます。
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
-keyout example.key -out example.crt -subj '/CN=Nobody' \
-addext 'subjectAltName=email:[email protected]'
ここでは新しいオプションを使用するため、これ以上-addext
必要はありません。-extensions
-config
生成された証明書の内容を確認することを忘れないでください。
openssl x509 -noout -text -in example.crt
また見なさい:https://security.stackexchange.com/a/198409/133603そしてhttps://stackoverflow.com/a/41366949/19163
答え2
上部にopenssl.cnf
項目を追加し(SAN = "email:copy"
環境変数が設定されていない場合はデフォルト値を含む)、そのセクションで使用してください。ここで、ベースアドレスも使用していることを確認してください。 (で適応SAN
SubjectAltName = ${ENV::SAN}
SAN="email:copy, email:adress@two" openssl ...
email:copy
ここ)