Product Documentation

适用于 Secure Mail 的 S/MIME

2018 年 6 月 4 日

Secure Mail 支持安全/多用途 Internet 邮件扩展 (S/MIME),让用户可以对邮件进行签名和加密,以提高安全性。签名可向收件人确保邮件是由已识别的发件人(而非冒充者)发送的。启用加密后,将仅允许具有兼容证书的收件人打开邮件。

有关 S/MIME 的详细信息,请参阅 Microsoft TechNet。

在下表中,X 指示 Secure Mail 在设备操作系统中支持 S/MIME 功能。

S/MIME 功能 iOS Android
数字身份提供程序集成: 您可以将 Secure Mail 与受支持的第三方数字身份提供程序集成。您的身份提供程序主机向用户设备上的身份提供程序应用程序提供证书。该应用程序将证书发送到 XenMobile 共享保管库(用于存储敏感应用程序数据的安全存储区域)。Secure Mail 从共享保管库中获取证书。有关详细信息,请参阅与数字身份提供程序集成 X  
派生凭据支持 Secure Mail 支持使用派生凭据作为证书来源。有关派生凭据的详细信息,请参阅适用于 iOS 的派生凭据  
通过电子邮件分发证书: 通过电子邮件分发证书要求您先创建证书模板,然后使用这些模板请求用户证书。安装并验证证书后,导出用户证书,然后通过电子邮件将其发送给用户。之后用户在 Secure Mail 中打开该电子邮件并导入证书。有关详细信息,请参阅通过电子邮件分发证书 X X
自动导入用途单一的证书: Secure Mail 检测证书是否仅用于签名或加密,然后自动导入证书并通知用户。如果证书用于签名和加密,则会提示用户将其导入。 X  

与数字身份提供程序集成

下图显示了证书从数字身份提供程序主机传送到 Secure Mail 的路径。当您将 Secure Mail 与受支持的第三方数字身份提供程序集成时将出现此问题。

数字身份提供程序到 Secure Mail 的证书路径示意图

MDX 共享保管库是用于存储敏感应用程序数据(例如证书)的安全存储区域。只有启用了 XenMobile 的应用程序才能访问共享保管库。

必备条件

Secure Mail 支持与 Entrust IdentityGuard 集成。

配置集成

  1. 准备身份提供程序应用程序并将其提供给用户:
    • 联系 Entrust 以获得.ipa 进行打包。
    • 使用 MDX Toolkit 打包应用程序。

      如果为已在 XeMobile 环境外部安装了此应用程序的某个版本的用户部署此应用程序,请使用此应用程序的唯一应用程序 ID。请为此应用程序和 Secure Mail 使用相同的置备配置文件。

    • 将应用程序添加到 XenMobile 并将其发布到 XenMobile Store。
    • 告知您的用户必须从 Secure Hub 安装身份提供程序应用程序。根据需要提供与任何安装后步骤有关的指导。

      Secure Mail 可能会提示用户安装证书,或者在 Secure Mail 设置中启用 S/MIME,具体取决于您如何在下一步骤中为 Secure Mail 配置 S/MIME 策略。在 Secure Mail for iOS 上启用 S/MIME 中介绍了这两个过程的步骤。

  2. 向 XenMobile 中添加 Secure Mail 时,请务必配置以下策略:

    • 将 S/MIME 证书源策略配置为 Shared vault(共享保管库)此设置表示 Secure Mail 将使用您的数字身份提供程序存储在其共享保管库中的证书。

    • 要在首次启动 Secure Mail 过程中启用 S/MIME,请配置“首次启动 Secure Mail 过程中启用 S/MIME”策略。该策略决定共享保管库中存在证书时 Secure Mail 是否启用 S/MIME。如果没有证书,Secure Mail 将提示用户导入证书。如果未启用该策略,用户可以在 Secure Mail 设置中启用 S/MIME。默认情况下,Secure Mail 不启用 S/MIME,这表示用户必须通过 Secure Mail 设置启用 S/MIME。

使用派生凭据

可以允许使用派生凭据来代替与数字身份提供程序的集成。

向 XenMobile 中添加 Seucre Mail 时,请将“S/MIME 证书来源”策略配置为派生凭据。有关派生凭据的详细信息,请参阅适用于 iOS 的派生凭据

