1
This commit is contained in:
@@ -1,15 +1,6 @@
|
||||
package lakala
|
||||
|
||||
import (
|
||||
"crypto"
|
||||
"crypto/rand"
|
||||
"crypto/rsa"
|
||||
"crypto/sha256"
|
||||
"crypto/x509"
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"encoding/pem"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"testing"
|
||||
@@ -21,42 +12,6 @@ func TestSign(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
func TestJiami(t *testing.T) {
|
||||
sign, err := signParamRSA2("8000000000001", "1610334026688401311", "1621690412", "123456789012", LaKaLaPrivateKey)
|
||||
globals.SugarLogger.Debugf("---sign := %s", sign)
|
||||
globals.SugarLogger.Debugf("---err := %v", err)
|
||||
}
|
||||
|
||||
// signParamRSA 支付签名
|
||||
func signParamRSA2(appId, serialNo, timeStamp, nonceStr, RSAPrivate string) (sign string, err error) {
|
||||
block, _ := pem.Decode([]byte(RSAPrivate))
|
||||
private, err := x509.ParsePKCS8PrivateKey(block.Bytes)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
// 签名参数
|
||||
body1, err := json.Marshal(`{"reqData":....此处省略具体报文......}`)
|
||||
sm4Key, _ := base64.StdEncoding.DecodeString(SM4Key)
|
||||
body2, err := SM4ECBEncrypt(body1, sm4Key)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
bodyData := base64.StdEncoding.EncodeToString(body2)
|
||||
context := fmt.Sprintf("%s\n%s\n%s\n%s\n%s\n", appId, serialNo, timeStamp, nonceStr, bodyData)
|
||||
|
||||
// 进行rsa加密签名
|
||||
hashed := sha256.Sum256([]byte(context))
|
||||
signedData, err := rsa.SignPKCS1v15(rand.Reader, private.(*rsa.PrivateKey), crypto.SHA256, hashed[:])
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
signData := base64.StdEncoding.EncodeToString(signedData)
|
||||
authorization := signData // fmt.Sprintf(`LKLAPI-SHA256withRSA appid="%s",serial_no="%s",timestamp="%s",nonce_str="%s",signature="%s"`, a.appID, a.serialNo, timeStamp, nonceStr, signData)
|
||||
return authorization, nil
|
||||
}
|
||||
|
||||
func TestPayStatusQuery(t *testing.T) {
|
||||
api.PayStatusQuery(&PayStatusQueryReq{
|
||||
MerchantNo: "822290059430BFA",
|
||||
|
||||
Reference in New Issue
Block a user