微信小微商户接口开发_java_相关问题汇总

 

1.开发需要什么环境?

    就我个人开发而言,环境jdk8及以上,最合适,需要额外改动的东西最少,jdk7对于加密解密使用来讲比较麻烦,

  抛开无限制权限策略文件不谈,就AES/GCM/NoPadding这也是不支持,如果jdk7开发涉及到修改jdk文件,一定要备

  份,特别是还需要调用其他支付公司的接口,一定要注意对于加验签加解密是否有影响,切记; 

2. 涉及哪些证书?

  1.开发中主要用.p12证书(读取到程序,而不是安装到windows);

  2.获取平台证书加签时会使用key.pem证书(验签时不使用,验签使用获取的微信平台证书);

  3.微信平台证书(用于加密数据);

3.微信小微测试环境为何返回 'hahah'?

    如果你开发时经历了千辛万苦才调通它某一个接口,它却返回haha(),那你就

  中招了,不过也要恭喜你遵守了正确的开发流程,就目前来看从推出到20180825还暂无发使用测试环境,所以直接连

  接生产环境,提交真实数据;

4.微信平台证书如何管理?

    关于平台证书如何管理,官方给的是使用中控服务器,但对于大多数公司来讲显得不那么现实,由于平台证书是可

  能不定期更换的,所以不能依据证书弃用时间来使用证书,我的建议是在数据库建表管理证书(只储存信息,不储存证书

  文件本身),每天定时获取证书,判断获取的全部证书是否在数据库中存在,存在只改证书弃用时间,不存在校验与系统

  时间差,小于等于系统时间解密证书(基于微信会提前推送新证书文件,抓住的是在某天存在两个证书并且同时可用的时

  间点完成切换),解密完成之后将之前启用证书关闭,储存新证书信息到数据库并开启使用状态,需要加密时获取启用的

  证书信息,以读取证书文件,其中许多细节就不多讲了;

5.申请API证书(ca权威颁发)是否会运行原来的API证书使用?

  //答案是不影响,不会影响以前的业务,后续接口都会使用新的ca颁发的证书;

  答案是影响,大约两个月之后改成必须全部升级为新证书,所以必须更换原证书;

6.加签验签是使用APIv3秘钥还是原秘钥?

  使用的是原来的秘钥,就目前感知来看APIv3秘钥只在解密平台证书时使用;

7.对于指明签名算法类型的接口应该用什么加验签?

  使用MD5加密,HMAC-SHA256与MD5的加签验签在微信官方提供的工具类中都用,使用很方便,不需要自己写;

8.如何在调用图片上传时加载证书?

    调用图片上传接口的文章不少,所以不多说,主要是难以找到既上传图片又使用证书的文章,推荐使用HttpsURLC

  onnection,使用setSSLSocketFactory()方法添加证书,加载p12证书,我没有看到有直接指导加载.p12的文章,所以连

  蒙带猜写出了一个,幸运的是还能用,一张图片供参考;

  

9.图片上传接口里示例代码使用的是.pem证书,到底应该使用什么证书?

  由于是新接口,基本没有相关文章,所以比较迷惑人,答案是使用.p12;

10.RFC3339时间格式应该怎样转换成普通格式?

   引入Joda-Time jar包;

11.开发时获取项目路径为/D:...时,使用示例代码Paths.get()方法时无法读取?

    示例代码时为了获取证书的byte[]格式内容;直接使用io流读取文件然后获取byte[](io流可以正常读取

  /D:..这样的开头文件路径);

 12.签名正确为什么会返回验证签名错误?

  可能是加密数据字段未正常加密(自己出现过这个情况)  

原文地址:https://www.cnblogs.com/hi-feng/p/9534211.html