bg-tutorials

如何在Office 365上安装SSL证书

本教程介绍如何为 Microsoft 365 (Office 365) 安装 SSL 证书。最重要的一点先说明:您无法也不能将 SSL 证书上传到 Microsoft 365 云本身。Microsoft 负责管理 Exchange Online、SharePoint Online 以及其他托管服务的 TLS。您只能在连接到 Microsoft 365 或与其协同运行的服务器、应用和网关上管理商业证书。以下各节将涵盖实际适用的三种场景。

生成 CSR 代码

CSR(证书签名请求)是一段编码文本,包含您在申请过程中提交给证书颁发机构的联系信息和域名详情。只有在您需要安装自己的证书(Exchange Server 或 Azure)的场景中才需要生成 CSR。对于 Exchange Online 强制 TLS 连接器,您不需要生成 CSR,因为您这一侧不上传任何证书。

您有两种选择:

在下单时将 CSR 提交给证书颁发机构。CA 验证 CSR 并签发证书后(通常以包含私钥和证书链的 .pfx 包形式提供),请继续参考下方对应的章节。

为 Microsoft 365 安装 SSL 证书

重要提示:您无法将 SSL 证书安装到 Exchange Online 或 SharePoint Online 等 Microsoft 365 云服务中。Microsoft 会自动处理这些服务的 TLS,云端不允许手动上传证书。您只能在自己拥有的服务器、应用或网关上安装和管理证书,这些设备需连接到或与 Microsoft 365 协同工作。

本指南涵盖 Microsoft 365 环境中商业证书的三种常见使用场景:

  • 启用强制 SSL/TLS 的 Exchange Online(连接器,无需上传证书)
  • 本地部署或混合部署的 Exchange Server
  • Azure 托管的网络应用或服务

场景一:Exchange Online,与合作伙伴强制启用 SSL/TLS(无需上传证书)

如果您仅使用 Exchange Online,并希望通过可信的外部服务器(例如合作机构、遗留系统或多功能打印机)保护邮件流,可以通过连接器强制启用 TLS。您不需要上传证书,而是要求对方提供有效的、经公开信任的证书。

在 Microsoft 365 邮件流中设置强制 TLS 的步骤

  1. 使用具有邮件流权限的账户登录Exchange 管理中心
  2. 在左侧面板中,依次进入邮件流连接器
  3. 点击添加连接器。对于从合作伙伴发往 Microsoft 365 的邮件,将连接方向设为从:合作机构到:Microsoft 365。(对于发往合作伙伴的出站邮件,方向相反:从:Microsoft 365到:合作机构。)
  4. 点击下一步并按照向导操作。
  5. 在安全限制步骤中,选择如果邮件未通过 TLS 发送则拒绝,以强制要求使用 TLS。
  6. 如需将连接限定到特定证书,请选择并要求合作伙伴用于向 Office 365 认证的证书上的主题名称与此域名匹配,然后输入合作伙伴的域名(例如 mail.partnerdomain.com)。
  7. 完成向导并验证连接器。

注意:Microsoft 要求您在安全步骤中至少选择一项限制条件——上文中的 TLS 和域名匹配选项,或基于合作伙伴 IP 地址范围的限制。若未选择任何限制条件,向导将无法完成连接器设置。此外,外部服务器必须提供 Microsoft 365 信任的有效公共 SSL/TLS 证书,即由商业 CA 签发的证书。自签名证书将无法通过验证。

场景二:本地部署的 Exchange Server,安装并分配证书

如果您运行 Exchange Server 2016、2019 或订阅版(SE),或采用与 Microsoft 365 的混合部署方式,则需要在本地服务器上安装证书。在混合配置中,Exchange 证书必须是来自受信任 CA 的有效第三方证书,否则本地与 Exchange Online 之间的邮件流将中断。

前提条件

  • 包含证书、私钥和中间链的 .pfx 文件。
  • .pfx 文件的密码,妥善保存。

PowerShell 方法(Exchange 管理 Shell)

PowerShell 适用于所有受支持的 Exchange 版本,这也是本文选用此方法的原因(关于何时也可以使用 Exchange 管理中心完成此操作,请参阅以下步骤后的说明)。以管理员身份运行 Exchange 管理 Shell,并将文件路径、密码和指纹替换为您自己的值。

1. 定义证书文件的路径:

$file = "\servershareyourdomain.pfx"

2. 安全地输入密码(系统会提示您输入,且该值不会显示在屏幕上):

$pwd = Read-Host -AsSecureString

3. 导入证书:

Import-ExchangeCertificate -FileData ([IO.File]::ReadAllBytes($file)) -Password $pwd

4. 查找证书指纹,然后将证书分配给所需的服务:

Get-ExchangeCertificate | FL Thumbprint, Subject
Enable-ExchangeCertificate -Thumbprint <YourThumbprintHere> -Services IIS,SMTP

仅分配证书所针对的服务(常见值包括 IISSMTPPOPIMAP)。当系统提示是否覆盖默认的 SMTP 证书时,只有在确实需要时才确认。

