URL certificateUrl = WeChatPay.class.getClassLoader().getResource("wechat/apiclient_cert.pem");
File certificateFile = new File(certificateUrl.getPath());
X509Certificate certificate = getCertificate(certificateFile.getPath());
log.info("certificate :{}", JSONObject.toJSONString(certificate));
BigInteger serialNumber = certificate.getSerialNumber();
String n16 = serialNumber.toString(16);
log.info("buildHttpClient -> merchantSerialNumber:{},serialNumber:{},n16:{}",merchantSerialNumber,serialNumber,n16);
debug打印出来的是16进制,带有a-f的,而log输出的没有带a-f的,如果是,加上
String n16 = serialNumber.toString(16);
就会转成16进制,与debug看到的一样。
其他的数据不一致,一般也是由数据精度与进制等问题导致