安装 WCF 适配器的证书

WCF 适配器可以利用公钥基础结构 (PKI) 数字证书来进行消息加密和解密、消息签名和验证(不可否认性)以及客户端验证。 本主题介绍将数字证书用于 WCF 适配器的不同证书使用方案和配置选项准则。

WCF 接收位置的证书使用方案

下表显示如何安装 WCF 接收位置的证书。

证书使用 用户上下文 证书存储位置 证书类型 安装证书的时间
解密和签名取决于接收位置的安全设置。 与接收处理程序关联的主机实例使用的帐户 登录到每台运行BizTalk Server的计算机,该计算机将接收位置作为每个主机实例服务帐户进行托管,并将服务证书导入到“当前用户”\“个人” (“我的) 存储。 私人证书 在以下配置中指定 服务证书 - 指纹 属性的值:

- WCF-BasicHttp 接收位置 的安全模式 属性设置为 Message
- 对于 TransportCredentialOnly 安全模式,WCF-BasicHttp 接收位置的传输客户端凭据类型属性设置为 Certificate
- 对于消息安全模式,WCF-WSHttp 接收位置的消息客户端凭据类型属性设置为 NoneCertificateUserName
- 对于传输安全模式,WCF-NetTcp 接收位置的传输客户端凭据类型属性设置为 NoneCertificate
- 对于消息安全模式,WCF-NetTcp 接收位置的消息客户端凭据类型属性设置为 NoneUserNameCertificate
- 对于 TransportWithMessageCredential 安全模式,WCF-NetTcp 接收位置的消息客户端凭据类型属性设置为 WindowsUserName证书
- WCF-NetMsmq 的安全模式属性设置为“消息”“两者”。
客户端身份验证 不可用 登录到每台运行BizTalk Server以管理员身份托管接收位置的计算机,并将客户端 X.509 证书的 CA 证书链导入计算机的“受信任的根证书颁发机构”证书存储,以便客户端可以对此接收位置进行身份验证。 客户端 X.509 证书的 CA 证书链 将客户端 X.509 证书的 CA 证书链安装到下列配置中的“受信任的根证书颁发机构”证书存储中。

- WCF-BasicHttp 接收位置 的“消息客户端凭据类型 ”或“ 传输客户端凭据类型 ”属性设置为“ 证书”。
- WCF-WSHttp 接收位置 的“消息客户端凭据类型 ”或“ 传输客户端凭据类型 ”属性设置为“ 证书”。
- WCF-NetTcp 接收位置 的“消息客户端凭据类型 ”或“ 传输客户端凭据类型 ”属性设置为“ 证书”。
- WCF-NetMsmq 接收位置 的消息客户端凭据类型MSMQ 身份验证模式 属性设置为 “证书”。

注意

由于标准 WCF 接收适配器使用 ChainTrust 模式来验证客户端证书,因此必须为客户端 X.509 证书安装 CA 证书链。 可以使用 WCF-Custom 或 WCF-CustomIsolated 适配器来限制此默认行为。

注意

对于独立的 WCF 接收适配器,您需要在独立主机实例和相应应用程序池之间匹配用户帐户。 有关 BizTalk 独立主机的详细信息,请参阅 启用 Web 服务

注意

对于 WCF-Custom 和 WCF-CustomIsolated 接收位置,要安装的证书的用户上下文、证书存储位置和证书类型因 serviceCredentialsclientCredentials 行为元素设置而异。

注意

如果接收位置使用 Endpoint Identity 属性的证书元素,则还必须将已发布服务标识的证书安装到 Endpoint Identity 属性中指定的证书存储中。

注意

除了使用主机实例服务帐户或管理员帐户登录到该计算机外,您还可使用适当的帐户通过“Run As”命令执行相同的操作。

WCF 发送端口的证书使用方案

下表显示如何安装 WCF 发送端口的证书。

证书使用 用户上下文 证书存储位置 证书类型 安装证书的时间
客户端身份验证 与发送端口相关联的主机实例使用的帐户 登录到每台运行BizTalk Server的计算机,该计算机将作为每个主机实例服务帐户托管发送端口,并将客户端证书导入到“当前用户”\“个人” (“我的) 存储”。 私人证书 在以下配置中指定 客户端证书 - 指纹 属性的值:

