小程序
小游戏
企业微信
微信支付
扫描小程序码分享
用的这个解密示例https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/zheng-shu-he-hui-tiao-bao-wen-jie-mi,私钥用的是apiv3密钥,其他的字段都是平台证书返回的信息,请问下这是什么原因. 另外平台证书返回的ciphertext解密出来就是平台证书公钥吗,是用来加密敏感信息的吗,麻烦解答一下谢谢.
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
不知道你说的是哪个接口,假设是https://api.mch.weixin.qq.com/v3/applyment4sub/applyment/这个接口,你检查一下:
1:敏感信息加密时使用的证书要用从https://api.mch.weixin.qq.com/v3/certificates这个接口获取的证书
2:Wechatpay-Serial填的是从https://api.mch.weixin.qq.com/v3/certificates这个接口获取的证书序列号
3:敏感信息加密的算法是否有误
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
文档写的不清不楚,一直以为是需要调平台证书去获取公钥加密,实际上是调取平台获取平台证书的证书序列号,获取证书序列号是为了调有加密数据的接口时请求头Wechatpay-Serial要填平台证书的证书序列号
实际加密代码java
要引入微信提供的sdk wechatpay-apache-httpclient // 创建这个是为了敏感数据加密使用 PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey("证书文件里面的私钥privateKey"); AutoUpdateCertificatesVerifier verifier = WxHttpClientUtils.getVerifier( "商户号mchId", "证书文件里证书的序列号", "apiV3key",merchantPrivateKey); String data = RsaCryptoUtil.encryptOAEP("需要加密的内容", verifier.getValidCertificate());
用官方的获取证书接口返回的数据,然后官方的php类解密,返回false,怎么解
请按照以下几点进行了解:
1、加密敏感数据用的公钥信息不正确
2、使用的平台证书不正确,可以查看对应的证书序列号与“平台证书接口”返回的是否一致
3、加密方式不正确,详情可以参考https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi
4、公钥信息获取请使用对应语种的函数进行,详情可以参考https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi
平台证书公钥是什么呀,是apiclient_cert.pem这个文件吗,我用它加密的敏感信息返回“平台私钥解密失败”,头Wechatpay-Serial也填了,获取的平台证书序列号,卡了好久了,麻烦解答一下谢谢.
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
不知道你说的是哪个接口,假设是https://api.mch.weixin.qq.com/v3/applyment4sub/applyment/这个接口,你检查一下:
1:敏感信息加密时使用的证书要用从https://api.mch.weixin.qq.com/v3/certificates这个接口获取的证书
2:Wechatpay-Serial填的是从https://api.mch.weixin.qq.com/v3/certificates这个接口获取的证书序列号
3:敏感信息加密的算法是否有误
文档写的不清不楚,一直以为是需要调平台证书去获取公钥加密,实际上是调取平台获取平台证书的证书序列号,获取证书序列号是为了调有加密数据的接口时请求头Wechatpay-Serial要填平台证书的证书序列号
实际加密代码java
要引入微信提供的sdk wechatpay-apache-httpclient // 创建这个是为了敏感数据加密使用 PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey("证书文件里面的私钥privateKey"); AutoUpdateCertificatesVerifier verifier = WxHttpClientUtils.getVerifier( "商户号mchId", "证书文件里证书的序列号", "apiV3key",merchantPrivateKey); String data = RsaCryptoUtil.encryptOAEP("需要加密的内容", verifier.getValidCertificate());
用官方的获取证书接口返回的数据,然后官方的php类解密,返回false,怎么解
请按照以下几点进行了解:
1、加密敏感数据用的公钥信息不正确
2、使用的平台证书不正确,可以查看对应的证书序列号与“平台证书接口”返回的是否一致
3、加密方式不正确,详情可以参考https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi
4、公钥信息获取请使用对应语种的函数进行,详情可以参考https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi
平台证书公钥是什么呀,是apiclient_cert.pem这个文件吗,我用它加密的敏感信息返回“平台私钥解密失败”,头Wechatpay-Serial也填了,获取的平台证书序列号,卡了好久了,麻烦解答一下谢谢.