本文是基于0.9版的opeanAS2进行配置和开发。
感谢混乱之治博主的文章→[AS2]使用 OpenAS2 和 WebSphere DataPower B2B Appliance XB60 传递 B2B 消息
openas AS2的下载:下载地址
openAS2的介绍:
OpenAS2 使您能够在交易伙伴之间传送和接收 EDI-X12、EDIFACT、XML 或二进制形式的 AS2 消息。由于 OpenAS2 文档不够具体,因此本 文向您演示如何安装、配置和使用 OpenAS2,以及创建一个稍微修改就可用于不同场景的引用模型。本文还演示如何使用该 OpenAS2 引用模 型来测试 B2B 网关,即将其用作向 IBM® WebSphere® DataPower® B2B Appliance XB60(以下简称 XB60)发送消息的客户端。
安装等在混乱之治博主的文章中都有介绍,我下来主要是将展示如何在两个电脑上面实现通讯:
1.准备阶段:
在C盘安装混乱之治博主的文章,将openas2安装成功,但是你只需要去把 Download.zip中的mycompang复制到你opeanas2文件中,启动成功。
在需要通讯的电脑上面重复在你电脑上安装过程,但是不同的是你需要把Download.zip中的mypartner辅助到通讯电脑上的openas2文件中,也启动成功!
2.ssl证书
在本地电脑上面将Download.zip文件的中SSL复制到本机的openas2下,然后点里面的createssl.sh后生产mypartner.p12和mycompang.p12文件,这个是双方的秘钥。
下来:将mycompang.p12复制到本地电脑的mycompang文件中替代原来的。
将mypartner.p12复制到需要通讯的电脑的mypartner文件中替代原来的。
3.配置双方的文件。
本机的配置如下:
<partnerships>
<partner name="myCompany" as2_id="myCompany" x509_alias="myCompany" email="[email protected]"/>
<partner name="myPartner" as2_id="myPartner" x509_alias="myPartner" email="[email protected]"/>
<partnership name="myPartner-myCompany">
<sender name="myPartner"/>
<receiver name="myCompany"/>
<attribute name="protocol" value="as2"/>
<attribute name="subject" value="From myPartner to myCompany"/>
<attribute name="as2_url" value="http://localhost:10080"/>
<attribute name="as2_mdn_to" value="http://localhost:10081"/>
<attribute name="as2_mdn_options" value="signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1"/>
<attribute name="encrypt" value="3des"/>
<attribute name="sign" value="sha1"/>
</partnership>
<partnership name="myCompany-myPartner">主要是配置这个
<sender name="myCompany"/>
<receiver name="myPartner"/>
<attribute name="protocol" value="as2"/>
<attribute name="subject" value="From myCompany to myPartner"/>
<attribute name="as2_url" value="http://192.168.1.3:20080"/>
<attribute name="as2_mdn_to" value="http://192.168.1.3:20081"/>
<attribute name="as2_mdn_options" value="signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1"/>
<attribute name="encrypt" value="3des"/>
<attribute name="sign" value="sha1"/>
</partnership>
</partnerships>
然后通讯电脑上的
文件配置如下:
<partnerships>
<partner name="myCompany" as2_id="myCompany" x509_alias="myCompany" email="[email protected]"/>
<partner name="myPartner" as2_id="myPartner" x509_alias="myPartner" email="[email protected]"/>
<partnership name="myPartner-myCompany">主要看这个
<sender name="myPartner"/>
<receiver name="myCompany"/>
<attribute name="protocol" value="as2"/>
<attribute name="subject" value="From myPartner to myCompany"/>
<attribute name="as2_url" value="http://192.168.1.60:10080"/>
<attribute name="as2_mdn_to" value="http://192.168.1.60:10081"/>
<attribute name="as2_mdn_options" value="signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1"/>
<attribute name="encrypt" value="3des"/>
<attribute name="sign" value="sha1"/>
</partnership>
<partnership name="myCompany-myPartner">
<sender name="myCompany"/>
<receiver name="myPartner"/>
<attribute name="protocol" value="as2"/>
<attribute name="subject" value="From myCompany to myPartner"/>
<attribute name="as2_url" value="http://localhost:20080"/>
<attribute name="as2_mdn_to" value="http://localhost:20081"/>
<attribute name="as2_mdn_options" value="signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1"/>
<attribute name="encrypt" value="3des"/>
<attribute name="sign" value="sha1"/>
</partnership>
</partnerships>
这就是双方的配置:当然http可以是外网的ip啦;
最后一步:互换双方的秘钥,就是把本机的给通讯的,把通讯的给你。ps:这个好像也只要一方的就可以,本人没研究
这样就可以实现双方基于as2协议的通讯了。