你好,我就是按照这个方法生成的证书,一共有3个文件apiclient_cert.p12、apiclient_cert.pem、apiclient_key.pem。其中在微信支付(JSAPI)代码中用SHA256 with RSA的方式生成签名。参考的就是https://pay.weixin.qq.com/docs/merchant/development/interface-rules/signature-generation.html里的方法: [代码] Signature sign = Signature.getInstance("SHA256withRSA");[代码] sign.initSign(yourPrivateKey); sign.update(message); 这里面initSign需要添加你的私钥,但私钥需要处理成PrivateKey格式,用之前生成的私钥apiclient_key.pem生成PrivateKey,会报错,错误信息见1楼。请问如何处理?
微信支付SHA256 with RSA无法生成签名,程序报错?用生成证书工具当中的私钥apiclient_key.pem。在生成签名时程序报错。 导致无法生成签名。 https://pay.weixin.qq.com/docs/merchant/development/interface-rules/signature-generation.html 在这提供的链接里,缺少了生成PrivateKey的步骤。从网上找到的生成PrivateKey的代码,代入私钥apiclient_key.pem中的内容,就会报错。 DerInputStream.getLength(): lengthTag=111, too big -----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEEMpULuPfuHfq NQ+QWo7zpqYKsM5SzNtQGSQIHiYmtVI9y8YZ+iVfzakUpMqCwmFGmnWHEtN8dHct ……中间省略21行类似的内容…… ScaX5UyHXihG8TfjTvNE8giNm697weQxyZ+Yy9SYtyi1KuzqSr9LLaQ2xamXOh3J AKXaVXpEKh04NsN2BRjGb8OiQcIUkR2BVTFmwaSv2GFfk68mToGHQRleyiSbHUG6 4US+VzcmZaMzstcNdDREbw6E -----END PRIVATE KEY-----
03-05