欢迎光临散文网 会员登陆 & 注册

如何在知行之桥EDI系统中定时自动更换交易伙伴AS2证书?

2023-03-08 11:24 作者:知行软件  | 我要投稿

为了保证客户与交易伙伴之间数据传输的安全性,AS2传输协议中,通常会通过一对数字证书对传输数据进行签名和加密。但是证书是有有效期的,在证书到期之前,需要贸易双方及时更换新的证书。

在更新证书时,由于客户通常是和海外合作伙伴进行EDI对接,双方存在时差,无法在同一时间进行人工更换。因此,有客户希望能够在交易伙伴证书到期的时候,定时更换交易伙伴证书。针对这个需求,我们提出两种不同的解决方案,可以实现定时自动更换交易伙伴AS2证书:

方案一 Script端口+自定义脚本

1.首先需要在知行之桥EDI系统的系统设置-证书界面上传需要更新的证书。


2.在工作流界面左侧的基础栏中找到Script端口并拖出,左键单击打开Script端口,在下方的脚本部分输入对应的更换证书脚本。


更换证书脚本(将此脚本中相关信息进行更改,复制在Script端口即可)


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<rsb:set attr="http.header:value" value="9z2R1c1z8B0l7g5T9a7z"/>

<!token-->

<!--Token在系统设置中的用户界面,单击用户,刷新身份认证令牌即可获取-->

<rsb:set attr="as2.connecitor" value="AS21"/>

<!AS2端口名-->

<rsb:set attr="workspace.value" value="new"/>

<!—工作区-->

<rsb:set attr="cert.value" value="ArcESB.cer.cer"/>

<!—新的证书名-->

<rsb:set attr="http.url" value="http://localhost:8001/api.rsc/connectors"/>

<!—调用接口url-->

<!--调用接口urlAPI→系统API→资源中的/api.rsc/connectors中获取-->

<!—下面是固定信息-->

<rsb:set attr="http.contenttype" value="application/json"/>

<rsb:set attr="http.header:name" value="x-rssbus-authtoken"/>

 

<rsb:set attr="http.putdata">{"ConnectorId": "[as2.connecitor]","Workspace": "[workspace.value]","certificate": "[cert.value]"}</rsb:set>

<rsb:call op="httpPut" in="http" out="output" >

</rsb:call>


3.打开Script端口的自动化设置界面,在下方的执行间隔中设置需要执行脚本的时间,下图中的设置表示在本月第11天的4:20定时执行自定义脚本。(需要注意的是,此处的时间为24小时制)设置完成后需要将接收勾选,勾选接收后端口将自按计划执行脚本。然接下来点击右上角的保存变更。


到这里就已经配置完成了,通过上述方法即可实现交易伙伴证书的定时自动更换,接下来我们介绍第二种方案。

方案二:Schedule端口+File端口

1.上传新证书至data目录下,需要注意:新证书名称不得与旧证书相同


2.将AS2端口对应文件夹下的port.cfg文件复制出来,修改文件中的Certificate=“new certificate name”(复制出来的文件命名依旧为port.cfg,与原文件名保持一致)


3.在工作流左侧的基础栏中拖出Schedule端口和File端口


4.在Schedule端口的计划部分设置定时时间,例如此处设置在本周五03:45定时发送文件


5.File端口的设置界面中配置AS2端口的data folder,然后与Schedule端口相连即可


6.在File端口的高级设置界面,将复写选项设置为Overwrite


7.最后将修改后的port.cfg文件上传至Schedule端口,端口会根据设置的时间类型定时发送文件


到这里我们方案二的配置就已经全部结束了,我们还可以在File端口After Send添加一个自定义脚本,实现成功更换证书的邮件通知。

邮件通知脚本:


1

2

3

4

5

6

7

<arc:set attr="Subject"value="Certificate has been replaced"/>

<!--Subject为发出邮件的标题-->

<arc:set attr="Message"value="The certificate has been replaced,Please check!"/>

<!--Message为邮件的普通文本正文-->

<arc:set attr="To"value="收件邮箱"/>

<!--To为邮件接收地址,如需多个邮箱接收,则需要使用逗号分隔开-->

<arc:call op="appSendEmail"></arc:call>


以上为如何在知行之桥EDI系统中定时自动更换交易伙伴AS2 证书的两种不同解决方案,可以根据自己的需求选择合适的方案,如果您想了解更多有关知行之桥EDI系统中关于配置以及更新证书的相关问题,可以参考:如何在知行之桥EDI系统中配置更新证书

了解更多 EDI 信息,请参阅: EDI 是什么?


如何在知行之桥EDI系统中定时自动更换交易伙伴AS2证书?的评论 (共 条)

分享到微博请遵守国家法律