@pubinfo-pr/module-crypto
v0.238.1
Published
Pubinfo 的请求加密模块。它在应用启动时向后端拉取加密开关与公钥配置,并通过 Pubinfo 的 HTTP hooks 在请求发送前加密、响应返回后解密。
Readme
@pubinfo/module-crypto
Pubinfo 的请求加密模块。它在应用启动时向后端拉取加密开关与公钥配置,并通过 Pubinfo 的 HTTP hooks 在请求发送前加密、响应返回后解密。
它在做什么
- 提供
crypto()模块注册函数 - 启动时请求后端获取:
publicKeycryptoEnabledcryptoModecryptoWhitePath
- 在
http:request阶段按规则加密请求 - 在
http:response阶段按规则解密响应 - 提供多种加密算法装配函数
基本用法
import { crypto, setupAes } from '@pubinfo/module-crypto';
export function setupCrypto() {
return crypto({
request: auth,
cryptoSetting: setupAes(),
});
}主要导出
cryptocryptoContextsetupAessetupSm4CbcsetupSm4Ecb
工作方式
- 模块以
enforce: 'pre'注册,尽量早地挂上 HTTP 钩子 - 请求侧会跳过带
X-Crypyto-Key的请求,以及命中白名单或关闭加密的场景 - 响应侧默认不处理
blob下载响应 - 实际使用哪种算法,由业务传入的
cryptoSetting决定
适用场景
- 需要前后端协商公钥的敏感接口
- 需要 AES / SM4 请求加密的政企类项目
- 已经基于
pubinfo请求体系开发,希望统一在模块层接入加密逻辑的项目
