> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 配置 AS4 连接

> 在知行之桥中设置与交易伙伴的 AS4 连接，包括个人配置和端口设置。

export const companyName = "知行软件";

export const siteNameShort = "知行之桥";

export const siteName = "知行之桥";

## 概览

{siteName} 支持通过简单的两个步骤与交易伙伴建立 AS4 连接。首先，在 AS4 个人配置中配置本地 AS4 详情（标识符、私钥证书等）。然后，在 [工作流](/26.2/self-hosted/zh/flows/flows) 页面上针对特定的交易伙伴配置 AS4 端口。

## AS4 个人配置

[个人配置页面](/26.2/self-hosted/zh/getting-started/administration/profiles) 包含一个 **AS4** 部分，用于配置本地 AS4 详情。主要的配置细节包括：

* 参与方标识符（该值向交易伙伴标识 {siteNameShort} 为一个 AS4 实体）
* 私钥证书（用于解密传入消息和签署传出消息的证书）

点击导航栏上的 **个人配置** 来配置 AS4 个人配置设置，具体描述如下。

### 参与方标识符

AS4 标识符包含在传出的 AS4 消息中，用于识别发送方身份。此外，传入的 AS4 消息必须寻址到此标识符才能被应用程序接受。AS4 标识符有一些限制：例如，不能包含空格字符，且区分大小写。除这些限制（以及交易伙伴施加的任何限制）外，AS4 标识符可以是任何双方约定的值。

某些标识符必须通过 **参与方标识符类型** 进行限定，以为标识符值提供上下文。该值应为 Id 所属的域，例如 `urn:oasis:names:tc:ebcore:partyid-type:iso6523:0060`。

<img src="https://mintcdn.com/qiao/U-KEZ9JbQY4Wqs1D/public/images/config_as4_1.png?fit=max&auto=format&n=U-KEZ9JbQY4Wqs1D&q=85&s=3343d6005a32419c20e3349636a07ad2" alt="Party identifier configuration" width="600" data-path="public/images/config_as4_1.png" />

### 私钥证书

私钥证书用于数字加密（解密和数字签名）。私钥证书包含一个与公钥配对的私钥。当交易伙伴使用您的公钥来保护 AS4 消息时，它能确保只有您可以使用配对的私钥解密该消息。

{siteNameShort} 支持 PKCS#12 格式（.pfx 或 .p12 文件）的私钥证书，以及 PEM 编码的公钥证书（.cer 文件）。

<img src="https://mintcdn.com/qiao/U-KEZ9JbQY4Wqs1D/public/images/config_as4_1a.png?fit=max&auto=format&n=U-KEZ9JbQY4Wqs1D&q=85&s=80fb769077416db55c2152c53f74dbe2" alt="Private certificate configuration" width="600" data-path="public/images/config_as4_1a.png" />

#### 创建新证书对

如果还没有用于 AS4 安全的私钥和公钥对，{siteNameShort} 支持创建自签名证书。自签名证书在 AS4 领域很常见，但某些交易伙伴可能要求从受信任的证书颁发机构 (CA) 购买证书。

要创建新的证书对，请在 **私钥证书** 下拉菜单中选择 **创建证书**：

<img src="https://mintcdn.com/qiao/U-KEZ9JbQY4Wqs1D/public/images/config-as2_create_cert.png?fit=max&auto=format&n=U-KEZ9JbQY4Wqs1D&q=85&s=c06a9b4d009f5cc1a45481bb80381171" alt="Create Certificate option in the Private Certificate dropdown" width="600" data-path="public/images/config-as2_create_cert.png" />

以下字段是必填的：

* **常用名 (Common Name)**：使用该证书的服务器的主机名。它与序列号一起用于标识证书。
* **文件名**：证书文件的名称，带有 `.pfx` 扩展名。相应的公钥证书将被赋予相同的名称，扩展名为 `.cer`。
* **序列号**：唯一的序列号，与常用名结合使用以标识证书。
* **密码**：访问私钥所需的密码。
* **有效期**：决定证书的过期日期。
* **密钥长度**：选择创建 512、1024、2048 或 4096 位密钥。
* **公钥类型**：选择创建 X.509、OpenSSH 或 SSH2 公钥。
* **签名算法**：对证书应用数字签名以验证其真实性时使用的算法。

其余字段为可选字段，但可以使用它们为证书添加进一步的上下文和元数据。

创建完成后，证书文件将放置在应用程序的 `data` 目录中。该目录中的证书文件将出现在应用程序中任何证书类型设置的下拉列表中。

### 应用程序 URL

