Как извлечь серийный номер из сертификата SSL

Я удивлен. Насколько я понимаю, завершение PID 1 вызывает панику ядра . Я могу рассказать вам, что произошло в том случае.

Режим паники можно настроить. С параметрами по умолчанию вы получите цикл , который выглядит именно так, как вы говорите.

Используемая функция задержки задокументирована как «ожидание занятости -». Не ожидается переход в режим энергосбережения -, сохраняющий состояния сна ЦП, используемые при нормальном бездействии ОС.

Если вы посмотрите на след, напечатанный паникой, я думаю, вы увидите, что все это происходит внутри sys_exit(). Я думаю, что технически PID 1 не уничтожается, он просто никогда не возвращается после выполнения этого системного вызова. Любые другие процессоры останавливаются первыми.

(Существует что-то, называемое "загрузочным бездействующим потоком" . Я не вижу его участия в этом процессе. AFAICT вы никогда не сможете увидеть эту ветку. И если вы хотите понимать это как бездействующий поток, вам также нужно спросить, что обеспечивает бездействующий поток для других процессоров, когда они подключены к сети ).

1
31.07.2019, 21:33
1 ответ

Попробуйте:

openssl x509 -noout -serial -in cert.pem | cut -d'=' -f2 | sed 's/../&:/g;s/:$//'

openssl x509 -noout -serial -in cert.pemвыведет серийный номер сертификата, но в формате serial=0123456709AB.

Таким образом, он передается в cut -d'=' -f2, который разделяет вывод на знак равенства и выводит вторую часть-0123456709AB.

Это отправлено sed. Первая часть команды seds/../&:/gразбивает строку через каждые два символа(..)и вставляет двоеточие (:). Это приводит к01:23:45:67:89:AB:(обратите внимание на двоеточие в конце ).

Вторая часть команды sed(s/:$//)ищет двоеточие в конце вывода и заменяет его пустой строкой, что приводит к желаемому результату.


Или только для ответов opensslи sed:

openssl x509 -noout -serial -in test2.crt |  sed 's/.*=//g;s/../&:/g;s/:$//'

Добавление s/.*=//gв начале команды sedзаменяет cutв первой версии.

9
27.01.2020, 23:41

Теги

Похожие вопросы