OpenSSL req
modülüne doğrudan komut satırında bir subjectAltName-Extension sağlamak mümkün müdür?
Bir openssl.cnf dosyası aracılığıyla bunun mümkün olduğunu biliyorum, ancak bu CSR'lerin toplu olarak oluşturulması için gerçekten zarif değil.
Benim çözümüm subjectAltName
i bir ortam değişkeni aracılığıyla aktarmaktı.
Öncelikle bunu openssl.conf
dosyasına ekleyin:
[ san_env ]
subjectAltName=${ENV::SAN}
Ardından openssl'i çağırmadan önce ortam değişkenini ayarlayın:
export SAN=DNS:value1,DNS:value2
openssl req -extensions san_env -subj '/CN=value1' ...
Not: -extensions san_env
parametresinin CSR imzalanırken ve oluşturulurken mevcut olması gerekir. Bu nedenle, CA imzalı CSR'ler için openssl ca
komutuna -extensions san_env
parametresini de ekleyin.
Bu link'deki 2. yazı, bunu sadece komut satırından yapmanın mümkün olmadığını söylüyor, ancak aynı linkteki 4. yazı, bash'ın verileri bir dosyadaymış gibi referans verme yeteneğini kullanarak geçici bir çözüm sunuyor.
Konuyu daha ayrıntılı inceleyen biri, sertifika talebine eklemeler yapmak için kullanılan reqexts parametresinden bahsetti. Bu blog bash'ın env parametresini buna bir yaklaşım olarak kullanmaktadır.
Ama ben sadece yardım etmeye çalışıyorum. Bunların hiçbirini kendim test etmedim.