X509序列号使用java

前端之家收集整理的这篇文章主要介绍了X509序列号使用java前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要从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相关文章