2009-12-04 68 views
2

我需要在BizTalk Server 2006 R2中创建AS2连接以与业务伙伴进行通信。我之前和BizTalk AS2配置合作过,BizTalk文档有关于如何配置所有内容的相当不错的演练,但他们没有谈论如何获取/生成证书,而且我也没有太多经验。为BizTalk AS2连接创建密钥对

什么是生成密钥对的最佳方式?我对这个过程的基本理解是,您生成公钥和私钥(.pfx文件?),安装它们,导出公钥证书(.cer?)并将其发送给合作伙伴。该证书不会用于HTTPS,仅用于AS2连接,并且合作伙伴声明可以自签名(不需要受信任的CA?)。我们以.cer文件的形式以安全的方式直接与合作伙伴交换公钥证书。 MakeCert是一个合适的工具吗?

我相信我们需要对加密和签名使用相同的密钥,因此根据文档,证书的密钥用法属性必须包含数字签名以及数据加密或密钥加密。

谢谢!

回答

2

您当然可以使用MakeCert生成的自签名密钥进行AS2安全性和签名。根据所实施的AS2的风格(共有12个),您不需要同时执行加密和签名,但AS2的标准用法是带有或不带有MDN的带签名和加密通信,因此您通常会使用单个证书。

正如您所说的,在BizTalk文档和SDK中有关于AS2的大量信息。然而,我认为值得指出这个MSDN页面http://msdn.microsoft.com/en-us/library/bb728096(BTS.20).aspx,因为它涵盖了非常详细的证书安装。配置是非常特别的,如果你没有在正确的商店下正确的用户和正确的部分BizTalk(分配给派对,组和发送端口)获得正确的证书,那么你可能会遇到麻烦。我发现在这部分配置中,请遵循文档,确切地说

要记住的一件重要的事情是,您的AS2接收运行在BizTalk IsolatedHost下,因此接收证书需要在该存储中。

我也发现它有趣和有益(认为没有必要)阅读AS2 RFC

+0

看起来像makecert不能指定密钥用法,只有扩展密钥用法是必需的。不是100%,因为我还没有得到一个工作解决方案。我见过一篇文章,建议使用MS证书服务器生成带有数字签名/数据库密钥使用的测试证书。 http://social.msdn.microsoft.com/Forums/eu/biztalkediandas2/thread/0feb7f79-ecca-4722-823b-76bf07589e54 – 2012-04-04 22:01:37