merchantNo、agreementId、appKey、serctkey。orderId、请求时间戳requireTime。openssl genrsa -out rsa_private_key.pem 2048
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out
rsa_private_pkcs8.pem openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
测试环境公钥: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7qaqR/gd9zJD0aejfLF3pOEGdvVJWZ8437KI/XrQkp4b6qO2zHS2/yW4/h3gBYAS8G032ie+f4gzhNZV+cwY2xwDdg+lVllj56zLiK4ymfxbWzZ6Ywjp8CyKGMNXsCargKM96vpFmjC8gR+cuUuVL4+wH7asrrl6inkpTfFB3ICx671ylSLK9WdVReBHCsGyQ5bvbKus1bOVGBpGNCY6oTgN+y5GEJ1fxKTH3PhQBGgMr0f/WRTgQSSzHSNB1vd20KjbYuy9zPGDAhU8xrPTbXYhAODtMDz5BRSq/aqQ57jplJbwG4BHjuhNGFSqRzymNBJuI0ph/E/n7hBPq/Z8zwIDAQAB
生产环境公钥: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxwcBhpbuyDVnz2Rvao8hieZ2wXK+cjYMCLgye+5ubOq3PlOV31N3TMEfzXUeM4TH7RwZIPWwg9dt91v9n63t9y82ImMGSyangMCl1tUF7HP8F5q4rNoQ0v0nDP6j8O6uGslTitjPvIfB+C9BK0LKahvcys2qrCEoc1SSfMzAtBZ7OY0UX0kZdiRkmb+GIImcjIRdvHZvlQui+36soCeLKALF5EmQfFjlyNaRIt/4gx1gW9f3NxzNDh/St++AnhINZ+7r3K4pzaMj2pvjNJJpzUERF5PerSYxymD17OSIBwM01/Gm8dTgfm7jJoUnb02MM2UiWrfkcpbzah9nfuQW/QIDAQAB商户私钥 rsa_private_pkcs8.pem 自行保管,在请求接口时用于对数据进行签名
商户公钥 rsa_public_key.pem 请提供给灵工平台,用于验签
商户可下载灵工平台公钥,进行请求数据加密或接收灵工平台的回调时进行验签
{"userName": "张三", "amount": 100.00})转换为JSON字符串。base64String)。这个字符串就是最终请求体中data字段的值。data字段的值(base64String) + orderId + requireTime + Serctkey。data字段的值,而不是字段名。signValue)。这个字符串就是最终请求头中sign字段的值。{"data": "base64String"}。如果遇到使用get不能放到body中,也可以直接将参数放拼接到url后面,如URL=“http:xxx.com/merchant/getxxx?data=”+content,因部分框架没有自动处理请求编码,如果请求提示签名错误,需要进行URL=“http:xxx.com/merchant/getxxx?data=”+URLEncoder.encode(content,“utf-8”)
sign: signValue(第8步的结果)signTypes: RSAorderId: ...(订单号)requireTime: ...(请求时间戳)merchantNo、agreementId、appKey)。data字段的值,即Base64编码的密文字符串(base64String)。sign、orderId、requireTime等字段的值。bizData(即Body中的base64String) + orderId + requireTime + serct。data字段的值(base64String),而不是字段名。sign值进行Base64解码,得到二进制签名。base64String先进行Base64解码,得到二进制密文。{"data": {"参数字段名": "参数值"}, "tab": "通知类型"}。tab字段判断通知类型(1发放异步通知 2签约异步通知 3充值异步通知 4退票通知 5任务审核 6发票状态变动),然后处理data对象内的具体业务参数(如{"userName": "张三", "amount": 100.00})。