了解什么是SAN证书以及如何使用OpenSSL创建

通过使用SAN证书,可以为多个网站使用单个证书来降低SSL成本和维护成本

SAN代表“Subject Alternative Names”,这有助于您为多个CN(通用名称)拥有单个证书。

你可能会认为这与wildcard SSL相同,但请让我告诉你-它略有不同。在SAN证书中,您可以拥有多个完整的 CN。

例子:

  • yaoweibin.com
  • gf.dev
  • siterelic.com
  • chandan.io

我可以在一个单独的证书中拥有以上所有和更多。这意味着我只需buy one cert并在多个URL中使用。

听起来很有趣吗?

为SAN创建CSR的过程与传统的OpenSSL command略有不同,稍后将解释如何为Subject Alternative Names SSL证书生成CSR。

让我们看一个实时示例,skype.com在一个单一证书中有多个SAN。

如上例所示-如果您管理多个https URL,您可以考虑将其合并为一个带有SAN的单个SSL证书,并节省数千美元。

您对此有何看法?

创建带有SAN的CSR的步骤

  • 登录到已安装有OpenSSL的服务器
  • 进入 /tmp 或创建任意目录
  • 使用vi(如果在Unix上)创建一个名为san.cnf的文件,并填入以下信息
[ 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   = bestflare.com
DNS.2   = usefulread.com
DNS.3   = chandank.com

注意:alt_names部分是您需要改变以添加额外DNS的部分。

  • 保存文件并执行以下OpenSSL命令,将生成CSR和KEY文件
openssl req -out sslcert.csr -newkey rsa:2048 -nodes -keyout private.key -config san.cnf

这将在当前工作目录中创建sslcert.csrprivate.key文件。您需要将sslcert.csr发送给证书签发机构,以便他们可以为您提供带有SAN的证书。

如何验证带有SAN的CSR?

检查您的CSR是否包含在san.cnf文件中指定的SAN可能是个好主意。

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

例如:

[root@Chandan test]# openssl req -noout -text -in sslcert.csr | grep DNS
               DNS:bestflare.com, DNS:usefulread.com, DNS:chandank.com
[root@Chandan test]#

一旦您对CSR满意,您可以将其发送给您的证书颁发机构以签署证书。或者,您可以从SSL Store处购买。

类似文章