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