配置 OFTP 连接

Version 23.4.8843


配置 OFTP 连接


概述

知行之桥支持与交易伙伴建立 OFTP 连接,仅需简单的两步。首先,在 OFTP 个人设置配置本地 OFTP 信息(ID,个人证书等等);然后,在工作流中添加一个 OFTP 端口,配置特定交易伙伴的 OFTP 信息。

OFTP 协议支持消息路由和信息交换服务器,在建立新连接时这可能会造成混乱。本文结尾的 SSID 和 SFID 部分会帮助解释消息路由,SSIDs,SFIDs,以及如何在知行之桥中捕获这些概念。

OFTP 个人设置

个人设置 页面包含 OFTP 选项卡,在此处配置本地 OFTP 信息。主要的设置为:

  • ODETTE ID (向 ODETTE 官方申请的标识用户为一个 OFTP 实体的唯一值)
  • 密码(与 ID 关联的密码;这是一个提供给交易伙伴的任意值,长度不超过8位)
  • 个人证书 (用来解密收到的消息和签名发出的消息)

在 OFTP 个人设置处应设置以下信息(下面详细解释)

ODETTE ID

ODETTE ID 由 ODETTE 分配,标识用户为一个 OFTP 实体。它包含在发出的 OFTP 消息中且标识用户为发送方,入站的消息必须寻址这个 ID,这样才能被应用程序接收。

注意: OFTP 结合使用两个不同的值来标识消息的接收方:SSID 和 SFID。有时这两个值相同,有时不同,可能会引起混淆。SSIDs 和 SFIDs(以及它们如何与应用程序中的设置相关)在下面 SSID 和 SFID 部分详细解释。

密码

与 ID 不同,密码是一个必须与交易伙伴达成协定的任意值。

发送方和接收方必须都知道密码的值,这样才能成功发送和接收 OFTP 消息。

个人证书

个人私钥证书可以用作解密及数字签名。个人证书包括一个与公钥配对的私钥;当交易伙伴使用 A 用户的公钥去加密 OFTP 消息时,这确保了只有 A 用户才能解密该消息(使用配对的私钥)。

知行之桥支持 PKCS#12 格式(.pfx 或 .p12)的私钥,和 PEM 编码的公钥(.cer 文件)。

知行之桥内含一对测试的私钥和公钥 (“test.pfx” 和 “test.cer”),可以不需要购买额外的证书,即可完成对 OFTP 加密的测试(加密,签名)。这些证书_不_应该用于生产环境中与交易伙伴的的交易。

创建一个新的证书对

如果没有用作 OFTP 的私钥/公钥证书对,知行之桥支持创建一个自签名的证书。自签名证书在 OFTP 中是很常见的,但是有的交易伙伴可能要求从受信任的证书颁发机构(CA)购买一个证书。

创建新的证书对,单击创建证书按钮,打开证书创建向导。

在向导中,配置以下必填字段:

  • 通用名称 - 使用证书的服务器主机名称;和序列号一起标识证书
  • 组织 - 证书所属的公司或集团
  • 文件名称 - 证书的文件名(扩展名为 .pfx);对应的公钥证书使用相同的名称,扩展名为 .cer
  • 序列号 - 唯一的序列号,和通用名称一起标识证书
  • 密码 - 访问私钥的密码
  • 有效期 - 决定证书何时过期
  • 秘钥长度 - 是否创建一个 512,1024 或 2048 bit 的秘钥
  • 签名算法 - 对证书应用数字签名时使用的算法,可以验证其真伪

剩余的部分可以选择性地配置,为证书提供进一步的上下文和元数据。

一旦创建,新的证书文件将被放到应用程序的 “data” 目录中。如果证书位于 “data” 目录中,那么在所有有关证书设置的下拉菜单中都将会包含该证书。

服务器设置

OFTP 个人设置服务器设置部分定义了 OFTP 服务器的关键参数,监听入站的消息。端口处设置为接收入站的 OFTP 连接的端口,使用 TLS 决定了是否这些入站的连接必须使用 TLS/SSL 加密。如果启用,必须设置 TLS/SSL 来标识服务器。注意这里和上文个人证书处的证书不相同,该证书用于在连接通道解密接收 OFTP 消息。

日志

启用服务器端的日志功能对于调试 OFTP 连接问题非常有帮助。当调试时,推荐设置日志等级Debug。可配置日志为轮询(即压缩日志并移动到存档位置)或根据所需的间隔进行删除。

