Https

如何使用一個 SSL 證書保護根域和萬用字元子域?

  • September 30, 2012

我正在嘗試生成一個自簽名 SSL 證書來保護example.com*.example.com. 看看這個這個問題的答案,似乎有相同數量的人同意和不同意是否可以這樣做。但是,來自認證機構的網站似乎表明可以這樣做。

目前,這些是添加到我的 openssl 配置文件中的更改:

[req]
req_extensions = v3_req

[req_distinguished_name]
commonName = example.com

[v3_req]
subjectAltName = @alt_names

[alt_names]
DNS.1 = example.com
DNS.2 = *.example.com

我嘗試了上述配置並生成了證書。導航到 時https://example.com,它會產生通常的警告,即證書是“自簽名”的。接受後,我導航到https://abc.example.com並產生一個額外的警告,說證書只對example.com.

證書詳細資訊僅在證書層次結構中列出example.com,沒有任何萬用字元子域的跡象。

我不確定這是否是由於配置錯誤或公用名應該有萬用字元或無法做到這一點。

進一步更新:

這是我通過使用 openssl 查看證書請求得到的:

# openssl req -text -noout -in eg.csr
Certificate Request:
Data:
 Version: 0 (0x0)
 Subject: C=xx, L=Location, O=Example Pte Ltd, CN=example.com/emailAddress=admin@example.com
 Subject Public Key Info:
 Public Key Algorithm: rsaEncryption
 Public-Key: (1024 bit)
 Modulus:
  00:c1:c7:0d:7e:b7:48:d3:b8:9a:5a:88:db:c2:91:
  ...
 Exponent: 65537 (0x10001)
 Attributes:
 Requested Extensions:
  X509v3 Basic Constraints: 
   CA:FALSE
  X509v3 Key Usage: 
   Digital Signature, Non Repudiation, Key Encipherment
  X509v3 Subject Alternative Name: 
   DNS:example.com, DNS:*.example.com
 Signature Algorithm: sha1WithRSAEncryption
  4d:4a:8a:d9:32:e2:31:c5:6c:8c:6a:2a:a6:c3:17:63:dd:a4:
  ...

這就是我通過查看證書得到的:

# openssl x509 -in eg.crt -noout -text
Certificate:
Data:
 Version: 1 (0x0)
 Serial Number:
  d0:9e:b3:d5:83:b5:a1:0d
 Signature Algorithm: sha1WithRSAEncryption
 Issuer: C=xx, L=Location, O=Example Pte Ltd, CN=example.com/emailAddress=admin@example.com
 Validity
  Not Before: Sep 30 10:16:34 2012 GMT
  Not After : Sep 30 10:16:34 2013 GMT
 Subject: C=xx, L=Location, O=Example Pte Ltd, CN=example.com/emailAddress=admin@example.com
 Subject Public Key Info:
  Public Key Algorithm: rsaEncryption
  Public-Key: (1024 bit)
  Modulus:
   00:c1:c7:0d:7e:b7:48:d3:b8:9a:5a:88:db:c2:91:
   ...
 Exponent: 65537 (0x10001)
 Signature Algorithm: sha1WithRSAEncryption
  3d:98:0d:f1:1b:06:27:63:09:14:4d:41:37:49:eb:70:15:1c:
  ...

通過瀏覽器查看時,證書欄位應該包含主題備用名稱的副檔名。但它不在那裡。如果確實可以實現,我想在生成證書時可能會出現一些問題。

是的,它工作得很好。您通常會在公共證書頒發機構頒發的萬用字元中將萬用字元視為證書的主題,將基域作為主題備用名稱,但我相信相反的安排也適用。

查看您生成的證書 - alt_names 是否正確合併到證書中?

引用自:https://serverfault.com/questions/433367