我目前正在开发AS / 2实现(我的第一个BizTalk项目),我面临着证书问题。我已经检查了很多网站,博客,MSDN,直到现在,我还没有开始工作。
以下是该方案: 从特定合作伙伴,我需要收到AS / 2加密消息。
以下是我测试的方法: - 我有我的本地计算机和服务器都运行BizTalk 2013。 - 我使用OpenSSL生成了1个证书(DES3 2048位)。
证书安装如下:
发送机器:本地计算机\其他人(我的CER文件)。 发送计算机:本地计算机\受信任的根证书颁发机构(我的CER文件) - 使证书可信。 接收机器:当前用户\个人存储(我的PFX文件) - 注意:当前用户是运行BizTalk的进程内主机实例的用户。 接收机器:当前用户\个人存储(我的PFX文件) - 使证书可信。 - 注意:当前用户是运行BizTalk的进程内主机实例的用户。
在IIS中,运行BTSHttpReceive.dll的应用程序池在ApplicationPoolIdentity下运行。
最后,这是BizTalk配置:
Pary协议(发送合作伙伴 - >接收合作伙伴) - >验证:“应选择加密消息”,加密算法设置为DES3。
主机(BizTalkServerApplication) - >证书:我的证书(PFX)。
当我尝试从发送计算机向接收计算机发送消息(只有一行文本文件)时,接收计算机在BizTalk事件查看器中生成两个错误:
错误讯息1:
AS2解码器在处理过程中遇到异常。消息和异常的详细信息如下:AS2-From:“AS2-xxx”AS2-To:“AS2-xxx”MessageID:“”MessageType:“unknown”异常:“解密AS2消息时发生错误。”
错误消息2:
接收位置“xxx”上带有URI“/BTSHttpReceive.dll”的适配器“HTTP”收到的消息被暂停。
错误详细信息:接收管道中的组件“Microsoft.BizTalk.EdiInt.PipelineComponents”的输出消息“Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Receive,Microsoft.BizTalk.Edi.EdiIntPipelines,Version = 3.0.1.0,Culture = neutral, PublicKeyToken = 31bf3856ad364e35“由于以下错误而被暂停:
解密AS2消息时发生错误。
挂起的消息的序列号是2.
消息ID:{BFE72958-E968-4FF6-B7DA-EB31340D81F6}
InstanceID:{B2B08761-4403-44AE-A788-D487F94CC270}
这是我已经检查过的内容:
我看到的序列号或证书可能会导致问题:
发送计算机证书序列号:00 8a 42 09 ee af c2 29 b1 接收计算机证书序列号:00 8a 42 09 ee af c2 29 b1
我希望有人可以指出我正确的方向,因为我正在寻找这个问题的日子。
亲切的问候,
答案 0 :(得分:3)
感谢您的回复,但我必须说我已成功找到问题。似乎解密证书应该作为BizTalk独立主机进程用户帐户注册。
无论如何,这解决了我的问题。