feat(encryption): 实现前后端 AES-256-GCM 加密通信 #55

Merged
zhangxiang merged 1 commits from feat/api-encryption into dev 2026-08-02 08:52:10 +08:00
Owner

参考同级项目 novavis-authority 实现,在 HTTPS 基础上增加应用层加密。

后端:

  • CryptoService: AES-256-GCM + PBKDF2 密钥派生(manage-common)
  • CryptoFilter: Gateway GlobalFilter,检测 X-Encrypted 头后加解密请求/响应体
  • 配置:app.encryption.secret 通过环境变量注入

前端:

  • crypto.ts: Web Crypto API 实现 AES-256-GCM + PBKDF2
  • request.ts: 拦截器自动加密请求体、解密响应体
  • 环境变量 VITE_ENCRYPTION_SECRET

测试覆盖:

  • 后端 CryptoServiceTest 16 个用例 + CryptoFilterTest 7 个用例
  • 前端 crypto.test.ts 8 个用例 + Playwright E2E smoke 测试
  • 全量 510 个前端测试 + 后端全量测试全部通过,无回归
参考同级项目 novavis-authority 实现,在 HTTPS 基础上增加应用层加密。 后端: - CryptoService: AES-256-GCM + PBKDF2 密钥派生(manage-common) - CryptoFilter: Gateway GlobalFilter,检测 X-Encrypted 头后加解密请求/响应体 - 配置:app.encryption.secret 通过环境变量注入 前端: - crypto.ts: Web Crypto API 实现 AES-256-GCM + PBKDF2 - request.ts: 拦截器自动加密请求体、解密响应体 - 环境变量 VITE_ENCRYPTION_SECRET 测试覆盖: - 后端 CryptoServiceTest 16 个用例 + CryptoFilterTest 7 个用例 - 前端 crypto.test.ts 8 个用例 + Playwright E2E smoke 测试 - 全量 510 个前端测试 + 后端全量测试全部通过,无回归
zhangxiang added 1 commit 2026-08-02 08:52:05 +08:00
参考同级项目 novavis-authority 实现,在 HTTPS 基础上增加应用层加密。

后端:
- CryptoService: AES-256-GCM + PBKDF2 密钥派生(manage-common)
- CryptoFilter: Gateway GlobalFilter,检测 X-Encrypted 头后加解密请求/响应体
- 配置:app.encryption.secret 通过环境变量注入

前端:
- crypto.ts: Web Crypto API 实现 AES-256-GCM + PBKDF2
- request.ts: 拦截器自动加密请求体、解密响应体
- 环境变量 VITE_ENCRYPTION_SECRET

测试覆盖:
- 后端 CryptoServiceTest 16 个用例 + CryptoFilterTest 7 个用例
- 前端 crypto.test.ts 8 个用例 + Playwright E2E smoke 测试
- 全量 510 个前端测试 + 后端全量测试全部通过,无回归
zhangxiang merged commit eb33755f23 into dev 2026-08-02 08:52:10 +08:00
zhangxiang deleted branch feat/api-encryption 2026-08-02 08:52:10 +08:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novalon/gym-manage#55