OFTP 端口

配置完 OFTP 个人设置后,导航到工作流页面并创建一个 OFTP 端口实例。

典型地,每个 OFTP 端口配置一个交易伙伴的 OFTP 信息;然而,有时一个交易伙伴可能需要两个 OFTP 端口。SSID 和 SFID 部分详细说明了何时可能需要两个端口,以及两种配置之间的不同。

必须设置项

必须从交易伙伴获取 OFTP 配置信息,交易伙伴应提供信息至少且必须包括:

  • ODETTE ID
  • 密码
  • 出站 OFTP 消息被发送到的主机名/IP 地址
  • 远程主机正在监听的端口
  • 用来加密的公共证书/秘钥

在 OFTP 端口的主机配置交易伙伴证书配置这些值:

ID:SSID vs SFID

OFTP 协议使用两种不同方式的 ID (SSID 和 SFID),在 OFTP 端口中配置合适的 ID 是有一点挑战性的。为了更好理解这些值和应该在端口中如何配置,请参考 SSID 和 SFID 部分。

可选设置项

交易伙伴可能有进一步的需求:

  • TLS/SSL 和一个额外的 TLS 服务器证书 (如果不指定,假设 需要)
  • ODETTE 认证(如果不指定,假设 需要
  • 虚拟文件格式(如果不指定,假设 非结构化

测试 OFTP 连接

一旦交易伙伴的 OFTP 端口配置完成,端口支持生成虚拟文件以测试出站连接。导航到 OFTP 端口的输入选项卡,展开“更多”下拉菜单,选择“创建测试文件”。

若启用了自动化界面中的发送自动化,端口会自动尝试处理这些测试文件。在给交易伙伴发送测试文件时发生的任何错误都会在输入选项卡报告,包括有错误上下文和详情的日志文件。在高级页下的日志等级可以设置为 Debug,为以后任何连接错误的诊断提供帮助。

成功处理的文件将会在输入选项卡显示一个绿色的 “Sent” 状态,成功地发送文件表明 OFTP 配置正确。

给交易伙伴们提供 OFTP 信息

用户需要向交易伙伴提供 OFTP 配置信息。

至少且必须需要向交易伙伴提供以下信息:

  • 用户的 ODETTE ID
  • 用户的密码
  • 用户的公共秘钥/加密证书
  • 用户的接收主机名/IP 和端口

发送 OFTP 消息

一旦 OFTP 端口成功建立一个向外的 OFTP 连接,文件就可以被安全可靠地发送至交易伙伴。

输入

在输入文件夹下的文件将会被端口发送。

如果启用了自动化界面自动发送(默认启用),端口会自动地从这个文件夹下拉取文件并处理。除此之外,文件也可以在端口的输入选项卡手动发送。在输入选项卡,单击目标文件左侧的复选框,然后单击发送按钮。

使用输入选项卡更多下拉框中的“上传文件”选项,也可以用来上传文件至输入文件夹,

“上传文件”工具不是添加文件到端口的输入文件夹下的唯一方法。也可以通过导航到输入选项卡顶部列出的文件路径列表,将文件手动放到输入文件夹下,如果该端口是连接的工作流的一部分,那么文件就可以自然地到达 OFTP 端口。

作为工作流的一部分发送

在大多数配置的工作流中,文件在被 OFTP 端口发送之前,要由其它的知行之桥端口处理。当在工作流中,另一个端口连接到 OFTP 端口,文件可以自动地被发送到 OFTP 端口的输入文件夹中。

接收回执

如果启用了请求签名回执,OFTP 端口会自动等待 OFTP 回执。如果回执包含否定的响应(例如:如果交易伙伴因为某些原因拒绝了交易),端口将不会报告发送成功,而是报告错误。

接收 OFTP 消息

当 OFTP 消息到达知行之桥 web 服务器,应用程序将尝试把消息路由到特定的 OFTP 端口。知行之桥使用头部信息中的 OFTP ID 将输入的文件路由到该交易伙伴的 OFTP 端口上。

如果应用程序找不到输入消息对应的 OFTP 端口(根据 OFTP ID),在应用程序日志中会有错误日志且文件不能成功接收。

输出

当接收的文件路由到特定的 OFTP 端口(根据配置的 OFTP ID),文件将会到达端口的输出文件夹。

如果 OFTP 端口与工作流中的其它端口连接,文件将不会继续处于输出文件夹中而是传送到工作流中的下一个端口。

如果 OFTP 端口没有与工作流的另一端口连接,OFTP 端口接收到的文件将会留在输出文件夹中。在端口的输出界面可以看到这些文件,或者可以通过导航到输出界面顶部显示的文件路径查看。

发送回执

如果入站的 OFTP 消息需要签名回执,OFTP 端口会自动生成且返回回执。当接收 OFTP 消息时发生了错误,知行之桥将记录该错误且在返回给交易伙伴的回执中将包含该错误。

请求发送回执的设置包含在入站的 OFTP 消息中,无需在 OFTP 端口中配置。

SSID 和 SFID

本部分提供了 SSID 和 SFID 值的概念概述,消息路由以及如何使用知行之桥的设置来完成所需的连接参数。对 OFTP 中消息路由的理解有助于阐明在建立连接传输文件时 SSID 和 SFID 的作用。

消息路由

当 OFTP 给 OFTP 服务器发送文件时,客户端可以要求 OFTP 服务器将文件转发到另一个 OFTP 实体。发送文件到 serverA,根据设置文件将被转发到 serverB,该过程就被称作“消息路由”。

消息路由的一种常见用法是,一台单独的服务器作为多个 OFTP 接口的网关或交换节点。例如:想象一个公司有三个分支,每个都需要接收单独的 OFTP 消息。一个单独的 OFTP 服务器为整个公司当做交换节点,从外端接收 OFTP 消息在内部将消息路由到合适的 OFTP 接口(即专用于每个分支的 OFTP 服务器)。

然而,OFTP 连接 需要使用消息路由;两个接口可以直接建立连接且发送消息,无需任何中间的步骤。

SSID

当 OFTP 客户端尝试连接 OFTP 服务器,客户端通过向服务器发送 ODETTE ID 和关联的密码来表明身份。如果服务器识别到此 ID 且允许连接,将会返回它自己的 ODETTE ID 和密码。只有双方都识别到对方(通过 ID),才能成功连接。

这些 ID 值使用 “SSID” 命令进行交换,代表 Start Session ID。因此可以将 SSID 值视为在建立 OFTP 会话(连接)时,用于确认远端身份的 ID。

SFID

SFID 也是一个 ODETTE ID 值,但是和 SSID 的用法不同。当使用 SSID 与 OFTP 服务器发起会话(连接),SFID 用来识别文件的最终接收方。当客户端通过 OFTP 发送文件,包含一个 SFID 值,让远端知道这个文件是否应该被传送(路由)给另一个 OFTP 实体。

所以如果文件被保留在目标服务器上,文件 SFID 值可能和服务器的 SSID 值相同。如果客户端连接到一个交换节点即网关 OFTP 服务器,服务器需要传送(路由)文件给最终接收方。

在知行之桥中使用 SSID 和 SFID

在知行之桥中正确地配置 SSID 和 SFID 取决于 OFTP 交易伙伴是否需要消息路由(即在中间连接到一个交换节点),或文件应直接被传输到最终接收点。如果交易伙伴为 SSID 和 SFID 提供两种不同的 ID 值,那么就表明需要消息路由。

使用消息路由时的配置

如果交易伙伴需要消息路由,需要配置两个独立的 OFTP 端口。其中一个端口(称它为 connectorA),配置交换节点(即中间服务器)的连接详情,另一个端口(connectorB),配置最终收件服务器的连接详情。

connectorA 中的 ID 字段应填写交易伙伴的 SSID 值,或者标识交换节点服务器的值。connectorB 中的 ID 字段应填写交易伙伴的 SFID 值,或者标识最终收件服务器的值。除此之外,connectorB路由伙伴字段(在设置路由部分下),应该设置为connectorA

一旦配置此设置,要被传送至交易伙伴的文件会被上传/输入到 connectorB。该端口会使用 connectorA 连接交换服务器(由于设置了路由伙伴),并且使用connectorBID 处的 SFID,以便将文件路由到目标位置。

直接传输时的配置

如果交易伙伴不需要消息路由,那么他们应该只提供一个 SSID/SFID 值,以标识他们的 OFTP 服务器。只需配置一个 OFTP 端口(与使用消息路由时需要两个端口相反),端口中的 ID 字段应设置为交易伙伴提供的单个的 SSID/SFID 值。