Class SignVerifyAspect
java.lang.Object
tech.riemann.nif.web.sign.SignVerifyAspect
签名验证切面
基于Spring AOP实现的签名验证拦截器,用于拦截带有@SignVerify注解的类或方法
验证流程: 1. 检查请求是否标记@SignVerify注解 2. 从请求Header中获取appId 3. 通过appId查询密钥信息 4. 从请求Header中提取签名、时间戳、nonce等参数 5. 验证时间戳是否在有效期内 6. 验证nonce是否重复使用 7. 计算签名并与请求签名对比
配置示例:
nif:
web:
sign:
enabled: true
default-expire-seconds: 300
密钥不由配置提供:请注册 AppSecretProvider(对称算法:HMAC_SHA256 / SM3) 或 AppKeyProvider(非对称算法:SM2 / RSA)Bean。
- Author:
- Kerbores(kerbores@riemann.tech)
-
Constructor Summary
ConstructorsConstructorDescriptionSignVerifyAspect(SignVerifier signVerifier, boolean enabled, NonceCache nonceCache) -
Method Summary
Modifier and TypeMethodDescriptionverifySign(org.aspectj.lang.ProceedingJoinPoint point) AOP环绕通知,拦截带有@SignVerify注解的方法或类
-
Constructor Details
-
SignVerifyAspect
-
-
Method Details
-
verifySign
-