AS4 个人配置的 **应用程序 URL** 部分定义了交易伙伴向 {siteNameShort} 发送 AS4 消息时可公开访问的端点。在 **设置 > 高级** 页面的 [附加设置](/26.2/self-hosted/zh/getting-started/administration/settings/additional-settings) 部分设置 **基准 URL** 字段，指向托管 {siteNameShort} 的机器或网络的基准 URL（例如 `https://mydomain.com/{siteNameShort}`）。**接收 URL** 端点是根据此域名值和应用程序 Web 服务器监听的端口生成的。

## AS4 端口配置

配置完 AS4 个人配置后，导航至 **工作流** 页面并创建一个 AS4 端口实例。每个 AS4 端口都配置了单个交易伙伴的 AS4 详情。

<img src="https://mintcdn.com/qiao/U-KEZ9JbQY4Wqs1D/public/images/config_as4_2.png?fit=max&auto=format&n=U-KEZ9JbQY4Wqs1D&q=85&s=ec9a19c0b217a13f72cddf8c755daf7d" alt="AS4 connector on the Flows page" width="700" data-path="public/images/config_as4_2.png" />

### 必填配置设置

AS4 配置详情必须由交易伙伴提供。这些值是与交易伙伴共同商定的，因此请务必与他们沟通，以了解他们在这些字段中预期的值。交易伙伴至少必须提供以下详情：

* 参与方标识符
* 传出 AS4 消息发送到的 URL 或端点
* 用于加密的公钥证书或密钥
* 协议 (Agreement)
* 业务协议详情 (Business agreement details)