- WCF-BasicHttp 发送端口 的“消息客户端凭据类型 ”或“ 传输客户端凭据类型 ”属性设置为“ 证书”。
- WCF-WSHttp 发送端口 的“消息客户端凭据类型 ”或“ 传输客户端凭据类型 ”属性设置为“ 证书”。
- WCF-NetTcp 发送端口 的“消息客户端凭据类型 ”或“ 传输客户端凭据类型 ”属性设置为“ 证书”。
- WCF-NetMsmq 发送端口 的消息客户端凭据类型MSMQ 身份验证模式 属性设置为 “证书”。
服务验证、签名验证和加密取决于发送端口的安全设置 不可用 登录到运行BizTalk Server(以管理员身份托管发送端口)的每台计算机,并将服务证书导入到本地计算机\ (AddressBook) 存储的其他人。 您还必须将服务证书的 CA 证书链安装到该计算机的“受信任的根证书颁发机构”证书存储中。 - 服务公共证书
- 服务证书的 CA 证书链
在以下配置中指定 服务证书 - 指纹 属性的值:

- WCF-BasicHttp 发送端口 的“消息客户端凭据类型 ”或“ 传输客户端凭据类型 ”属性设置为“ 证书”。
- 清除“协商服务凭据”选项时,WCF-WSHttp 发送端口的消息客户端凭据类型属性设置为“无”、“用户名”或“证书”。
- WCF-NetMsmq 发送端口的安全模式设置为“消息”“两者”。
服务验证、签名验证和加密取决于发送端口的安全设置 不可用 登录到每台运行BizTalk Server以管理员身份托管发送端口的计算机,并将客户端 X.509 证书的 CA 证书链导入计算机的“受信任的根证书颁发机构”证书存储,以便向此发送端口对服务进行身份验证。 服务证书的 CA 证书链 如果未显式指定服务证书的服务证书 - 指纹 属性,请在以下配置中将服务 X.509 证书的 CA 证书链安装到受信任的根证书颁发机构证书存储:

- WCF-BasicHttp 发送端口的安全模式设置为 TransportWithMessageCredential
- WCF-WSHttp 发送端口的安全模式设置为 TransportWithMessageCredential
- WCF-NetTcp 发送端口 的安全模式 设置为 TransportWithMessageCredential
- WCF-NetTcp 发送端口的 传输客户端凭据类型 属性设置为 NoneCertificate
- WCF-NetTcp 发送端口 的消息客户端凭据类型 属性设置为 NoneUserNameCertificate

注意

由于标准 WCF 发送适配器使用 ChainTrust 模式来验证服务证书,因此必须为服务 X.509 证书安装 CA 证书链。 您可使用 WCF-Custom 或 WCF-CustomIsolated 适配器来更改此默认行为。

注意

对于 WCF-Custom 和 WCF-CustomIsolated 发送端口,要安装的证书的用户上下文、证书存储位置和证书类型因 serviceCredentialsclientCredentials 行为元素设置而异。

注意

如果发送端口使用 Endpoint Identity 属性的证书元素,则还必须将预期服务标识的证书安装到 Endpoint Identity 属性中指定的证书存储中。

注意

除了使用主机实例服务帐户或管理员帐户登录到该计算机外,您还可使用适当的帐户通过“Run As”命令执行相同的操作。

显示证书管理控制台

若要显示“本地计算机”和“当前用户”的“证书管理控制台”界面,请按下列步骤操作:

  1. 单击 “开始”,单击“ 运行”,键入 MMC,然后单击“ 确定 ”打开 Microsoft 管理控制台。

  2. 在“ 文件 ”菜单上,单击“ 添加/删除管理单元 ”以显示“ 添加/删除管理单元 ”对话框。

  3. 单击“ 添加” 以显示“ 添加独立管理单元 ”对话框。

  4. 从管理单元列表中选择“ 证书 ”,然后单击“ 添加”。

  5. 选择“ 计算机帐户”,单击“ 下一步”,然后单击“ 完成”。 这将为“本地计算机”添加“证书管理控制台”界面。

  6. 确保仍从管理单元列表中选择“ 证书 ”,然后再次单击“ 添加 ”。

  7. 选择 “我的用户帐户”,然后单击“ 完成”。 这将为“当前用户”添加“证书管理控制台”界面。

    注意

    这将为您当前使用的登录帐户显示“证书管理控制台”。 如果您需要为某一服务帐户将证书导入个人存储,则应首先使用该服务帐户的凭据登录。

  8. 在“独立管理单元”对话框中单击“关闭”。

  9. “添加/删除管理单元”对话框中单击“确定”。