Парсинг X.509 сертификатов в Си

Что: cd7828b1e25e657ea5a853a1bebbca7453a76b1b

Когда: 2023-01-21 21:57:29+03:00

Темы: c crypto

Парсинг X.509 сертификатов в Си

https://www.sstic.org/media/SSTIC2019/SSTIC-actes/journey-to-a-rte-free-x509-parser/SSTIC2019-Article-journey-to-a-rte-free-x509-parser-ebalard_mouy_benadjila_3cUxSCv.pdf
Статья рассматривает проблемы парсинга сертификатов на Си. Это, само
собой, жопа, из-за сложности как структур, так и самого ASN.1.

Понравился раздел про developer constraints, которые они хотят
использовать.


  ибо это открывает врата в ад. Полностью отказываться от C99 из-за
  этого VLA я не хочу

  вообще редко когда встречается. Чаще всего я просто выделяю буферы
  достаточного размера (речь про работу с данными по сети). Пускай часть
  памяти и не будет использована полностью, но зато куда более простой
  код, наверняка и эффективный, плюс меньше возможных ошибок связанных с
  памятью кучи

  подсказывает всегда, как и про const, но про него и так не забываю

  Тоже предпочитаю их, когда явно есть возможность использования

  даже в самой документации к Clang не рекомендуется. А я все свои
  проекты всё равно с ним собираю. Лишь считанное количество
  игнорирований есть в коде

оставить комментарий

комментарий 0:

From: kmeaw
Date: 2023-01-22 00:36:22Z

> Strict compilation options
> clang -Weverything -Werror

Стоит очень аккуратно использовать опции типа -Weverything вместе с
-Werror. Я старась делать так, чтобы такие опции включались при
разработке, но не попадали в релизные тарболлы.

В противном случае это может стать источником проблем для мейнтейнера
пакета, ведь новая версия компилятора может содержать новые
предупреждения, которых на более старой версии, используемой
разработчиком, ещё не было.

комментарий 1:

From: Sergey Matveev
Date: 2023-01-22 10:22:55Z


>Стоит очень аккуратно использовать опции типа -Weverything вместе с
>-Werror. Я старась делать так, чтобы такие опции включались при
>разработке, но не попадали в релизные тарболлы.

Полностью согласен! Релиз и разработка это вещи раздельные. И,
действительно, сам напарывался на то, что при обновлении компилятора у
меня новые ошибки появлялись.

Сгенерирован: SGBlog 0.34.0