Er det mulig å gi en subjectAltName-Extension til OpenSSL-modulen req
direkte på kommandolinjen?
Jeg vet at det er mulig via en openssl.cnf-fil, men det er ikke særlig elegant for batch-oppretting av CSR-er.
Min løsning var å overføre subjectAltName
via en miljøvariabel.
Først må denne legges til i openssl.conf
:
[ san_env ]
subjectAltName=${ENV::SAN}
Sett deretter miljøvariabelen før du starter openssl:
export SAN=DNS:value1,DNS:value2
openssl req -extensions san_env -subj '/CN=value1' ...
Merk: Parameteren -extensions san_env
må være til stede både når CSR-en signeres og når den genereres. For CA-signerte CSR-er må du derfor også legge til -extensions san_env
i openssl ca
-kommandoen.
Det andre innlegget i denne lenken sier at det ikke er mulig å gjøre det bare fra kommandolinjen, men det fjerde innlegget i samme lenke gir en løsning ved hjelp av bash's evne til å referere til data som om de var i en fil.
Da jeg så nærmere på det, var det noen som nevnte parameteren reqexts som brukes til å gjøre tillegg til sertifikatforespørsler. Denne bloggen bruker bash's env som en tilnærming til dette.
Men jeg prøver bare å hjelpe. Jeg har ikke testet noe av dette selv.