Https
如何使用一個 SSL 證書保護根域和萬用字元子域?
我正在嘗試生成一個自簽名 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 是否正確合併到證書中?