点击 AS4 端口 [设置选项卡](/26.2/self-hosted/zh/connectors/as4#settings-tab) 中 **连接** 字段的 **创建**，然后在 **配置连接** 页面提供以下必填值：

* **参与方标识符：** 针对目标交易伙伴特定的参与方标识符（区分大小写）。
* **URL：** 传出 AS4 消息发送到的交易伙伴公开端点。
* **协议：** 管理该交换的共享 AS4 协议。
* **加密证书：** 发送消息时用于 AS4 加密的公钥证书。

<img src="https://mintcdn.com/qiao/U-KEZ9JbQY4Wqs1D/public/images/config_as4_3.png?fit=max&auto=format&n=U-KEZ9JbQY4Wqs1D&q=85&s=62302d70920d5e612b4e0a0d9f2ba41a" alt="Configure Connection page for AS4" width="600" data-path="public/images/config_as4_3.png" />

在端口的 **设置** 选项卡提供剩余的必填 [业务协议详情](/26.2/self-hosted/zh/connectors/as4#business-agreement-details)。这些元数据传达了有关如何接收和解释 AS4 消息的信息：

* **服务 (Service)：** 接受消息的业务流程。
* **服务动作 (Service Action)：** 业务流程中正在执行的操作或活动。
* **发起方角色 (From Role)：** 消息来源方的角色。
* **接收方角色 (To Role)：** 消息交付到的参与方的角色。

<img src="https://mintcdn.com/qiao/U-KEZ9JbQY4Wqs1D/public/images/config_as4_4.png?fit=max&auto=format&n=U-KEZ9JbQY4Wqs1D&q=85&s=770c36ab9b6cd72fda2ed5ee2871c00b" alt="Business Agreement Details on the AS4 connector Settings tab" width="600" data-path="public/images/config_as4_4.png" />

### 附加配置设置

伙伴可能会有额外要求，例如：

* 同步或异步回执（在 **设置** 选项卡配置；如果未指定，默认其需要同步回执）
* 用于连接 HTTPS 服务器的 TLS 服务器证书（在 **配置连接** 页面配置）
* 消息属性（包含在 AS4 有效负载中的额外元数据，在端口配置选项卡的 [高级](/26.2/self-hosted/zh/connectors/as4#advanced-tab) 选项卡配置）
* 特定的加密或签名算法（在 **配置连接** 页面的 [高级](/26.2/self-hosted/zh/connectors/as4#advanced-connection-settings) 选项卡配置）
* 用于验证签名的独立证书（除加密证书外）（在 **配置连接** 页面的 **高级** 选项卡中配置）

伙伴可能还要求在 AS4 交换中使用特定的配置文件 (Profile)。请使用 **配置连接** 页面上的 **配置文件** 下拉菜单进行配置。这有助于确定共享配置设置，以确保伙伴之间的兼容性。设置配置文件会自动更新端口中相关的配置选项。可选的配置文件包括 `Standard`、`ENTSOG`、`e-SENS`、`DBEW`、`ENTSOG V4` 以及 `eDelivery V2`。

可以为几个高级设置选择 `Auto` 值，包括 **加密算法**、**签名算法**、**安全令牌格式**和 **SSL 启用协议**。设置为 `Auto` 时，端口会根据所选的配置文件自动为每个设置选择合适的值，但在必要时也可以手动覆盖这些值。

<Note>要在连接创建后进行编辑，请在 **设置 > 连接** 中找到该连接并点击其名称以打开 **编辑连接** 面板。在 AS4 端口内部无法编辑连接。</Note>

### 测试 AS4 连接

完成交易伙伴的配置后，可以通过生成测试文档来测试传出连接。导航至 AS4 端口的 **交易** 选项卡，选择 **添加文件 > 添加测试文件**。

除非在 [自动化](/26.2/self-hosted/zh/connectors/as4#automation-tab) 选项卡禁用了 **发送自动化**，否则端口会自动尝试处理这些测试文件。发送测试文件到配置的伙伴时发生的任何错误都会记录在 **交易** 选项卡，包括包含错误上下文和详情的日志文件。要进一步诊断连接问题，请使用 [高级选项卡](/26.2/self-hosted/zh/connectors/as4#advanced-tab) 上的 **日志级别** 和 **日志消息** 选项。

成功处理的文件将显示绿色的 **已发送** 状态。成功发送测试文件即证明 AS4 配置正确。

## 向交易伙伴提供 AS4 详情

正如交易伙伴必须提供 AS4 配置详情以便配置 AS4 端口一样，您也负责向伙伴提供 AS4 配置详情。

至少需要向伙伴提供：

* 您的 AS4 标识符
* 您的公钥或加密证书
* 您的接收 URL

此外，AS4 消息中的 **协议** 和 **业务协议详情** 元数据必须由双方共同商定。

## 发送和接收 AS4 消息

AS4 端口成功建立 AS4 连接后，即可安全可靠地与交易伙伴共享文件。

当 AS4 消息到达 {siteNameShort} Web 服务器时，应用程序会尝试将消息路由到特定的 AS4 端口。{siteNameShort} 使用消息头中的 AS4 标识符，将传入的文件路由到为发送该消息的伙伴配置的 AS4 端口。如果应用程序找不到为传入消息配置的 AS4 端口（基于 AS4 标识符），[应用程序日志](/26.2/self-hosted/zh/getting-started/administration/activity#application-logs) 将记录错误，且文件不会被接收。

### 交易选项卡

放置在 AS4 端口 **交易** 选项卡的文件（无论是手动放置还是从其他端口传递而来）将被端口排期发送。如果 **发送自动化** 在 **自动化** 选项卡上已启用（默认启用），端口将自动轮询此位置以处理文件。或者，也可以从 **交易** 选项卡手动发送文件。勾选目标文件左侧的复选框，然后点击 **发送**。

可以通过选择 **添加文件 > 上传文件**，使用 **交易** 选项卡将文件上传到发送文件夹。当端口属于连接的工作流时，文件也可以到达 AS4 端口。

当通过 AS4 接收的文件被路由到特定的 AS4 端口（基于 AS4 标识符）时，文件也会到达该端口的 **交易** 选项卡。如果 AS4 端口在工作流中未连接到另一个端口，则接收的文件将保留在 **交易** 选项卡，可以在此处查看它们。

### 作为工作流的一部分发送和接收

在大多数工作流中，文件在由 AS4 端口发送出去之前，会先由其他 {siteNameShort} 端口处理。当另一个端口在工作流中连接在 AS4 端口 *之前* 时，文件会自动传递到 AS4 端口的 **交易** 选项卡。

如果 AS4 端口在工作流中 *之后* 连接了端口，文件不会留在 **交易** 选项卡，而是传递到下一个端口。

### 管理回执

如果勾选了 [设置选项卡](/26.2/self-hosted/zh/connectors/as4#settings-tab) 上的 **启用回执**，AS4 端口在发送文件后会自动等待回执。如果回执包含负面响应（例如，伙伴拒绝了交换），端口将报告错误而不是发送成功。如果请求了异步回执，端口将保持在 *等待* 状态，直到伙伴返回回执。{companyName} 建议使用同步回执，除非通过 AS4 交换的文件非常大（500MB 或更大）。

如果传入的 AS4 消息请求了回执，AS4 端口会自动生成并发送。如果在接收 AS4 消息时发生错误，该错误将记录在 {siteNameShort} 中，并包含在返回给交易伙伴的回执中。发送回执所需的设置已包含在传入的 AS4 消息中，不需要在 AS4 端口中显式配置。
