生成IIS、Exchange支持的多域名證書

有時候我們需要使用多域名證書,比如Exchange Server的服務(wù)它是只能使用一個證書的,當(dāng)它為多個域名提供郵件服務(wù)的時候,這個證書就需要是多域名的,不然證書沒包含的域名的用戶連接服務(wù)器的時候會報證書域名不符的安全警告。

圖1. 證書域名不符警告

直接在證書提供商網(wǎng)站生成的證書是不能用在IIS和Exchange Server的,因?yàn)樗狈λ借€。即使證書導(dǎo)入了IIS,它也會很快消失。
對于單域名的情況,只需要我們在本地生成證書申請文件就可以了,使用IIS或者Exchange Server生成證書生成請求,如下文所示即可:
解決GoDaddy SSL證書導(dǎo)入IIS后消失的問題 - 簡書
然而對于多域名的情況,方法不同,使用如下辦法:

  1. 在需要安裝證書的電腦上,使用記事本,輸入如下內(nèi)容(記得主域名和結(jié)尾多域名處改成自己的內(nèi)容,注意最后一個域名結(jié)尾沒有&符號)然后以ANSI編碼保存成request.inf文件
[Version]
Signature="$Windows NT$"

[NewRequest]
; 核心設(shè)置(Core settings)
Subject = "CN=mydomain.com"    ; 主域名 (Primary domain)
KeySpec = 1
KeyLength = 2048
Exportable = TRUE                   ; 指定私鑰可導(dǎo)出 (Make private key exportable)
MachineKeySet = TRUE                ; 私鑰保存在計算機(jī)密鑰庫 (Store key in machine key store)
SMIME = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
HashAlgorithm = sha256

[Extensions]
; 多域名擴(kuò)展:請根據(jù)需要添加更多 DNS 別名 (Subject Alternative Name, SAN)
2.5.29.17 = "{text}"
_continue_ = "dns=mail.a.com&"
_continue_ = "dns=mail.b.org&"
_continue_ = "dns=mail.c.com&"
_continue_ = "dns=mail.d.com"

  1. 以管理員權(quán)限運(yùn)行命令提示符或者PowerShell,切換到上述文件保存的路徑,運(yùn)行命令:
certreq -new request.inf request.csr

這時候會在該目錄下生成request.csr文件。

  1. 使用上面生成的CSR文件的內(nèi)容到證書提供商處生成新的證書,下載生成的證書后,會取得一個證書提供商提供的cer或者crt文件,將之放置到剛才我們生成CSR文件相同的目錄下,切換到第二步用過的命令行環(huán)境,運(yùn)行如下命令來安裝證書:
certreq -accept cert_file_name.crt

如果命令幾秒后無錯誤地完成了,那么證明成功了,在Exchange Server或者IIS里應(yīng)該能看到這個證書了。

  1. 以管理員權(quán)限運(yùn)行certlm.msc,默認(rèn)的證書安裝路徑在Personal->Certificates下面,找到它,如下圖所示的證書圖標(biāo)左上角帶一把小鑰匙圖標(biāo)的這種,就是帶私鑰的證書了。
    圖2. 帶私鑰的證書圖標(biāo)示例

    點(diǎn)右鍵按提示就可以導(dǎo)出帶私鑰的PFX格式的證書了,這種格式的證書就可以到處安裝了,不過注意安全,并不主張導(dǎo)出私鑰。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容