如何在 Java 中将生成的 x509 证书转换为十六进制

How to convert generated x509certificate to Hex in Java

我使用 Java 生成了一个 x509 证书,但我需要将此 x509 证书转换为十六进制。

X509Certificate generateX509Certificate() throws Exception

{

X509CertificateStructure x509CertificateStructure = generateX509CertificateHolder().toASN1Structure();

CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");

InputStream is1 = new ByteArrayInputStream(x509CertificateStructure.getEncoded());
X509Certificate x509Certificate = (X509Certificate)certificateFactory.generateCertificate(is1);
return x509Certificate;

另一个选择是 byte[] 但我不知道如何将它转换为十六进制。 谢谢你的回答

我找到了解决方案

byte[] hex = x509Certificate.getEncoded();

  System.out.println("--------------------------------------");

  String hexText = DatatypeConverter.printHexBinary(hex);
  System.out.println(hexText);