Know about SAN Certificate and How to Create With OpenSSL

Reduce SSL cost and maintenance by using a single certificate for multiple websites using SAN certificate

SAN stands for “Subject Alternative Names” and this helps you to have a single certificate for multiple CN (Common Name).

You might be thinking this is wildcard SSL but let me tell you – it’s slightly different. In the SAN certificate, you can have multiple complete CN.


I can have above all and much more in a just single certificate. This means I just have to buy one cert and use in multiple URLs.

Sounds interesting?

The creation of CSR for SAN is slightly different than traditional OpenSSL command and will explain in a while how to generate CSR for Subject Alternative Names SSL certificate.

Let’s take a look at a real-time example of, which has many SAN in a single certificate.


As you can see the above example – if you are managing multiple https URL, you may consider consolidating into single SSL Cert with SAN and save thousands of dollars.

What do you think about this?

Procedure to create CSR with SAN

[ req ]  default_bits       = 2048  distinguished_name = req_distinguished_name  req_extensions     = req_ext  [ req_distinguished_name ]  countryName                 = Country Name (2 letter code)  stateOrProvinceName         = State or Province Name (full name)  localityName               = Locality Name (eg, city)  organizationName           = Organization Name (eg, company)  commonName                 = Common Name (e.g. server FQDN or YOUR name)  [ req_ext ]  subjectAltName = @alt_names  [alt_names]  DNS.1   =  DNS.2   =  DNS.3   =

Note: alt_names section is the one you have to change for additional DNS.

openssl req -out sslcert.csr -newkey rsa:2048 -nodes -keyout private.key -config san.cnf

This will create sslcert.csr and private.key in the present working directory. You have to send sslcert.csr to certificate signer authority so they can provide you a certificate with SAN.

How to verify CSR for SAN?

It will be a good idea to check if your CSR contains the SAN, which you specified above in san.cnf file.

openssl req -noout -text -in sslcert.csr | grep DNS


[[email protected] test]# openssl req -noout -text -in sslcert.csr | grep DNS       ,,  [[email protected] test]#

Once you are happy with the CSR, you can send it to your certificate authority to sign the certificate. Alternatively, you can buy from SSL Store.

Enjoyed reading the article? How about sharing with the world?