2023-07-12 23:20:28 +08:00
# **China E-Port Data Signature**
2022-02-14 00:25:46 +08:00
2025-08-02 23:25:41 +08:00
中国电子口岸(海口海关)报文加签推送应用.
_A free, open-source end-to-end signature solution for Chinese E-Port CEBXxxMessage and Customs 179 messages. Plug-and-play, no middleware required. Suitable for enterprise-grade e-commerce and trade._
2025-08-02 22:00:28 +08:00
[](https://github.com/julxxy/chinaport-data-signature/releases)
[](https://github.com/julxxy/chinaport-data-signature/stargazers)
[](https://github.com/julxxy/chinaport-data-signature/network/members)
[](https://github.com/julxxy/chinaport-data-signature/issues)
[](https://github.com/julxxy/chinaport-data-signature/blob/main/LICENSE)
[](https://hub.docker.com/r/weasleyj/chinaport-data-signature)
[](https://hub.docker.com/r/weasleyj/chinaport-data-signature)
[](https://hub.docker.com/r/weasleyj/chinaport-data-signature/tags)
[](https://search.maven.org/artifact/io.github.weasley-j/chinaport-data-signature-data-model)
[](https://openjdk.org/)
[](https://spring.io/projects/spring-boot)
[](https://www.docker.com/)
[](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API)
[](https://github.com/julxxy/chinaport-data-signature/releases/latest)
[](https://hub.docker.com/r/weasleyj/chinaport-data-signature)
[](https://github.com/julxxy/chinaport-data-signature/wiki/%E5%BC%80%E5%8F%91%E8%80%85%E4%B8%AD%E5%BF%83)
2023-07-23 14:59:36 +08:00
2025-07-31 00:17:00 +08:00
---
2023-07-14 23:07:10 +08:00
2025-07-31 00:17:00 +08:00
## Foreword | 前言
2023-07-14 23:07:10 +08:00
2025-07-31 00:17:00 +08:00
> After nearly two years of open-source code maintenance and exploration, we have developed an all-in-one solution offering free, open and universal access for a wide range of businesses. The aim is to digitally sign and forward XML messages to the General Administration of Customs via China E-Port (HaiKou Customs), facilitating efficient cross-border e-commerce and import-export business.
>
> 经过近两年的开源代码维护和探索, 我们终于开发出一站式免费解决方案, 为更多企业提供快速接入和使用能力。项目旨在实现中国电子口岸( 海口海关) 总署XML 报文加签推送,助力跨境电商与进出口业务发展。
>
> _2023-07_
2023-07-14 23:07:10 +08:00
2025-07-31 00:17:00 +08:00
本项目遵循 `GNU 3.0` 协议,测试用例中企业信息已获授权,企业调试时应将报文数据中涉及到的`报文传输编码( DXPID) ` 、`copCode` 、`copName` 、`电商平台代码ebpCode` 等主体信息替换成企业在中国电子口岸后台注册的有效信息。
2023-07-14 23:07:10 +08:00
2025-07-31 00:17:00 +08:00
---
2023-07-14 23:07:10 +08:00
2025-07-31 00:17:00 +08:00
## Features | 功能亮点
2023-07-12 23:20:28 +08:00
2025-07-31 00:17:00 +08:00
- 支持中国电子口岸 CEBXxxMessage 及 179 数据报文加签
- Plug-and-play, 开箱即用, 无需中间件, 无需二次编译
- 支持 JSON 报文直推
- 加签失败邮件通知、支持企业微信、钉钉、飞书、Discord 等扩展告警
- U-Key 健康状态异常自动重启 WebSocket 客户端
- 支持 Docker 镜像部署 & Maven 数据模型集成
2025-06-26 23:09:57 +08:00
2025-07-31 00:17:00 +08:00
---
2025-06-26 23:09:57 +08:00
2025-07-31 00:17:00 +08:00
## Usage Scenarios | 业务场景
2025-06-26 23:09:57 +08:00
2025-07-31 00:17:00 +08:00
- 进出口贸易、跨境电商、物流、外贸等企业数据上报
- 所有需向中国电子口岸或海关报送签名报文的企业系统
2025-06-26 23:09:57 +08:00
2025-07-31 00:17:00 +08:00
---
2023-07-18 22:40:44 +08:00
2025-07-31 00:17:00 +08:00
## Quick Start | 快速使用
2023-07-18 22:40:44 +08:00
2025-07-31 00:17:00 +08:00
- 单体应用:直接下载 [Releases ](https://github.com/julxxy/chinaport-data-signature/releases )
- 微服务:切换 [feature_microservice ](https://github.com/julxxy/chinaport-data-signature/tree/feature_microservice ) 分支
- Docker 镜像:[Docker Hub ](https://hub.docker.com/repository/docker/weasleyj/chinaport-data-signature )
2025-08-02 22:00:28 +08:00
- Java项目集成: 使用 [Maven 数据模型 ](https://central.sonatype.com/artifact/io.github.weasley-j/chinaport-data-signature-data-model ), Maven Integration
```xml
< dependency >
< groupId > io.github.weasley-j< / groupId >
< artifactId > chinaport-data-signature-data-model< / artifactId >
< version > Latest Version< / version >
< / dependency >
```
2022-02-18 23:41:44 +08:00
2025-07-31 00:17:00 +08:00
> 建议 Windows 平台用 [Git Bash](https://gitforwindows.org/) 启动(终端日志不乱码)
2023-07-14 23:07:10 +08:00
2025-07-31 00:17:00 +08:00
---
2023-07-14 23:07:10 +08:00
2025-07-31 00:17:00 +08:00
## 功能概述
2023-07-18 21:34:28 +08:00
2025-08-02 23:25:41 +08:00

2023-07-18 21:34:28 +08:00
2025-07-31 00:17:00 +08:00
---
2022-02-18 23:41:44 +08:00
2025-07-31 00:17:00 +08:00
## 系统架构
2022-02-18 23:41:44 +08:00
2025-07-31 00:17:00 +08:00

2023-07-28 16:51:35 +08:00
2025-07-31 00:17:00 +08:00
---
2022-02-18 23:41:44 +08:00
2025-07-31 00:17:00 +08:00
## 报文加签推送流程
2022-02-18 23:41:44 +08:00
2025-07-31 00:17:00 +08:00

2022-02-14 00:25:46 +08:00
2025-07-31 00:17:00 +08:00
---
2022-02-19 00:16:40 +08:00
2025-07-31 00:17:00 +08:00
> 2022年2月14日之前互联网无相关资料, 本项目填补空白。对比市场付费服务多数隐藏加签算法, 完全开源, 欢迎反馈贡献!
2022-02-19 00:16:40 +08:00
2025-07-31 00:17:00 +08:00
---
2022-02-19 00:16:40 +08:00
2025-07-31 00:17:00 +08:00
## 电子口岸支持覆盖范围
2023-07-18 21:34:28 +08:00
2025-07-31 00:17:00 +08:00
理论支持中国大陆各大地方电子口岸,表中为已验证/待验证端口:
2023-07-30 21:39:06 +08:00
2023-08-15 17:36:53 +08:00
| 电子口岸 | 是否支持 | 是否验证 |
|--------|------|------|
| 海口电子口岸 | ✅ | ✅ |
| 广州电子口岸 | ✅ | ✅ |
| 郑州电子口岸 | ✅ | 待验证 |
| 上海电子口岸 | ✅ | 待验证 |
| 杭州电子口岸 | ✅ | 待验证 |
| ... | | |
2023-07-30 21:39:06 +08:00
2025-07-31 00:17:00 +08:00
---
2022-02-18 02:40:29 +08:00
2025-07-31 00:17:00 +08:00
## 软件运行环境/开发环境
2022-02-14 00:25:46 +08:00
2025-07-31 00:17:00 +08:00
| 类目 | 版本 | 备注 |
|------|------------------------------------------------------------------------------------------------------------|------------------------------|
| JDK | [Java SE Development Kit 17 ](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html ) | Java SE Development Kit 17 + |
| 硬件 | Windows10/11/Server, Linux | u-key 仅支持插在 Windows 电脑 |
| 性能 | ≥1核CPU+2G内存 | 最低配置 |
| 技术要求 | 基本 shell 操作 | Windows 需会安装 U-Key 并设置脚本 |
2022-02-18 23:41:44 +08:00
2025-07-31 00:17:00 +08:00
- _参见[中国电子口岸C卡/Key客户端下载页面: 卡介质登录 ](https://app.singlewindow.cn/cas/login?service=http%3A%2F%2Fwww.singlewindow.cn%2Fsinglewindow%2Flogin.jspx )_
- _电子口岸的操作员 Ukey 图片资料_ < img src = "https://alphahub-test-bucket.oss-cn-shanghai.aliyuncs.com/image/IMG_0401.jpg" alt = "u-key图片资料" style = "zoom:50%;" />
2023-08-05 13:47:46 +08:00
2025-07-31 00:17:00 +08:00
---
2022-02-14 00:25:46 +08:00
2025-07-31 00:17:00 +08:00
## 项目运行配置
2022-02-14 00:25:46 +08:00
2025-07-31 00:17:00 +08:00
本项目为 Spring Boot 应用, 所有参数均支持yaml/properties配置, 详见 [配置样例 ](https://github.com/julxxy/chinaport-data-signature/blob/main/chinaport-data-signature-webapp/src/main/resources/application-dev.yml )
2022-02-14 00:25:46 +08:00
2025-07-31 00:17:00 +08:00
**主要配置参数一览:**
2022-02-14 00:25:46 +08:00
2025-07-31 00:17:00 +08:00
| 配置参数 | 必须 | 说明 |
|--------------------------------------------------|----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| eport.signature.algorithm | N | [XML签名的算法类型 ](https://github.com/julxxy/chinaport-data-signature/blob/main/chinaport-data-signature-webapp/src/main/java/cn/alphahub/eport/signature/config/SignatureAlgorithmProperties.java#L20 ),不指定时使用程序自动推断的算法, 推荐使用程序自动推断的算法 |
| eport.signature.ukey.ws-url | Y | `u-key` 所连接的`Windows` 电脑的`socket` 链接`url` ,如: `ws://127.0.0.1:61232` ,下载`release` 直接运行的修改全局配置的`UKEY_HOST` 即可 |
| eport.signature.ukey.password | N | u-key密码的密码, 默认: `88888888` , 如果密码改过,需要指定下,下载`release` 直接运行的修改全局配置的`UKEY_PASSWORD` 即可 |
| eport.signature.ukey.health.endpoint.client-name | N | Windows上重启的ukey可执行文件全限定文件名称, 不指定将自动查找( 将程序安装到Windows平台上会生效, Linux、Uni环境无效) |
| eport.signature.auth.enable | N | [是否启用token鉴权 ](https://github.com/julxxy/chinaport-data-signature/blob/main/chinaport-data-signature-webapp/src/main/java/cn/alphahub/eport/signature/config/AuthenticationProperties.java#L34 ),取值:< u > on/off</ u > ,生产环境建议开启 |
| eport.signature.auth.token | N | 客户端请求鉴权token, 默认值: DefaultAuthToken, [请求头 ](https://github.com/julxxy/chinaport-data-signature/blob/main/chinaport-data-signature-webapp/src/main/java/cn/alphahub/eport/signature/config/AuthenticationProperties.java#L24 ), < u > 生产环境不建议使用默认值</ u > |
| eport.signature.report.ceb-message.cop-code | Y | [电子口岸XML报文 ](https://github.com/julxxy/chinaport-data-signature/blob/main/chinaport-data-signature-webapp/src/main/java/cn/alphahub/eport/signature/config/ChinaEportProperties.java#L20 )传输企业代码 |
| eport.signature.report.ceb-message.cop-name | Y | 传输企业名称,报文传输的企业名称 |
| eport.signature.report.ceb-message.dxp-id | Y | 文传输编号,向中国电子口岸数据中心申请数据交换平台的用户编号 |
| eport.signature.report.ceb-message.server | N | [海关服务器地址 ](https://github.com/julxxy/chinaport-data-signature/blob/main/chinaport-data-signature-webapp/src/main/java/cn/alphahub/eport/signature/config/ChinaEportProperties.java#L43 ), < u > 缺省则采用Client中的密文作文默认Server URL</ u > |
| eport.signature.report.customs179.ebp-code | Y | [海关 179 数据上报 ](https://github.com/julxxy/chinaport-data-signature/blob/main/chinaport-data-signature-webapp/src/main/java/cn/alphahub/eport/signature/config/Customs179Properties.java#L26 )的电商平台代码 |
| eport.signature.report.customs179.server | N | 数据上报服务器URL地址, 链接格式: https://域名联系海关/ceb2grab/grab/realTimeDataUpload, < u > 没有配置的话采用项目内置的URL密文地址< / u > |
2022-02-14 00:25:46 +08:00
2025-07-31 00:17:00 +08:00
---
2022-02-14 00:25:46 +08:00
2025-07-31 00:17:00 +08:00
### 跨平台启动
2022-02-14 00:25:46 +08:00
2025-07-31 00:17:00 +08:00
#### Windows
2022-02-14 00:36:21 +08:00
2025-07-31 00:17:00 +08:00
- [Git Bash 右键快捷启动脚本指南 ](https://github.com/julxxy/chinaport-data-signature/blob/main/使用GitBash右键运行启动脚本.md )
2022-02-14 00:36:21 +08:00
2025-07-31 00:17:00 +08:00
#### Linux/MacOS
2022-02-14 00:36:21 +08:00
```bash
2025-07-31 00:17:00 +08:00
sh start.sh
2022-02-14 00:36:21 +08:00
```
2025-07-31 00:17:00 +08:00
_参见[start.sh ](https://github.com/julxxy/chinaport-data-signature/blob/main/start.sh )_
2022-02-17 01:47:17 +08:00
2022-02-18 23:41:44 +08:00
2023-07-13 23:35:36 +08:00
2025-07-31 00:17:00 +08:00
---
2023-07-13 23:35:36 +08:00
2025-07-31 00:17:00 +08:00
## 邮件通知/故障自愈
2022-02-17 01:47:17 +08:00
2025-07-31 00:17:00 +08:00
- [配置通知示例 ](https://github.com/julxxy/chinaport-data-signature/blob/main/chinaport-data-signature-webapp/src/main/resources/application-dev.yml#L26-L43 )
- 支持异常自动重启、U-Key 自动健康检测
- 可拓展企业微信、钉钉、飞书、Discord等
2022-02-17 01:47:17 +08:00
2025-07-31 00:17:00 +08:00
---
2023-07-13 23:40:00 +08:00
2025-07-31 00:17:00 +08:00
## 接口调试及响应示例
2022-02-17 01:47:17 +08:00
2025-07-31 00:17:00 +08:00
- 启动项目并访问 `http://localhost:8080`
- 在线 H5 文档调试及参数说明,支持直接发起签名请求(注意请求参数的**字符串转义**)
2022-02-17 01:47:17 +08:00
2025-07-31 00:17:00 +08:00
**XML加签响应示例: **
2022-02-17 01:47:17 +08:00
```json
{
2022-02-18 23:41:44 +08:00
"message": "操作成功",
2023-03-16 16:01:35 +08:00
"success": true,
2023-07-15 23:16:10 +08:00
"timestamp": "2023-07-15 12:15:47",
2023-03-16 16:01:35 +08:00
"code": 200,
"data": {
2022-02-17 01:47:17 +08:00
"success": true,
2023-07-15 23:16:10 +08:00
"certNo": "03000000000cde6f",
"x509Certificate": "MIIEoDCCBESgAwIBAgIIAwAAAAAM3m8wDAYIKoEcz1UBg3UFADCBmDELMAkGA1UEBhMCQ04xDzANBgNVBAgMBuWMl+S6rDEPMA0GA1UEBwwG5YyX5LqsMRswGQYDVQQKDBLkuK3lm73nlLXlrZDlj6PlsrgxGzAZBgNVBAsMEuivgeS5pueuoeeQhuS4reW/gzEtMCsGA1UEAwwk5Lit5Zu955S15a2Q5Lia5Yqh6K+B5Lmm566h55CG5Lit5b+DMB4XDTIzMDMyOTAwMDAwMFoXDTMzMDMyOTAwMDAwMFowVjELMAkGA1UEBhMCQ04xMzAxBgNVBAsMKua1t+WNl+ecgeiNo+iqiei/m+WHuuWPo+i0uOaYk+aciemZkOWFrOWPuDESMBAGA1UEAwwJ5p2o5aaC6YeRMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE0vOQmplAr9igPZrA8F1msqnFd0U++6G6NhG5rNuIUWft0BwQn7eSJkt5/fvSSoe7pUg2/awHUWPnzkeeQc7oVqOCArUwggKxMBEGCWCGSAGG+EIBAQQEAwIFoDAOBgNVHQ8BAf8EBAMCBsAwCQYDVR0TBAIwADApBgNVHSUEIjAgBggrBgEFBQcDAgYIKwYBBQUHAwQGCisGAQQBgjcUAgIwHwYDVR0jBBgwFoAURCQxt0wEvoAVXmuo4N1bjKXTh0UwHQYDVR0OBBYEFAytGob5L0WqhOCZ5l6Lf2jUdNrAMGgGA1UdIARhMF8wXQYEVR0gADBVMFMGCCsGAQUFBwIBFkdodHRwczovL3d3dy5jaGluYXBvcnQuZ292LmNuL3RjbXNmaWxlL3UvY21zL3d3dy8yMDIyMDQvMTIxMzI5NDh4dDZwLnBkZjB/BgNVHR8EeDB2MHSgcqBwhm5sZGFwOi8vbGRhcC5jaGluYXBvcnQuZ292LmNuOjM4OS9jbj1jcmwwMzAwMDAsb3U9Y3JsMDAsb3U9Y3JsLGM9Y24/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP2NuPWNybDAzMDAwMDA+BggrBgEFBQcBAQQyMDAwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmNoaW5hcG9ydC5nb3YuY246ODgwMC8wOgYKKwYBBAGpQ2QFAQQsDCrmtbfljZfnnIHojaPoqonov5vlh7rlj6PotLjmmJPmnInpmZDlhazlj7gwEgYKKwYBBAGpQ2QFAwQEDAIwMTAiBgorBgEEAalDZAUIBBQMEjUxMjMyNDE5NjQxMDE3Mjk3WDAgBgorBgEEAalDZAUJBBIMEDAzLUpKMEc5MDAyMjA3NTIwGQYKKwYBBAGpQ2QFCwQLDAlNQTVUTkZHWTkwEgYKKwYBBAGpQ2QFDAQEDAIwMDASBgorBgEEAalDZAIBBAQMAjEyMBIGCisGAQQBqUNkAgQEBAwCMTQwDAYIKoEcz1UBg3UFAANIADBFAiBM4OVAc8aaCZU4XFfcVMkC7bWIIenRnPLxrnwVeYO3CQIhANQ767YIurkJCoLtwyqQPbUZe/+3BjGZcIWqB1mAl9T+",
2023-03-16 16:01:35 +08:00
"digestValue": "b2FtM/jHvW4fnJpMMPWk/177RwA=",
2023-07-15 23:16:10 +08:00
"signatureValue": "Pa2Ge3A1iH9e+85jIraVccvf2MB4ykjgC1MjObNd/MbPOSZRWTaizlnfReH3ErRMH5Wc3m60ZM6h56v7t7lIWg==",
"signatureNode": "< ds:SignedInfo xmlns:ceb = \"http://www.chinaport.gov.cn/ceb \" xmlns:ds = \"http://www.w3.org/2000/09/xmldsig# \" xmlns:xsi = \"http://www.w3.org/2001/XMLSchema-instance \">< ds:CanonicalizationMethod Algorithm = \"http://www.w3.org/TR/2001/REC-xml-c14n-20010315 \"></ ds:CanonicalizationMethod >< ds:SignatureMethod Algorithm = \"http://www.w3.org/2000/09/xmldsig #sm2 -sm3 \"></ ds:SignatureMethod >< ds:Reference URI = \"\"> <ds:Transforms >< ds:Transform Algorithm = \"http://www.w3.org/2000/09/xmldsig #enveloped -signature \"></ ds:Transform ></ ds:Transforms >< ds:DigestMethod Algorithm = \"http://www.w3.org/2000/09/xmldsig #sha1 \"></ ds:DigestMethod >< ds:DigestValue > b2FtM/jHvW4fnJpMMPWk/177RwA=</ ds:DigestValue ></ ds:Reference ></ ds:SignedInfo > "
2023-03-16 16:01:35 +08:00
}
2022-02-17 01:47:17 +08:00
}
```
2025-07-31 00:17:00 +08:00
**海关 179 加签响应示例:**
2022-02-17 01:47:17 +08:00
```json
{
2022-02-17 01:51:30 +08:00
"message": "操作成功",
"success": true,
2023-07-15 23:16:10 +08:00
"timestamp": "2023-07-15 12:16:36",
2022-02-17 01:51:30 +08:00
"code": 200,
"data": {
2022-02-17 01:47:17 +08:00
"success": true,
2023-07-15 23:16:10 +08:00
"certNo": "03000000000cde6f",
"signatureValue": "pVWbjCXqCy2zk0RRqbw16hWZozjTSP444fdT2k5MjqigJDsLZ/Vfgout3o/Gg0WrPbJnH/2wlI8I0n3niqYiqw=="
2022-02-18 23:41:44 +08:00
}
2022-02-17 01:47:17 +08:00
}
```
2025-07-31 00:17:00 +08:00
---
2022-02-18 23:41:44 +08:00
2025-07-31 00:17:00 +08:00
## 支持我们的项目
2023-07-11 18:40:14 +08:00
2023-07-30 21:39:06 +08:00
### 为什么赞助
2022-02-18 23:41:44 +08:00
2025-07-31 00:17:00 +08:00
- 帮助企业节约采购费用,使用行业通用开源加签
- 推动技术开放与协作,促进行业共享
- 支持项目持续改进和功能更新
2023-07-13 01:58:58 +08:00
2025-07-31 00:17:00 +08:00
### 为什么开源
2023-07-13 01:58:58 +08:00
2025-07-31 00:17:00 +08:00
- 市面绝大多数电子口岸加签解决方案为商业付费且封闭,企业投入成本高,透明度低。
- 我们坚信报文加签属于数字贸易的基础设施,应惠及更多企业与开发者。
- 开源不仅有助于提升行业信任度,也能集结社区力量持续改进和快速适配各地业务需求。
2025-08-02 22:00:28 +08:00
- 欢迎各类企业和个人贡献代码、文档、案例或提出宝贵建议!
2023-07-13 01:58:58 +08:00
2025-07-31 00:17:00 +08:00
### 如何赞助
2025-06-26 23:09:57 +08:00
2025-07-31 00:17:00 +08:00
- [PayPal ](https://www.paypal.me/shiwenjinga )
2023-07-13 01:58:58 +08:00
2025-06-26 23:12:14 +08:00
|  |  |
|:------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------:|
2023-07-13 01:58:58 +08:00
2025-07-31 00:17:00 +08:00
---
2023-07-13 01:58:58 +08:00
2025-07-31 00:17:00 +08:00
## 感谢/接入企业名录
2023-07-13 01:58:58 +08:00
2025-07-31 00:17:00 +08:00
排名不分先后, 自2023-07-11登记:
2023-07-13 01:58:58 +08:00
2025-07-31 00:17:00 +08:00
- 海南省荣誉进出口贸易有限公司 [官网 ](http://www.hnzrjck.com/ )
2023-07-30 18:46:02 +08:00
- 广州市汇客物流有限公司
2023-08-01 16:38:50 +08:00
- 海南嗨亿购科技有限公司
2024-10-21 08:58:08 +08:00
- 小红书
2025-02-17 17:32:16 +08:00
- 广东铭鸿数据有限公司
2025-08-02 23:25:41 +08:00
- 海口中伟机免投资有限公司
2023-07-13 01:58:58 +08:00
- ...
2025-07-31 00:17:00 +08:00
---
## License
[GNU 3.0 ](LICENSE )
---
**任何问题欢迎提 issue 或发邮件至 julxxy@outlook .com 交流!**