项目作者: MilkZS

项目描述 :
X509 parsing toolkit, independent of third-party packages, pure JAVA parsing
高级语言: Java
项目地址: git://github.com/MilkZS/X509CertAnalyse.git
创建时间: 2019-05-23T06:17:04Z
项目社区:https://github.com/MilkZS/X509CertAnalyse

开源协议:

下载


X509CertAnalyse

README OF CHINESE

    Because under Android 5, the X509 certificate parsing used by SDK will make mistakes, which seems to be related to Android system, so in a fit of anger, the toolkit has been modified and optimized. This toolkit is completely independent of any third-party package, pure JAVA code parsing, and no system, SDK.

Demo

  1. System.out.println("============= X509证书解析 =============");
  2. ZX509Certificate certificate = new ZX509Certificate(StringUtil.hexToBytes(cert));
  3. System.out.println("\n============= Issuer ================");
  4. System.out.println("OrganizationName :" + certificate.issuer.getOrganizationName());
  5. System.out.println("CountryName :" + certificate.issuer.getCountryName());
  6. System.out.println("CommonName :" + certificate.issuer.getCommonName());
  7. System.out.println("Issuer :" + certificate.issuer.getIssuer());
  8. System.out.println("\n============= Subject ================");
  9. System.out.println("OrganizationName :" + certificate.subject.getOrganizationName());
  10. System.out.println("CountryName :" + certificate.subject.getCountryName());
  11. System.out.println("OrganizationalUnitName :" + certificate.subject.getOrganizationalUnitName());
  12. System.out.println("CommonName :" + certificate.subject.getCommonName());
  13. System.out.println("Subject :" + certificate.subject.getSubject());
  14. System.out.println("\n============= time ================");
  15. System.out.println(certificate.time.getStartTimeYMD() + " - " + certificate.time.getEndTimeYMD());
  16. System.out.println(certificate.time.getStartTimeYMDHMS() + " - " + certificate.time.getEndTimeYMDHMS());
  17. System.out.println("\n============= version ================");
  18. System.out.println("version : " + certificate.getVersion());
  19. System.out.println("\n============= algorithm ================");
  20. System.out.println("Type : " + certificate.algorithmIdentifier.getType());
  21. System.out.println("Name : " + certificate.algorithmIdentifier.getName());
  22. System.out.println("SimpleName :" + certificate.algorithmIdentifier.getSimpleName());
  23. System.out.println("\n============= subjectPublicKey ================");
  24. System.out.println("Type : " + certificate.subjectPublicKey.algorithmIdentifier.getType());
  25. System.out.println("Name : " + certificate.subjectPublicKey.algorithmIdentifier.getName());
  26. System.out.println("SimpleName : " + certificate.subjectPublicKey.algorithmIdentifier.getSimpleName());
  27. System.out.println("PublicKeyInfo : " + StringUtil.toHex(certificate.subjectPublicKey.getPublicKeyInfo()));