doc.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package gopay
  2. /*
  3. // Java SDK 获取Root证书SN
  4. public static String getRootCertSN(String rootCertContent){
  5. String rootCertSN = null;
  6. try {
  7. X509Certificate[] x509Certificates = readPemCertChain(rootCertContent);
  8. MessageDigest md = MessageDigest.getInstance("MD5");
  9. for (X509Certificate c : x509Certificates) {
  10. if(c.getSigAlgOID().startsWith("1.2.840.113549.1.1")){
  11. md.update((c.getIssuerX500Principal().getName() + c.getSerialNumber()).getBytes());
  12. String certSN = new BigInteger(1,md.digest()).toString(16);
  13. certSN = fillMD5(certSN);
  14. if(StringUtils.isEmpty(rootCertSN)){
  15. rootCertSN = certSN;
  16. }else {
  17. rootCertSN = rootCertSN + "_" + certSN;
  18. }
  19. }
  20. }
  21. }catch (Exception e){
  22. AlipayLogger.logBizError(("err"));
  23. }
  24. return rootCertSN;
  25. }
  26. // Java SDK 获取证书
  27. private X509Certificate getCert(String certPath) throws AlipayApiException{
  28. InputStream inputStream = null;
  29. try {
  30. inputStream = new FileInputStream(certPath);
  31. CertificateFactory cf = CertificateFactory.getInstance("X.509");
  32. X509Certificate cert = (X509Certificate)cf.generateCertificate(inputStream);
  33. return cert;
  34. }catch (IOException e) {
  35. throw new AlipayApiException(e);
  36. }catch (CertificateException e){
  37. throw new AlipayApiException(e);
  38. }finally {
  39. try {
  40. if (inputStream != null) {
  41. inputStream.close();
  42. }
  43. }catch (IOException e) {
  44. throw new AlipayApiException(e);
  45. }
  46. }
  47. }
  48. // Java SDK 获取证书SN
  49. private String getCertSN(X509Certificate cf) throws AlipayApiException{
  50. try {
  51. MessageDigest md = MessageDigest.getInstance("MD5");
  52. md.update((cf.getIssuerX500Principal().getName() + cf.getSerialNumber()).getBytes());
  53. String certSN = new BigInteger(1,md.digest()).toString(16);
  54. certSN = fillMD5(certSN);
  55. return certSN;
  56. }catch (NoSuchAlgorithmException e){
  57. throw new AlipayApiException(e);
  58. }
  59. }
  60. */