解密处调整
This commit is contained in:
parent
d119955f1d
commit
f7f4287034
|
|
@ -39,11 +39,11 @@ var CacheKeyMap = map[CacheKey]time.Duration{
|
||||||
OrderConsumeFailAlarmKey: 3600 * time.Second, // 1小时
|
OrderConsumeFailAlarmKey: 3600 * time.Second, // 1小时
|
||||||
OrderConsumeFailAlarmLockKey: 60 * time.Second,
|
OrderConsumeFailAlarmLockKey: 60 * time.Second,
|
||||||
NotifyRetryConsume: 60 * time.Second,
|
NotifyRetryConsume: 60 * time.Second,
|
||||||
WechatNotifyRegisterTagCacheKey: 86400 * time.Second, // 1天
|
WechatNotifyRegisterTagCacheKey: 5 * 86400 * time.Second, // 5天
|
||||||
WechatNotifyRegisterTagCacheLockKey: 60 * time.Second,
|
WechatNotifyRegisterTagCacheLockKey: 60 * time.Second,
|
||||||
WechatNotifyConsumeLockKey: 30 * time.Second,
|
WechatNotifyConsumeLockKey: 30 * time.Second,
|
||||||
|
|
||||||
ProductQueryKey: 86400 * time.Second,
|
ProductQueryKey: 5 * 86400 * time.Second, // 5天
|
||||||
ProductQueryLockKey: 30 * time.Second,
|
ProductQueryLockKey: 30 * time.Second,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ func (c *CmbMixRepoImpl) recordBody(ctx context.Context) {
|
||||||
|
|
||||||
func (s *CmbMixRepoImpl) OrderVerify(ctx context.Context, req *v1.CmbRequest) (*v1.CmbOrderRequest, error) {
|
func (s *CmbMixRepoImpl) OrderVerify(ctx context.Context, req *v1.CmbRequest) (*v1.CmbOrderRequest, error) {
|
||||||
|
|
||||||
bizStr, err := s.VerifyNew(ctx, req)
|
bizStr, err := s.Verify(ctx, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err2.ErrorCmbVerifyFail(err.Error())
|
return nil, err2.ErrorCmbVerifyFail(err.Error())
|
||||||
}
|
}
|
||||||
|
|
@ -73,7 +73,7 @@ func (s *CmbMixRepoImpl) OrderVerify(ctx context.Context, req *v1.CmbRequest) (*
|
||||||
|
|
||||||
func (s *CmbMixRepoImpl) QueryVerify(ctx context.Context, req *v1.CmbRequest) (*v1.CmbQueryRequest, error) {
|
func (s *CmbMixRepoImpl) QueryVerify(ctx context.Context, req *v1.CmbRequest) (*v1.CmbQueryRequest, error) {
|
||||||
|
|
||||||
bizStr, err := s.VerifyNew(ctx, req)
|
bizStr, err := s.Verify(ctx, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err2.ErrorCmbVerifyFail(err.Error())
|
return nil, err2.ErrorCmbVerifyFail(err.Error())
|
||||||
}
|
}
|
||||||
|
|
@ -97,7 +97,7 @@ func (s *CmbMixRepoImpl) QueryVerify(ctx context.Context, req *v1.CmbRequest) (*
|
||||||
|
|
||||||
func (s *CmbMixRepoImpl) ProductQueryVerify(ctx context.Context, req *v1.CmbRequest) (*v1.CmbQueryProductRequest, error) {
|
func (s *CmbMixRepoImpl) ProductQueryVerify(ctx context.Context, req *v1.CmbRequest) (*v1.CmbQueryProductRequest, error) {
|
||||||
|
|
||||||
bizStr, err := s.VerifyNew(ctx, req)
|
bizStr, err := s.Verify(ctx, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
@ -123,27 +123,6 @@ func (s *CmbMixRepoImpl) Verify(_ context.Context, req *v1.CmbRequest) (string,
|
||||||
|
|
||||||
str := cmb.SortStructStr(req)
|
str := cmb.SortStructStr(req)
|
||||||
|
|
||||||
b, err := cmb.Verify(s.bc.Cmb.CmbSm2Puk, str, req.Sign)
|
|
||||||
if err != nil {
|
|
||||||
return "", err2.ErrorCmbVerifyFail(err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
if !b {
|
|
||||||
return "", err2.ErrorCmbVerifyFail("签名验证失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
bizStr, err := cmb.Decrypt(s.bc.Cmb.Sm2Prk, req.EncryptBody)
|
|
||||||
if err != nil {
|
|
||||||
return "", err2.ErrorCmbBizContentDecryptFail(err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
return bizStr, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *CmbMixRepoImpl) VerifyNew(_ context.Context, req *v1.CmbRequest) (string, error) {
|
|
||||||
|
|
||||||
str := cmb.SortStructStr(req)
|
|
||||||
|
|
||||||
b, err := cmb.VerifyBody(str, req.Sign, s.bc.Cmb.CmbSm2Puk)
|
b, err := cmb.VerifyBody(str, req.Sign, s.bc.Cmb.CmbSm2Puk)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err2.ErrorCmbVerifyFail(err.Error())
|
return "", err2.ErrorCmbVerifyFail(err.Error())
|
||||||
|
|
@ -153,7 +132,7 @@ func (s *CmbMixRepoImpl) VerifyNew(_ context.Context, req *v1.CmbRequest) (strin
|
||||||
return "", err2.ErrorCmbVerifyFail("签名验证失败")
|
return "", err2.ErrorCmbVerifyFail("签名验证失败")
|
||||||
}
|
}
|
||||||
|
|
||||||
bizStr, err := cmb.DecryptBody(&cmb.Decrypts{req.EncryptBody, s.bc.Cmb.CmbSm2Pik})
|
bizStr, err := cmb.DecryptBody(&cmb.Decrypts{EncryptBody: req.EncryptBody, PrivateKey: s.bc.Cmb.Sm2Prk})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err2.ErrorCmbBizContentDecryptFail(err.Error())
|
return "", err2.ErrorCmbBizContentDecryptFail(err.Error())
|
||||||
}
|
}
|
||||||
|
|
@ -181,7 +160,7 @@ func (s *CmbMixRepoImpl) GetRequest(_ context.Context, reqBo *bo.CmbRequestBo) (
|
||||||
|
|
||||||
str := fmt.Sprintf("%s?%s", reqBo.FuncName, cmb.SortStructStr(req))
|
str := fmt.Sprintf("%s?%s", reqBo.FuncName, cmb.SortStructStr(req))
|
||||||
|
|
||||||
sing, err := cmb.Sign(s.bc.Cmb.CmbSm2Pik, str)
|
sing, err := cmb.SignBody(str, s.bc.Cmb.Sm2Prk)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
@ -201,7 +180,7 @@ func (s *CmbMixRepoImpl) GetMockRequest(_ context.Context, bizContent string) (*
|
||||||
return nil, errors.New("mock cmb sm2 pik is empty")
|
return nil, errors.New("mock cmb sm2 pik is empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
encryptBody, err := cmb.EncryptBody(&cmb.Encrypts{SoaPubKey: s.bc.Cmb.CmbSm2Puk, JsonParam: bizContent})
|
encryptBody, err := cmb.EncryptBody(&cmb.Encrypts{SoaPubKey: s.bc.Cmb.Sm2Puk, JsonParam: bizContent})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,9 @@ func TestVerify(t *testing.T) {
|
||||||
|
|
||||||
xx, err := Verify(pukKey, content, signDataBase64)
|
xx, err := Verify(pukKey, content, signDataBase64)
|
||||||
t.Log(xx, err)
|
t.Log(xx, err)
|
||||||
|
|
||||||
|
ok, err := VerifyBody(content, signDataBase64, pukKey)
|
||||||
|
fmt.Println(ok, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestVerifyCmbReply(t *testing.T) {
|
func TestVerifyCmbReply(t *testing.T) {
|
||||||
|
|
@ -172,7 +175,7 @@ func TestGenerateSm2KeyAndEncryptDecrypt(t *testing.T) {
|
||||||
t.Log(aa)
|
t.Log(aa)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestZhEncryptVerify(t *testing.T) {
|
func TestVerifyBody(t *testing.T) {
|
||||||
pukKey := "04838f74275e6f4f2373d4e6e974ac790c10ab6f9c17e273cf0c84848c6838979c158315932e36f0b9444442f145e4671b1ee5d43d5d63913a70d4d0d52cc3c0d6"
|
pukKey := "04838f74275e6f4f2373d4e6e974ac790c10ab6f9c17e273cf0c84848c6838979c158315932e36f0b9444442f145e4671b1ee5d43d5d63913a70d4d0d52cc3c0d6"
|
||||||
|
|
||||||
content := "accessToken.json?aid=9dad6d3900ec3ffabd80e46522a10ead&cmbKeyAlias=SM2_CMBLIFE&date=20250305115032&encryptBody=BHeko/ZYFzQOJn6Q3y46X1AjNz8Nh5fq1FfMuWebh+TangLnlK5iFqePCst4rjG/FKJInijiKO2Qq18sJULlMEEgri05s+bHHDKM+Y+73crAbCnIhHbZxUjt8A0cq2rKjzkl8bxW33dU18uuiTEAmsAvKvmZgE6zJ1eDyjFWefHEIFJaKCNY2cTQOInt|8UYFZFTkx0DovPhaWCbdBkAqbgGmegT14F5gwXLJ6G1uWdYNvX+i5QWAYUGtd8u9&keyAlias=CO_PUB_KEY_SM2&mid=f806c259d86e3b9aa956c98d475b6af7&random=286d97b1d8ed4bbf822b004470c92ae8"
|
content := "accessToken.json?aid=9dad6d3900ec3ffabd80e46522a10ead&cmbKeyAlias=SM2_CMBLIFE&date=20250305115032&encryptBody=BHeko/ZYFzQOJn6Q3y46X1AjNz8Nh5fq1FfMuWebh+TangLnlK5iFqePCst4rjG/FKJInijiKO2Qq18sJULlMEEgri05s+bHHDKM+Y+73crAbCnIhHbZxUjt8A0cq2rKjzkl8bxW33dU18uuiTEAmsAvKvmZgE6zJ1eDyjFWefHEIFJaKCNY2cTQOInt|8UYFZFTkx0DovPhaWCbdBkAqbgGmegT14F5gwXLJ6G1uWdYNvX+i5QWAYUGtd8u9&keyAlias=CO_PUB_KEY_SM2&mid=f806c259d86e3b9aa956c98d475b6af7&random=286d97b1d8ed4bbf822b004470c92ae8"
|
||||||
|
|
@ -183,18 +186,24 @@ func TestZhEncryptVerify(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDecryptBody(t *testing.T) {
|
func TestDecryptBody(t *testing.T) {
|
||||||
priKey := "f6a8d2f412e289686aba6a0f33cad1a64367d0ba012046ee0fbbefd3ffd675bd"
|
//priKey := "f6a8d2f412e289686aba6a0f33cad1a64367d0ba012046ee0fbbefd3ffd675bd"
|
||||||
|
priKey := "8d39ff3d2559258c163f4510f082727f51531e1953ab203d5ab1ea4a6d94fd73"
|
||||||
|
|
||||||
//content := "BAdcIauIjNx3LsrplpJiZoljE4hCiGHra6ulhgG1qL0tKcAeenX+Z9VaHfXLSdkji1fYBpdZiiI35R0vFtnXPXJCJdHsGbfbae+PzNznYQS3KM8/90Y/FIWzSoszfUiF6fAuv8I6v9kQuqHUTidHeHyICDoyvJ0nhbNyUyg85bAKd6TmkVX1MgXLQ81m|5KfR/5UkpVBEQv1dx+iJbojOykNRuDV8Gsy3QOIlRI+cZvafRRPUUG6eeixnPMumhOvyZwsSG/OBeg0U/lSlAepg12tXWcQ601wjgyLaKN1iMvb1DCtfnJFAm8EWAc2SLH3NQuyhxGe/jgCXvj0wGphh4vBUzm8la8i8Aij0BI5lfgU5OzglkKDln6zHN3vBHDqOurEh18eU6z1bfvNnDpzdwEcygcEIH/6lGiqVnGH+C2+QpcKeCnj5qKGFiuSC"
|
//content := "BAdcIauIjNx3LsrplpJiZoljE4hCiGHra6ulhgG1qL0tKcAeenX+Z9VaHfXLSdkji1fYBpdZiiI35R0vFtnXPXJCJdHsGbfbae+PzNznYQS3KM8/90Y/FIWzSoszfUiF6fAuv8I6v9kQuqHUTidHeHyICDoyvJ0nhbNyUyg85bAKd6TmkVX1MgXLQ81m|5KfR/5UkpVBEQv1dx+iJbojOykNRuDV8Gsy3QOIlRI+cZvafRRPUUG6eeixnPMumhOvyZwsSG/OBeg0U/lSlAepg12tXWcQ601wjgyLaKN1iMvb1DCtfnJFAm8EWAc2SLH3NQuyhxGe/jgCXvj0wGphh4vBUzm8la8i8Aij0BI5lfgU5OzglkKDln6zHN3vBHDqOurEh18eU6z1bfvNnDpzdwEcygcEIH/6lGiqVnGH+C2+QpcKeCnj5qKGFiuSC"
|
||||||
//content := "BDUuuPClIlUKDJdpHtNBIU6u5JTetrVG53AfKDSrhah9Q0QZWAj3K5pZF8G/HFtzj/KvbrHfP/gnHri0L7L91HaKYYc1vqy/q8Z69v7MEiIWL2LeLOsc2b0cHmnt7Qey5aZzYVbZJJNhus2gvhahGwOPpPL50JFC8IqAlU4+E/kUBgx+RgzAIkLLs8Se|k1WOt2Eb+xkxSobw/1DaLblguznhnsk1ga87sfqrrPATRuTyszzdVrRtCUuUHRKJ+vQwlZAR1ypkBC1vPMdt8zccI/CeNof+4Ap23enbQwTJQ4KRvij4kbJd6ycY97B+vHnI+oSnwfmjK0EWNUeRrCr2Uau7yxmzlFwJHprbgPZpHVuUjAzMIXNixOfxSTdc9dL+j3/tR7+yookvd9W3hNm96XZFPTheI0FqUKkbKWUUcVs4lC1/yEgjwXFcD4NM"
|
//content := "BDUuuPClIlUKDJdpHtNBIU6u5JTetrVG53AfKDSrhah9Q0QZWAj3K5pZF8G/HFtzj/KvbrHfP/gnHri0L7L91HaKYYc1vqy/q8Z69v7MEiIWL2LeLOsc2b0cHmnt7Qey5aZzYVbZJJNhus2gvhahGwOPpPL50JFC8IqAlU4+E/kUBgx+RgzAIkLLs8Se|k1WOt2Eb+xkxSobw/1DaLblguznhnsk1ga87sfqrrPATRuTyszzdVrRtCUuUHRKJ+vQwlZAR1ypkBC1vPMdt8zccI/CeNof+4Ap23enbQwTJQ4KRvij4kbJd6ycY97B+vHnI+oSnwfmjK0EWNUeRrCr2Uau7yxmzlFwJHprbgPZpHVuUjAzMIXNixOfxSTdc9dL+j3/tR7+yookvd9W3hNm96XZFPTheI0FqUKkbKWUUcVs4lC1/yEgjwXFcD4NM"
|
||||||
content := "BDqANzEC9vq82FTu9wR89Ou/8o2J2vD7yeoExb1Uxl2PSA9EsvI7YQNGSkSdxoloqRBn4vIrA8Uh+FmWtJ9wbFEEtbC+Epj8qHWN8S+lH9JEnvJhPhEtMgmHeuGDtvzHMACvc7KoBmJ/6XZIoEyLeRgkJnCTVVxnD78KMJ4eXzj7C2ErkISJ5r3qcL9t|cPw/uy87PW74aeU1RwGwUsYXZlXYkG0m+BoO/3qT4rLSIWsHvBN76yQJlTk89aa9VALdtwcU7H0q7ivCLZ9uflB6YFkg5QRQoj1b2AFFU4TPkpgAdCBAKs5+6z9cwDn+QQyuamKAnp1wJfMj7Ksa3HxLwCxTh/w2dF6LuruLFWZstMK1g9ID7tVTPqc05VNmktmNhc97BYuIH66xa0ZFgr+0i/3hFMx0hNTOau5UWFM6v4Lb1iM/v9ggM5ZvAheUspfgvRUhpD2TZvgyneWxqg=="
|
//content := "BDqANzEC9vq82FTu9wR89Ou/8o2J2vD7yeoExb1Uxl2PSA9EsvI7YQNGSkSdxoloqRBn4vIrA8Uh+FmWtJ9wbFEEtbC+Epj8qHWN8S+lH9JEnvJhPhEtMgmHeuGDtvzHMACvc7KoBmJ/6XZIoEyLeRgkJnCTVVxnD78KMJ4eXzj7C2ErkISJ5r3qcL9t|cPw/uy87PW74aeU1RwGwUsYXZlXYkG0m+BoO/3qT4rLSIWsHvBN76yQJlTk89aa9VALdtwcU7H0q7ivCLZ9uflB6YFkg5QRQoj1b2AFFU4TPkpgAdCBAKs5+6z9cwDn+QQyuamKAnp1wJfMj7Ksa3HxLwCxTh/w2dF6LuruLFWZstMK1g9ID7tVTPqc05VNmktmNhc97BYuIH66xa0ZFgr+0i/3hFMx0hNTOau5UWFM6v4Lb1iM/v9ggM5ZvAheUspfgvRUhpD2TZvgyneWxqg=="
|
||||||
|
content := "BOk+pytaf5faPeISKp/rzspV2ngCr/RuHe3lTTGv+0csaKh3y/x/e6njEbpYpQXCcYTI4eN9pjKMyU9ByA1hsfmiCSU4ziUCu5+ltxDFt/FHuhspBwIYRkVCQM9WefydXgGEuXBd0S+yB6BhBMqJgSUuyjxyF5AecdFoB9AoRyslbqSflqn2cctw5pIx|yvTLMRUfjO+9XV4ilxNBMD9jLwA1PYdthta5uhOOSzaJVOdNDhC+aAltyrLrZkBIUOrPZX7U3RtJVLnsk0y+t8/di+XxriZtnZZ0vTJC0q5tAONN9IE7s9clGGclX5dXYGV4jhP70tFzSeTlWsviLAs9sCvsuIloKEGLJdDvJ53vxiYskX3+pOF0uvOkAlJb70pfOHXsIzSAEhFC88O6o9AR4BRa18ex3V+CqN0CkFUqVazvxoyPFlhzxRXZyBkt"
|
||||||
|
|
||||||
rs, err := DecryptBody(&Decrypts{content, priKey})
|
rs, err := DecryptBody(&Decrypts{content, priKey})
|
||||||
|
if err != nil {
|
||||||
fmt.Println(rs, err)
|
t.Log(err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestZhEncryptEncrypt(t *testing.T) {
|
t.Log(string(rs))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestEncryptBody(t *testing.T) {
|
||||||
pukKey := "04a702106cf530dc981e44cd515b394747cfd6bb059247696b188b25281ea4278fe7c6e34a83680110eec71becd31f5db14abc671e5d8e67ce7ca3c6b3adc86674"
|
pukKey := "04a702106cf530dc981e44cd515b394747cfd6bb059247696b188b25281ea4278fe7c6e34a83680110eec71becd31f5db14abc671e5d8e67ce7ca3c6b3adc86674"
|
||||||
content := `{"name":"zhangxx","phoneNo":"137xxxxxxxx"}`
|
content := `{"name":"zhangxx","phoneNo":"137xxxxxxxx"}`
|
||||||
xx, err := Encrypt(pukKey, content)
|
xx, err := Encrypt(pukKey, content)
|
||||||
|
|
|
||||||
|
|
@ -37,11 +37,6 @@ func NewHTTPServer(
|
||||||
|
|
||||||
v1.RegisterCmbHTTPServer(srv, cmb)
|
v1.RegisterCmbHTTPServer(srv, cmb)
|
||||||
|
|
||||||
//v1.POST("/decryptBody", voucherService.DecryptBody)
|
|
||||||
//v1.POST("/queryWechatVoucherNotifyUrl", voucherService.QueryWechatVoucherNotifyUrl)
|
|
||||||
//v1.POST("/setWechatVoucherNotifyUrl", voucherService.SetWechatVoucherNotifyUrl)
|
|
||||||
//v1.POST("/test", voucherService.Test)
|
|
||||||
|
|
||||||
return srv
|
return srv
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue