refactor(api): signAndPackReport 直接返回签名 ZIP 文件

This commit is contained in:
2026-03-05 16:58:59 +08:00
parent b193759e90
commit b1062a5aed
5 changed files with 10 additions and 20 deletions

View File

@@ -58,7 +58,7 @@
5. 生成 `META-INF/manifest.json`
6. OpenPGP 分离签名生成 `META-INF/signature.asc`
7. 重新打包为 signed ZIP
- 输出:`signedZipBase64``deviceSignature`
- 输出:签名后 ZIP 文件(二进制响应,`application/zip`
## 4. 安全约束(签名打包)

View File

@@ -12,7 +12,7 @@
>
> 1. UX 校验 ZIP 并提取必需文件;
> 2. UX 生成 `deviceSignature`、`summary.json`、`META-INF/manifest.json`、`META-INF/signature.asc`
> 3. UX 重新打包并返回签名后的 ZIPBase64),工具箱再用于离线介质回传平台。
> 3. UX 重新打包并返回签名后的 ZIP二进制文件响应),工具箱再用于离线介质回传平台。
## 一、ZIP 文件结构要求

View File

@@ -74,7 +74,7 @@ OpenAPI 中已按 `tags` 分组:
- 文件类型:`application/zip``application/x-zip-compressed`
- 其他业务字段(如 `deviceId``taskId`)与文件一起提交
- 接口响应为 JSON其中 `signedZipBase64` 为签名后 ZIP 的 Base64 编码
- 接口响应为签名后 ZIP 文件(`application/zip`
示例curl
@@ -85,13 +85,8 @@ curl -X POST "http://localhost:3000/api/crypto/sign-and-pack-report" \
-F "enterpriseId=1173040813421105152" \
-F "inspectionId=702286470691215417" \
-F "summary=检查摘要信息" \
-F "rawZip=@./report-raw.zip;type=application/zip"
```
响应中的 `signedZipBase64` 可按以下方式还原为 ZIP
```bash
# jq -r '.signedZipBase64' response.json | base64 -d > signed-report.zip
-F "rawZip=@./report-raw.zip;type=application/zip" \
--output signed-report.zip
```
## 6. 推荐接入方式