Расшифровать серийный номер X509Certificate2?

С образцом «Самоподписанный сертификат» в формате X509Certificate я смотрю на серийный номер сертификата.

Я не мог понять, какой «тип кодирования» или «тип преобразования» используется или как он используется. Серийный номер

4f:4b:6c:4c:f9:56:44:eb:85:0a:b1:36:b6:ec:e0:12 в необработанном выводе сертификата

or

4F4B6C4CF95644EB850AB136B6ECE012 в C# X509Certificate2 Необработанный вывод

Любое из этих двух значений при преобразовании в обычный текст серийного номера равно

105400630530142072027530130683799068690

Я предположил, что мне нужно только преобразовать шестнадцатеричное значение в текст ASCII, но это дало мне это.

OKlL?VD??\n?6???\u0012

Так что это не так. Какой метод декодирования используется для получения здесь правильного серийного номера?

[Отредактировано] - Только что узнал, что теперь это «двоичное целое число ASN.1 до 20 октетов».


person fletchsod    schedule 25.08.2017    source источник


Ответы (1)


4F4B6C4CF95644EB850AB136B6ECE012 — это шестнадцатеричное представление серийного номера с обратным порядком байтов (также известное как 0x4F4B6C4CF95644EB850AB136B6ECE012).

Используя что-то вроде http://www.mobilefish.com/services/big_number/big_number.php чтобы преобразовать это шестнадцатеричное число в десятичное число, мы получаем 105400630530142072027530130683799068690.

Имейте в виду, что в .NET GetSerialNumber() возвращает обратный порядок байтов, а свойство SerialNumber возвращает обратный порядок байтов.

person bartonjs    schedule 25.08.2017