- 接入先享后付, WechatPay-API-v3回调报文验签失败
本次主要是接入先享后付,其中创建订单,完结订单,都有获取报文的head,组建签名串进行签名验证,均通过。但是进行回调报文验签一直验签失败。 验签代码:[图片] [图片] [图片] [图片] 验签规则是按照文档中操作的,此下为摘录文档片段 [图片]
2019-10-16 - 接入先享后付, WechatPay-API-v3回调报文验签失败?
本次主要是接入先享后付,其中创建订单,完结订单,都有获取报文的head,组建签名串进行签名验证,均通过。但是进行回调报文验签一直验签失败。 验签代码:[图片] [图片] [图片] [图片] 验签规则是按照文档中操作的,此下为摘录文档片段 [图片]
2019-10-16 - 获取微信平台证书解密报错-Tag Mismatch
javax.crypto.AEADBadTagException: Tag mismatch! at com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:578) at com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1116) at com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1053) at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:853) at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446) at javax.crypto.Cipher.doFinal(Cipher.java:2164) 如题,按照官方的文档执行也是这样,所有参数都有了,包括APIv3秘钥,依然报错 调用的URL是:https://api.mch.weixin.qq.com/v3/certificates 解密代码: private static String aesgcmDecrypt(String aad, String iv, String cipherText) throws Exception { final Cipher cipher = Cipher.getInstance(ALGORITHM, "SunJCE"); SecretKeySpec key = new SecretKeySpec(AES_APIV3_KEY.getBytes(), "AES"); GCMParameterSpec spec = new GCMParameterSpec(TAG_LENGTH_BIT, iv.getBytes()); cipher.init(Cipher.DECRYPT_MODE, key, spec); cipher.updateAAD(aad.getBytes()); return new String(cipher.doFinal(Base64.getDecoder().decode(cipherText))); }
2019-09-12