我需要从 X509 证书中获取一些数据。
如果我在 Windows 中打开证书文件,它会以这种格式显示其序列号。
ex. 39 65 70 eb d8 9f 28 20 4e c2 a0 6b 98 48 31 0d
我正在尝试使用 java 获取相同的数据。加载后,我使用
x509.getSerialNumber();
and result is : 76292708057987193002565060032465481997
那么这两者有什么区别呢?我想要结果作为上一个。
最佳答案
Windows 显示序列号的十六进制表示,而 Java 从 X509Certificate.getSerialNumber()
返回 BigInteger
结果.
要将 BigInteger
显示为十六进制值,只需调用 toString(16)
。
BigInteger bi = new BigInteger("76292708057987193002565060032465481997");
System.out.println(bi.toString(16));
将输出:
396570ebd89f28204ec2a06b9848310d
关于java - X509序列号使用java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12582850/