WCF 适配器可以使用公钥基础结构(PKI)数字证书进行消息加密和解密、消息签名和验证(不可否认)和客户端身份验证。 本主题介绍将数字证书与 WCF 适配器配合使用的各种认证使用方案和配置选项指南。
WCF 接收位置的证书使用场景
下表显示了如何安装 WCF 接收位置的证书。
证书使用情况 | 用户上下文 | 证书存储位置 | 证书类型 | 何时安装证书 |
---|---|---|---|---|
根据接收位置的安全设置解密和签名 | 与接收处理程序关联的主机实例使用的帐户 | 登录到运行 BizTalk Server 的每台计算机,该计算机将托管接收位置作为每个主机实例服务帐户,并将服务证书导入 到当前用户 \个人(我的) 存储。 | 拥有私有证书 | 在以下配置中指定 服务证书 - 指纹 属性的值: - WCF-BasicHttp 接收位置 的安全模式 属性设置为 “消息”。 - WCF-BasicHttp 接收位置的传输客户端凭据类型属性在TransportCredentialOnly安全模式下设置为证书。 - WCF-WSHttp 接收位置的消息客户端凭据类型属性设置为“无”、“证书”或“用户名”,以用于消息安全模式。 - WCF-NetTcp 接收位置的传输客户端凭据类型属性设置为“无”或“传输安全模式的证书”。 - WCF-NetTcp 接收位置的消息客户端凭据类型属性在消息安全模式下被设置为“无”、“用户名”或“证书”。 - WCF-NetTcp 接收位置的 消息客户端凭据类型 属性设置为 Windows、UserName 或 Certificate,用于TransportWithMessageCredential 安全模式。 - 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 接收位置,要安装的证书的用户上下文、证书存储位置和证书类型因 serviceCredentials 和 clientCredentials 行为元素设置而异。
注释
如果接收位置使用 Endpoint Identity 属性的证书元素,则还必须将已发布服务标识的证书安装到 Endpoint Identity 属性中指定的证书存储中。
注释
可以使用“运行方式”命令与适用的帐户来执行相同的操作,而不必使用主机实例服务帐户或管理员帐户登录到计算机。
WCF 发送端口的证书使用方案
下表显示了如何安装 WCF 发送端口的证书。
证书使用情况 | 用户上下文 | 证书存储位置 | 证书类型 | 何时安装证书 |
---|---|---|---|---|
客户端身份验证 | 与发送端口相关的主机实例所使用的帐户 | 登录到运行 BizTalk Server 的每台计算机,该计算机将作为每个主机实例服务帐户托管发送端口,并将客户端证书导入 到当前用户 \个人(我的) 存储。 | 拥有私有证书 | 在以下配置中指定 客户端证书 - 指纹 属性的值: - WCF-BasicHttp 发送端口的 消息客户端凭据类型 或 传输客户端凭据类型 属性设置为 “证书”。 - WCF-WSHttp 发送端口的 消息客户端凭据类型 或 传输客户端凭据类型 属性设置为 证书。 - WCF-NetTcp 发送端口的 消息客户端凭据类型 或 传输客户端凭据类型 属性设置为 “证书”。 - WCF-NetMsmq 发送端口的 消息客户端凭据类型 或 MSMQ 身份验证模式 属性设为 “证书”。 |
服务身份验证、签名验证和加密,具体取决于发送端口的安全设置 | 无 | 以管理员身份登录到每台将托管发送端口的运行 BizTalk Server 的计算机,并将服务证书导入到 本地计算机 \其他人(地址簿) 存储中。 还必须将服务证书的 CA 证书链安装到计算机的受信任根证书颁发机构证书存储中。 | - 服务公共证书 - 服务证书的 CA 证书链 |
在以下配置中指定 服务证书 - 指纹 属性的值: - WCF-BasicHttp 发送端口的 消息客户端凭据类型 或 传输客户端凭据类型 属性设置为 “证书”。 - 当协商服务凭据选项被清除时,WCF-WSHttp 发送端口的消息客户端凭据类型属性设置为无、用户名或证书。 - WCF-NetMsmq 发送端口 的安全模式 设置为 “消息 ”或“ 两者”。 |
服务身份验证、签名验证和加密,具体取决于发送端口的安全设置 | 无 | 以管理员身份登录到运行 BizTalk Server 的每台计算机,并将客户端 X.509 证书的 CA 证书链导入到计算机的受信任根证书颁发机构证书存储中,以便服务能够向此发送端口进行身份验证。 | 服务证书的 CA 证书链 | 如果未显式指定 服务证书 - 指纹证书 属性,请将服务 X.509 证书的 CA 证书链安装到受信任的根证书颁发机构证书存储的以下配置中: - WCF-BasicHttp 发送端口 的安全模式 设置为 Transport 或 TransportWithMessageCredential。 - WCF-WSHttp 发送端口 的安全模式 设置为 Transport 或 TransportWithMessageCredential。 - WCF-NetTcp 发送端口 的安全模式 设置为 TransportWithMessageCredential。 - WCF-NetTcp 发送端口的 传输客户端凭据类型 属性设置为 “无” 或“ 证书”。 - WCF-NetTcp 发送端口的消息 客户端凭据类型 属性设置为 None、 UserName 或 Certificate。 |
注释
由于标准 WCF 发送适配器使用 ChainTrust 模式来验证服务证书,因此必须为服务 X.509 证书安装 CA 证书链。 可以使用 WCF-Custom 或 WCF-CustomIsolated 适配器更改此默认行为。
注释
对于 WCF-Custom 和 WCF-CustomIsolated 发送端口,要安装的证书的用户上下文、证书存储位置和证书类型因 serviceCredentials 和 clientCredentials 行为元素设置而异。
注释
如果发送端口使用 Endpoint Identity 属性的证书元素,则还必须将预期的服务标识的证书安装到 Endpoint Identity 属性中指定的证书存储中。
注释
可以使用“运行方式”命令与适用的帐户来执行相同的操作,而不必使用主机实例服务帐户或管理员帐户登录到计算机。
显示证书管理控制台
若要显示本地计算机和当前用户的证书管理控制台界面,请执行以下步骤:
单击“ 开始”,单击“ 运行”,键入 MMC,然后单击“ 确定 ”以打开Microsoft管理控制台。
在“ 文件 ”菜单上,单击“ 添加/删除管理单元 ”以显示 “添加/删除管理单元 ”对话框。
单击“添加”以显示“添加独立管理单元”对话框。
从管理单元列表中选择“证书”,然后单击“添加”。
选择 “计算机帐户”,单击“ 下一步”,然后单击“ 完成”。 这将添加本地计算机的证书管理控制台接口。
确保从管理单元列表中仍然选择 证书,然后再次单击 添加。
选择 “我的用户帐户”,然后单击“ 完成”。 这会为当前用户添加证书管理控制台界面。
注释
这将显示当前登录的帐户的证书管理控制台。 如果需要将证书导入到服务帐户的个人存储中,则应先使用服务帐户凭据登录。
在“独立管理单元”对话框中单击“关闭”。
在“添加/删除管理单元”对话框中单击“OK”。