1.源碼是一個jar包,主要作用是使用國密SM2算法對http請求進行jwt簽名,可提供此jar包,公私鑰
2.加解密的案例文本如下:
//公鑰
String puk ="04C967E85308E58FED06B1C7040B79EC5E1CA771BA1710599E8A75889F8D476A6F20FA3C6B3F5055F4674EA742583C381D22BAB81412E67B4838B6DDC59F572CB9";
//私鑰
String pvk = "7f553f20a6c7e4c6d1be887bf79977556b558e92b9d5f9979992a7d591a3df84";
//明文
String plantxt ="{\"clientId\":\"ab00a83b-7476-4880-8c02-d68350c6f787\",\"scope\":\"\",\"clientSecret\":\"6J5AQ4\",\"grantType\":\"client_credentials\"}";
//簽名
String sign ="eyJraWQiOiJhYjAwYTgzYi03NDc2LTQ4ODAtOGMwMi1kNjgzNTBjNmY3ODciLCJ0eXAiOiJKV1QiLCJhbGciOiJTTTIifQ.e30.MzA0NTAyMjEwMGJmOTJiMDg3MzE0NGE0NDlhN2EyYmZmZWM4ZWU1ZDQ5ZWNkZTBmMzA2OThlZmRhYmJlZTAwMGRmNTM5ZTAxODIwMjIwM2IyYWNlNjEwMDcyZjg1ZGJkYTJiOTZiMzFkOWUxOGNlZmEyMmM5MmIwNjY5M2VjMWRjNmY0NDQyMzQxY2MzNg";
// 計算簽名JAVA 需引入SDK
String sign1 = SdkSignature.sign( pvk, plantxt);
//輸出簽名,國密算法基于橢圓算法,每次的簽名返回結果都是不一樣的
System.out.println(sign1);
//驗證上面案例簽名
System.out.println(SdkSignature.verifySign(sign, puk, plantxt));
//驗證計算的簽名
System.out.println(SdkSignature.verifySign(sign1, puk, plantxt));
希望能夠將Java語言改寫為nodejs,保證調通接口,目前因我方簽名錯誤導致對方系統報錯無法進行下去