java - X509序列号使用java

标签 java security x509certificate x509 certificate

我需要从 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/

相关文章:

ssl - 创建自签名 SSL 证书

java - 在非 JDK/非 JRE 安装系统中运行 Java 应用程序的问题

java - 如何在java中更改鼠标进入和鼠标退出时的字体颜色

即使实现了可序列化,也会抛出 java.io.NotSerializedException

java - 使用spring mvc时无法加载css和js文件

java - 如何使用自定义 PolicySpi

c# - 服务器不接受在 HttpClientHandler 上设置的证书

java - 访问硬件加密设备java

security - 是否有必要通过 HTTPS 加密浏览器数据?

PHP 使用密码加密方案的安全登录系统