Certificate SAN cu OpenSSL din linie de comanda

Pentru că browserele moderne au nevoie să fie definit câmpul SAN (Subject Alternative Name) în certificatele cu care se prezintă site-urile (altfel dau erori), oferim mai jos o metodă de a crea un CSR (Certificate Signing Request) și una de a crea un certificat autosemnat, ambele dintr-o singură linie de comandă, fără a crea fișiere speciale de configurare pentru OpenSSL și indiferent de versiunea acestui pachet.

Creare CSR cu SAN prin OpenSSL

openssl req -new -newkey rsa:4096 -nodes -keyout example.key -out example.csr \
   -subj '/C=RO/ST=BU/L=Bucharest/O=MyCompany/CN=example.ro/[email protected]' \
   -config <(echo '[req]'; echo 'distinguished_name=req'; echo 'req_extensions=san';
                   echo '[san]'; echo 'subjectAltName=DNS:example.ro,DNS:www.example.ro')

Puteți testa rezultatul folosind comanda

openssl req -in example.csr -noout -text

Creare certificat autosemnat cu SAN prin OpenSSL

openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes -extensions san -keyout example.key -out example.crt \
  -subj '/C=RO/ST=BU/L=Bucharest/O=MyCompany/CN=example.ro/[email protected]' \
  -config <(echo '[req]'; echo 'distinguished_name=req';
                  echo '[san]'; echo 'subjectAltName=DNS:example.ro,DNS:www.example.ro')

Puteți testa rezultatul folosind comanda

openssl x509 -noout -text -in example.crt