通过电子邮件分发证书

可以通过电子邮件向用户分发证书来代替与数字身份提供程序集成或使用派生凭据。此方案需要执行本部分内容详细介绍的以下常规步骤。

  1. 使用服务器管理器启用 Microsoft 证书服务的 Web 注册并验证 IIS 中的身份验证设置。

  2. 创建证书模板,用于对电子邮件消息进行签名和加密。使用这些模板请求用户证书。

  3. 安装并验证证书,然后导出用户证书并通过电子邮件将其发送给用户。

  4. 用户在 Secure Mail 中打开电子邮件并导入证书。如此一来,证书仅可用于 Secure Mail。它们不会出现在 S/MIME 的 iOS 配置文件中。

必备条件

本部分中的说明基于以下组件:

  • XenMobile Server 10 及更高版本
  • 受支持的 NetScaler Gateway 版本
  • Secure Mail for iOS(最低版本为 10.8.10)、适用于 Android 设备的 Secure Mail(最低版本为 10.8.10)
  • Microsoft Windows Server 2008 R2 或更高版本,并将 Microsoft 证书服务用作根证书颁发机构 (CA)
  • Microsoft Exchange:
    • Exchange Server 2016 Cumulative Update 4
    • Exchange Server 2013 Cumulative Update 15
    • Exchange Server 2010 SP3 Update Rollup 16

配置 S/MIME 之前,请完成以下必备条件:

  • 手动或通过 XenMobile 中的凭据设备策略向移动设备交付根证书和中间证书。有关详细信息,请参阅凭据设备策略
  • 如果正在使用专用服务器证书来保护流向 Exchange Server 的 ActiveSync 流量安全,请执行以下操作:将所有根证书和中间证书安装在移动设备上。

启用 Microsoft 证书服务的 Web 注册

  1. 转到管理工具,然后选择服务器管理器
  2. Active Directory 证书服务下,查看是否已安装证书颁发机构 Web 注册
  3. 如果需要,请选择添加角色服务来安装证书颁发机构 Web 注册。
  4. 选中证书颁发机构 Web 注册,然后单击下一步
  5. 安装完成后,单击关闭完成

