首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X.509证书序列号到十六进制转换

X.509证书序列号到十六进制转换
EN

Stack Overflow用户
提问于 2016-09-02 07:35:56
回答 1查看 6.7K关注 0票数 8

我试图使用Pythons OpenSSL库获取X.509证书的序列号。

如果我这样加载我的证书:

代码语言:javascript
复制
 x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_ASN1, cert)

然后像这样打印序列号:

代码语言:javascript
复制
print x509.get_serial_number()

看起来是这样的:

代码语言:javascript
复制
5.283978953499081e+37 

如果我像这样把它转换成巫术:

代码语言:javascript
复制
'{0:x}'.format(int(5.283978953499081e+37))

它返回以下内容:

代码语言:javascript
复制
27c092c344a6c2000000000000000000

但是,使用命令行中的OpenSSL打印证书序列号会返回以下内容。

代码语言:javascript
复制
27:c0:92:c3:44:a6:c2:35:29:8f:d9:a2:fb:16:f9:b7

为什么有一半的序列号被转换成零?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-02 12:43:16

代码语言:javascript
复制
'%x' % cert.get_serial_number()

'%x' %格式字符串(如'{0:x}'.format(cert.get_serial_number()) )

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39286805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档