关于 Exchange 管理中心的说明:许多指南通过 EAC 图形界面(服务器然后证书)导入证书。该功能的可用性取决于您的版本。从 Exchange Server 2019 CU12 和 Exchange Server 2016 CU23 开始,Microsoft 出于安全原因移除了 EAC 中的证书导入、导出、请求、完成和续期功能。Microsoft 后来在 Exchange Server 2019 CU15 中恢复了这些功能,并且在 Exchange Server 订阅版(SE)中也提供该功能。因此,根据您运行的版本,EAC 向导可能可用也可能不可用,但上述 PowerShell 步骤适用于所有受支持的版本,这也是本文选用该方法的原因。

场景三:Azure App Service,上传并绑定证书

如果您在 Azure App Service 上托管连接到 Microsoft 365 的网站或应用程序(例如客户门户、SSO 端点或 Webhook 接收器),则需要在 Azure 中安装证书并将其绑定到自定义域名。

  1. 打开Azure 门户并进入您的App Service
  2. 在左侧菜单中打开证书(较旧版本的门户中该选项标记为TLS/SSL 设置)。
  3. 自带证书 (.pfx)下,点击添加证书并上传您的 .pfx 文件,然后输入其密码。
  4. 进入自定义域并选择您的域名。
  5. TLS/SSL 绑定(或SSL 绑定)下,点击添加绑定
  6. 选择您上传的证书,大多数应用选择SNI SSL,然后确认绑定。

Azure 要求证书具备扩展密钥用途中的服务器身份验证(OID 1.3.6.1.5.5.7.3.1)。每个有效的商业 SSL 证书默认都包含此项。

给管理员和开发人员的提示

  • 只在您自己控制的端点上安装证书。Microsoft 365 云不允许手动安装证书。
  • 所有证书都必须来自公开受信任的证书颁发机构。自签名证书在这些场景中将无法生效。
  • 在 Windows、IIS、Exchange 和 Azure 中使用 .pfx 文件,而不是单独导入 .crt.pem,因为 .pfx 文件将私钥和证书链一起打包。
  • .pfx 中包含完整的证书链(中间证书,以及必要时的根证书),以便客户端能够建立完整的信任路径。

测试您的 SSL 安装

在 Exchange Server 或 Azure 应用上安装证书后,请在浏览器中打开相关 URL,检查锁形图标及证书详情。即使一切看起来都正常,也建议运行一次完整扫描,以发现潜在的证书链或协议问题。我们的SSL Checker可立即为您的证书状态生成报告。对于与邮件相关的配置,您还可以通过查看 Exchange 管理中心中的连接器和邮件跟踪结果来确认加密传输是否正常。

常见问题

我需要在 Office 365 上安装 SSL 证书吗?

不需要。Microsoft 365 云(Exchange Online、SharePoint Online、Teams)已经通过 TLS 得到保护,Microsoft 会为您配置并续期这些证书。只有当您自己运行连接到该服务的端点时,例如本地部署或混合部署的 Exchange Server,或是 Azure 上的网络应用,才需要购买并安装商业证书。云服务本身没有任何需要上传的内容。

Office 365 使用 SSL 还是 TLS?

它使用 TLS(传输层安全协议)来加密客户端与服务器之间的通信。较旧的 SSL 协议已被弃用,不再使用。人们出于习惯仍称其为“SSL 证书”,但实际使用的是标准的 TLS 证书。

如何在 Microsoft 365 中强制启用邮件流的 TLS?

在 Exchange 管理中心中,依次进入邮件流连接器,为合作方向添加连接器,并在安全步骤中选择如果邮件未通过 TLS 发送则拒绝。如需将连接限定到特定证书,还可要求合作伙伴证书的主题名称与其域名匹配。您这一侧不需要上传任何证书;您只是要求对方使用 TLS。

在哪里可以找到分配给我的 Exchange Server 的证书?

在 Exchange 服务器上运行 Exchange 管理 Shell,使用 Get-ExchangeCertificate | FL Thumbprint, Subject, Services 列出已安装的证书。此命令会显示每个证书、其指纹以及为其启用的服务。对于绑定到单独 IIS 站点的证书,请打开Internet 信息服务 (IIS) 管理器,选择服务器,然后双击服务器证书

我可以在 Exchange 管理中心导入我的 Exchange 证书吗?

这取决于您的版本。Microsoft 在 Exchange Server 2019 CU12 和 Exchange Server 2016 CU23 中移除了 Exchange 管理中心的证书导入、导出、请求、完成和续期功能,以修复一个安全隐患,随后在 Exchange Server 2019 CU15 和 Exchange Server 订阅版(SE)中恢复了这些功能。如果您的版本没有显示该选项,或者您只是想使用一种在所有版本中都通用的方法,可以改用 Exchange 管理 Shell:使用 Import-ExchangeCertificate 导入证书,并使用 Enable-ExchangeCertificate 分配服务,如上文所示。

Exchange 或 Azure 需要什么证书格式?

使用将证书、私钥和中间链打包在一起的 .pfx(PKCS#12)文件。Exchange Server 和 Azure App Service 都可以直接导入 .pfx 文件并要求输入其密码。不含私钥的单独 .crt.pem 文件无法满足这些安装的要求。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.