原文阅读:https://www.infinisign.com/fa...
本文主要介绍如何在Microsoft Exchange 2010中安装由权威机构(以下简称CA)签发的证书,如果是自签名证书请参考微软官方自签名证书文档,同Web应用服务器一样,如果是多台服务器的Exchange需要在每一台上都安装此证书。
一、准备
1. 签发证书
签发证书也就是经过CA验证过域名或者企业信息后所签发的域名证书,例如邮件服务器会使用 smtp.yourdomain.com 作为邮件发件服务器地址,那么该证书验证的域名就是 smtp.yourdomain.com,而smtps协议只是smtp的一个延伸,在应用层和smtp是一样的,smtps使用的是465端口。
2. 中级证书
一个完整的证书链应该由证书 + 中级证书A + 中级证书B + ... +根证书构成,所以通常,由CA签发的证书压缩包中会有1个或者多个中级证书,另外多家CA的中级证书在官网上有下载,关于合并中级证书请参考:SSL证书链不完整导致浏览器不受信任
3. 私钥
私钥通常是在准备CSR证书请求文件时生成,使用openSSL生成存在CSR文件的同级目录中 - 生成CSR证书请求文件 ,使用在线工具会将随机生成的私钥+CSR发送到邮箱中,使用IIS生成CSR要求在完成证书请求后提取私钥 - SSL/TLS多种证书类型的转换。
此外Exchange也和IIS一样提供新建证书请求和完成证书请求一样的功能。
二、安装步骤
1. Exchange管理控制台中导入证书
开始菜单中打开Exchange 管理控制台 - 服务器配置 - 导入Exchange证书,选择签发的pfx格式证书,或者普通的x.509格式证书转换为pfx证书 - SSL/TLS多种证书类型的转换,输入pfx证书密码,完成导入证书。
注意:本文使用的是合并后的pfx证书,
2. 服务器配置
点击数据库管理,选择服务器配置 - 右键点击导入的证书 - 为证书分配服务 - 选择指定的服务(Internet邮件访问协议、邮局协议、简单邮件传输协议、Internet信息服务)。
点击下一步 - 分配 - 如果提示是否覆盖SMTP就点击是 - 完成,即可完成证书分配服务。
三、使用Exchange生成CSR请求文件和完成证书安装
上述建立在既有的pfx证书前提下进行的导入证书并配置服务,而Exchange 2010也和IIS一样,具备新建证书请求 和 完成证书请求功能。此举可以代替openSSL和IIS的制作证书过程。
1. 新建证书请求
打开 Exchange管理控制台 - 新建 Exchange 证书
在域范围页中,如果希望制作通配符证书可以启用此项,如果非通配符证书在下一步进行子域名设置,选择下一步。
2. 填写CSR证书请求文件信息
和其它CSR制作一样,设定通用名称为一个子域名,例如 smtp.yourdomain.com,然后填写组织、单位等信息、邮箱等信息点击完成,这样就完成了整个证书请求文件的生成。此时私钥也一并生成,将此CSR文件提交给[email protected]申请证书。
3. 完成证书安装
CA签发证书后,在Exchange管理控制台中点击完成等待请求,选择签发的证书,点击完成也完成了证书导入工作。
注意:Exchange 2010有时会提示错误信息The source data is corrupted or not properly Base64 encoded.
通常这是自签名证书引起,尝试重新制作CSR。
四、Exchange 命令行管理程序进行安装
你可以使用Exchange 命令行管理程序进行安装由CA签发的证书,具体命令如下:
1. 导入pfx证书
Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\your_domain_name.p7b -Encoding byte -ReadCount 0)) | Enable-ExchangeCertificate -Services SMTP
2. 使用Exchange新建证书过程
Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\your_domain_name.cer -Encoding Byte -ReadCount 0)) | Enable-ExchangeCertificate -Services SMTP
注意:注意SMTP可以修改为 "IIS,POP,IMAP,SMTP"支持多个选项
Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\your_domain_name.cer -Encoding Byte -ReadCount 0)) | Enable-ExchangeCertificate -Services "IIS,POP,IMAP,SMTP"