验证 IIS 中的身份验证设置

  • 确保用于请求用户证书的 Web 注册站点(例如,https://ad.domain.com/certsrv/)使用 HTTPS 服务器证书(专用或公用)进行保护。
  • Web 注册站点必须通过 HTTPS 进行访问。
  1. 转到管理工具,然后选择服务器管理器
  2. Web 服务器 (IIS) 中的角色服务下进行查找。验证是否已安装客户端证书映射身份验证和 IIS 客户端证书映射身份验证。如果未安装,请安装这些角色服务。
  3. 转到管理工具,然后选择 Internet Information Services (IIS) 管理器
  4. IIS 管理器窗口的左侧窗格中,选择运行 IIS 实例的服务器以进行 Web 注册。
  5. 单击身份验证
  6. 确保 Active Directory 客户端证书身份验证设置为已启用
  7. 单击右侧窗格中的站点 > Microsoft Internet Information Services 的默认站点 > 绑定
  8. 如果不存在 HTTPS 绑定,请添加一个。
  9. 转到默认 Web 站点主页。
  10. 单击 SSL 设置,然后单击接受客户端证书

创建新证书模板

要对电子邮件进行签名和加密,Citrix 建议您在 Microsoft Active Directory 证书服务中创建证书。如果为这两个目的使用相同的证书并存档加密证书,则可以恢复签名证书并允许模拟。

以下过程将在证书颁发机构 (CA) 服务器上复制证书模板:

  • 仅 Exchange 签名(用于签名)
  • Exchange 用户(用于加密)
  1. 打开证书颁发机构管理单元。

  2. 展开 CA,然后转到证书模板

  3. 单击鼠标右键,然后单击管理

  4. 搜索“仅 Exchange 签名”模板,在此模板上单击鼠标右键,然后单击复制模板

    “仅 Exchange 签名”模板示意图

  5. 分配任意名称。

  6. 选中在 Active Directory 中发布证书复选框。

    注意: 如果未选中在 Active Directory 中发布证书复选框,用户必须手动发布用户证书(以用于签名和加密)。用户可以通过 Outlook 邮件客户端 > 信任中心 > 电子邮件安全性 > 发布到全球通讯簿来实现。

    “在 Active Directory 中发布证书”复选框示意图

  7. 单击请求处理选项卡,然后设置以下参数:

    • 目的: 签名
    • 最小密钥大小: 2048
    • “允许导出私钥”复选框: 选中
    • “注册证书使用者时无需用户输入”复选框: 选中

    “请求处理”选项卡示意图

  8. 单击安全性选项卡,在组或用户名下,确保添加已通过身份验证的用户(或所需的任何域安全组)。此外,还请务必在已通过身份验证的用户的权限下,选中允许对应的读取和注册复选框。

    “安全性”选项卡示意图

  9. 对于其他选项卡和设置,请保留默认设置。

  10. 证书模板中,单击 Exchange 用户,然后重复步骤 4 到 9。

    “证书模板”对话框示意图

    对于新的“Exchange 用户”模板,请使用与原始模板相同的默认设置。

  11. 单击请求处理选项卡,然后设置以下参数:

    • 目的: 加密
    • 最小密钥大小: 2048
    • “允许导出私钥”复选框: 选中
    • “注册证书使用者时无需用户输入”复选框: 选中

      “请求处理”选项卡示意图

      “已通过身份验证的用户”组示意图

  12. 两个模板均创建完成后,请务必颁发两个证书模板。单击新建,然后单击要颁发的证书模板

    “新建”>“要颁发的证书模板”选项示意图

请求用户证书

本过程使用 user1 导航到 Web 注册页面(如 https://ad.domain.com/certsrv/)。本过程为保护电子邮件安全请求两个新用户证书:一个证书用于签名,另一个用于加密。可以为需要通过 Secure Mail 使用 S/MIME 的其他域用户重复执行相同的过程。

在 Microsoft 证书服务上的 Web 注册站点(如 https://ad.domain.com/certsrv/)上使用手动注册以生成用于签名和加密的用户证书。另一种方法是,通过组策略为要使用此功能的用户组配置自动注册。

  1. 在基于 Windows 的计算机上,打开 Internet Explorer 并转到 Web 注册站点以请求新用户证书。

    注意:

    请务必使用正确的域用户登录以便请求证书。

    Web 注册站点示意图

  2. 登录后,单击请求证书

    “请求证书”选项示意图

  3. 单击高级证书请求

  4. 单击创建并向此 CA 提交一个请求

  5. 生成用于签名的用户证书。选择合适的模板名称并键入您的用户设置,然后在请求格式旁边,选择 PKCS10

    此时已提交请求。

    “高级证书请求”选项示意图

  6. 单击安装此证书

  7. 确认证书安装成功。

    安装成功确认示意图

  8. 现在,为实现加密电子邮件目的重复执行相同过程。在同一个用户登录 Web 注册站点的情况下,转至主页链接以请求新证书。

  9. 选择用于加密的新模板,然后键入与第 5 步相同的用户设置。

    新模板选项示意图

  10. 确保证书安装成功,然后重复执行相同的过程,为另一个域用户生成一对用户证书。本示例按照相同的过程,为“User2”生成一对证书。

    注意:

    本过程使用同一个基于 Windows 的计算机,为“User2”请求第二对证书。

验证已发布的证书

  1. 为确保证书正确安装到域用户配置文件中,请转到 Active Directory 用户和计算机 > 查看 > 高级功能

    “高级功能”选项示意图

  2. 转到用户的属性(本示例中为 User1),然后单击发布的证书选项卡。请确保两个证书均可用。您还可以验证每个证书是否有特殊用法。

    “发布的证书”选项卡示意图

    下图显示了用于加密电子邮件的证书。

    用于加密电子邮件的证书示意图

    下图显示了用于对电子邮件进行签名的证书。

    用于对电子邮件进行签名的证书示意图

    请务必向用户分配正确的加密证书。可以在 Active Directory 用户和计算机 > 用户属性下面验证此信息。

    “用户属性”示意图

    Secure Mail 的工作方式是通过 LDAP 查询来检查 userCertificate 用户对象属性。您可以在属性编辑器选项卡上读取此值。如果此字段为空,或用于加密的用户证书错误,Secure Mail 将无法加密(或解密)邮件。

    “属性编辑器”选项卡示意图

导出用户证书

此过程采用 .PFX (PKCS#12) 格式导出“User1”和“User2”的证书对以及私钥。导出时,证书通过电子邮件发送给使用 Outlook Web Access (OWA) 的用户。

  1. 打开 MMC 控制台并转到证书 - 当前用户管理单元。您将看到“User1”和“User2”证书对。

    证书当前用户示意图

  2. 右键单击证书,然后单击所有任务 > 导出

  3. 选择是,导出私钥以导出私钥。

  4. 选中如果可能,包括证书路径中的所有证书导出所有扩展属性复选框。

    个人信息交换选项示意图

  5. 导出第一个证书后,为用户的剩余证书重复执行相同过程。

    注意:

    明确标记要用于签名的证书和要用于加密的证书。在本示例中,证书被标记为 userX-sign.pfx 和 userX-enc.pfx。

    证书标签示意图

通过电子邮件发送证书

所有证书采用 PFX 格式导出后,可以使用 Outlook Web Access (OWA) 通过电子邮件发送这些证书。在本示例中,登录名是 User1,发送的电子邮件包含两个证书。

用于发送证书的 OWA 邮件示意图

为 User2 或域中的其他用户重复执行相同过程。

在 Secure Mail for iOS 和 Secure Mail for Android 上启用 S/MIME

电子邮件传送后,下一步是使用 Secure Mail 打开邮件,然后启用 S/MIME,使用相应的证书进行签名和加密。

  1. 在 Secure Mail 中,打开电子邮件。

  2. 下载第一个证书(用于签名),然后轻按导入证书用于签名

    “导入证书用于签名”选项示意图

  3. 键入导出证书时分配给私钥的密码。

    私钥密码选项示意图

  4. 转到设置,以便在 Secure Mail 上启用签名。

  5. 轻按 S/MIME,并在签名旁边,轻按

    Secure Mail S/MIME 设置示意图

  6. 签名中,启用并确认选择了正确的签名证书。

    签名证书确认示意图

    此图显示了使用用户证书(用于签名)的签名。

    启用的签名选项示意图

  7. 返回到电子邮件,以下载并导入用于加密的证书。

    “导入证书用于加密”选项示意图

  8. 键入分配给私钥的密码。

    密码提示示意图

  9. 转到设置,以便在 Secure Mail 上启用加密。在默认加密旁边,轻按。请务必选择正确的用户证书用于加密。

    此图显示了使用用户证书(用于加密)的加密。

    启用的加密选项示意图

    注意:

    如果电子邮件通过 S/MIME 进行数字签名、具有附件,而收件人未启用 S/MIME,则无法接收附件。此行为属于 Active Sync 限制。要接收 S/MIME 邮件,请在 Secure Mail 设置中启用 S/MIME。

在 iOS 和 Android 上测试 S/MIME

如果已正确执行所有操作,则 User1 或 User2 可发送经过签名和加密的电子邮件,收件人可以读取此邮件。

下图显示了收件人阅读加密邮件的示例。

加密邮件示意图

下图显示了确认签名可信证书的示例。

确认的签名证书示意图

Secure Mail 在 Active Directory 域中搜索收件人的公用加密证书。如果用户向无有效公用加密密钥的收件人发送加密的邮件,则该邮件将作为未加密邮件发送。在组邮件中,如果有一个收件人无有效的密钥,则邮件将作为未加密邮件发送给所有收件人。

未加密的电子邮件示意图

配置公用证书来源

要使用 S/MIME 公用证书,请配置 S/MIME 公用证书来源、LDAP 服务器地址、LDAP 基础 DN 以及匿名访问 LDAP 策略。

除配置应用程序策略外,还请执行以下操作。

  • 如果 LDAP 服务器为公共服务器,请确保流量直接传输到 LDAP 服务器。为此,请将 Secure Mail 的网络策略配置为通过通道连接到内部网络并为 NetScaler 配置拆分 DNS。
  • 如果 LDAP 服务器位于内部网络中,请执行以下操作:
    • 对于 iOS,请确保您未配置“后台网络服务网关”策略。如果配置了该策略,用户会频繁收到身份验证提示。
    • 对于 Android,请务必在“后台网络服务网关”策略的列表中添加 LDAP 服务器 URL