汽车行业EDI教程——北美X12标准 AS2连接配置与实现
在此前的文章:《汽车行业EDI教程——北美X12标准 需求分析及方案》中,我们了解了汽车行业的常见EDI需求,今天我们一起来学习其中关于AS2的配置与实现。
首先我们先来了解什么是AS2以及AS2原理。
AS2,是一种主流的EDI传输协议,主要应用在电子数据交换(EDI)和安全文件传输领域。AS2通过数据加密和数字签名生成数据包,基于HTTP(或HTTPS)通过互联网进行数据交换。在传输过程中,通过MDN回执的不可抵赖性,使得AS2的传输过程更加可靠。
上图是AS2传输中数据的处理流程图,我们一起看下:
A公司与B公司基于互联网进行AS2传输,A公司将数据发送给B公司,发送数据时A公司使用自己的私钥证书对数据进行签名,使用B公司的公钥证书对数据进行加密,生成数据包发给B公司。
当B公司收到数据包后,使用自己的私钥证书进行解密,使用A公司的公钥证书验证签名, 解密和验证签名成功后,B公司才可以看到业务数据。同时作为接收方,B公司需要给A公司回复MDN回执,回复过程中需要使用自己的私钥证书对MDN进行签名,A公司收到MDN后使用B公司的公钥证书进行验证签名,验证成功后完成此次数据的AS2传输。
关于更详细的AS2原理讲解大家可以回顾之前EDI基础合集中的内容:AS2工作原理
接下来我们来了解AS2配置需要哪些信息:
首先,我们需要配置自己的AS2信息,一般包含:
AS2 ID,是AS2传输过程中的唯一身份标识,可以自定义,比如使用公司英文名称简称,AS2 ID需要发给交易伙伴进行配置。比如我们自己的AS2 ID为myAS2ID。
私钥证书及证书密码:证书用来数据传输中对数据进行签名和加密,确认数据的安全性。
发送数据给交易伙伴时,系统会用你的私钥证书签名发出的文件,相反的,在收到交易伙伴发送的文件时,系统会用你的私钥证书解密接收到的文件。
那么如何获取证书呢,可以在知行之桥上生成一对自签名证书,或者去CA机构进行申请购买。一般证书是一对的,私钥证书自己配置,公钥证书需要发给交易伙伴进行配置。私钥证书的密码我们需要注意保存和保密,避免遗忘和泄露。示例中我们将演示在知行之桥上创建名为my.pfx和my.cer的一对证书。
接收URL:用来接收交易伙伴的数据,格式为:http(s)://外网域名或IP:外网端口/pub/Receive.rsb,注意需要开通外网权限和端口,允许交易伙伴进行访问发送数据。
自己的AS2信息配置完成后,需要整理上文提到的我们的AS2 ID、公钥证书,数据接收URL给交易伙伴,请他们进行配置。
同时我们需要拿到交易伙伴的AS2信息进行配置,一般包含:
AS2 ID(比如交易伙伴的AS2 ID为:partnerAS2ID)、接收URL、公钥证书(一般是.cer、.p7b或者.crt的格式),比如交易伙伴提供公钥证书为名为partner.cer。
双方的AS2信息都确认后,我们便可以在知行之桥EDI系统中进行配置与测试了。
首先我们登录到知行之桥EDI系统中,导航到个人设置—AS2配置我们自己的AS2信息:
AS2 ID我们配置为:myAS2ID
个人证书这里的私钥证书,我们先进行创建证书。
证书信息按照公司具体信息进行填写即可,填写完成后点击创建证书。证书密码记得保存下来,不要遗忘。此时一对证书就创建完成了,私钥证书会自动配置在这里:
公钥证书可以导航到系统设置去查看,导航到系统设置—证书页面,这里显示了我们刚刚创建的一对证书,pfx的是私钥证书已经被配置在AS2 Profile中了,即个人设置-AS2那里,.cer的为公钥证书,可以点击下载发给交易伙伴。
我们回到个人设置-AS2,查看接收URL,接收URL是根据访问知行之桥的网址自动生成的,现在我们这边显示的是本地localhost:
如果我们需要修改IP或域名可以导航到系统设置-高级设置中设置网站网址,在网站网址这里我们输入我们的IP:即可,返回到个人设置-AS2查看,接收URL已更新。
此时我们的AS2就已经配置完成了,可以整理我们的AS2 ID,公钥证书,接收URL发给交易伙伴,或者直接将这里的公开 AS2 个人设置URL共享给交易伙伴。
接下来我们去配置交易伙伴的AS2信息
导航到工作流页面,这里会显示我们创建所有的工作区,针对不同的交易伙伴可以创建不同的工作区。我们以默认的工作区为例:
点击进入工作区
在工作区右侧空白处右击点击添加端口按钮,搜索AS2端口,端口ID我们自定义,点击创建,这样我们就创建一个AS2端口。在工作区页面会显示我们创建好的AS2端口,因为AS2是收发双向的,所以会显示开始和结束两个节点,这两个节点是一个端口配置相同,只需配置一次。
我们点击AS2端口进入到端口设置页面,输入交易伙伴的AS2ID、URL、加密证书。TLS证书如果交易伙伴的URL是https的话,会提供他们TLS的证书给我们,我们在这里上传配置即可。此时交易伙伴的AS2就配置完成了,我们可以进行数据收发测试。
导航到端口的输入页面,输入页面是给交易伙伴发送文件的,可以点击更多上传测试文件或使用知行之桥内置的测试文件,勾选需要发送的文件,点击发送,文件显示状态为Sucess,即表示发送成功,如果发送失败,我们可以点击文件前面的加号,查看具体的报错日志信息。
联系交易伙伴给我们发送测试文件,收到交易伙伴的文件会显示在输出页面,点击文件名可以查看文件内容,也可以下载文件。
今天关于AS2端口的配置就已经全部都讲解完成了,大家可以线下自己模拟配置测试,测试中可以模拟自发自收,即AS2端口配置自己的AS2信息进行收发测试,或者您可以直接和交易伙伴进行AS2测试。
如果您希望了解有关EDI对接的相关信息,欢迎交流。
阅读原文