使用X509Certificate格式的示例"Self Signed Certificate“,我将查看证书的序列号。
我不知道使用的是什么“编码类型”或“对话类型”,或者它是如何使用的。序列号是
证书原始输出中的4f:4b:6c:4c:f9:56:44:eb:85:0a:b1:36:b6:ec:e0:12
或
C# X509Certificate2原始输出中的4F4B6C4CF95644EB850AB136B6ECE012
当转换为序列号的纯文本时,这两个值中的任何一个都是
105400630530142072027530130683799068690
我假设我只需要将十六进制值转换为ASCII文本,但它给了我这样的结果。
OKlL?VD??\n?6???\u0012
所以不是这样的。这里需要使用什么解码方法才能生成正确的序列号?
编辑-刚刚了解到它现在是"ASN.1二进制整数到20个八位字节“。
发布于 2017-08-26 06:17:38
4F4B6C4CF95644EB850AB136B6ECE012是序列号的大端十六进制表示(也就是0x4F4B6C4CF95644EB850AB136B6ECE012)。
使用像http://www.mobilefish.com/services/big_number/big_number.php这样的东西将十六进制数转换为十进制数,我们得到105400630530142072027530130683799068690。
请注意,在.NET中,GetSerialNumber()返回小端,但SerialNumber属性返回大端。
https://stackoverflow.com/questions/45889503
复制相似问题