前言
接了大组织的对接需求,需要对面要求采用jws方式生成签名和签名验证。
ps:
JWT(json web token)是设计一种简洁,安全,无状态的token的实现,通常用于网络请求方和网络接收方之间的网络请求认证。
JWE(JSON Web Encryption)敏感数据加密
JWS(JSON Web Signature)签名认证,可以解决否认、伪造、篡改及冒充等问题。
代码实现
生成签名:
//jws 的header
JSONObject jwsHeader = new JSONObject()
.fluentPut("alg","RS256")
.fluentPut("kid","xxoo")
//jws Payload 就是报文体(业务通信数据)
//prrkey SHA256加密私钥
//压缩jws header
String base64JwsHeader = Base64.encodeBase64URLSafeString(jwsHeader.toJSONString().getBytes());
//压缩jws payload
String base64JwsPayload = Base64