[О блоге] [наверх] [пред] [2020-04-14 11:03:50+03:00] [da6f77caf60218017f75abdba0a62d0f52d05e71]

Зарелизил PyDERASN 7.7/7.8

https://lists.cypherpunks.ru/pipermail/pyderasn-devel/2020-April/000044.html
https://lists.cypherpunks.ru/pipermail/pyderasn-devel/2020-April/000047.html
Прежде тэги не проверялись при декодировании на чёткое следование
требованиям BER/CER/DER (они общие для тэгов). Например там могли идти
байты с нулевым значением -- при декодировании номер тэга будет такой
же, но у него несколько разных представлений возможно. Кроме того, любой
тэг в короткой форме можно всегда представить и в длинной, что тоже
запрещено.

Почему я раньше не проверял? Наверное были мысли о том, что, раз всё
равно наверняка декодирование будет идти по схеме, где в виде байтов
задаётся требуемый тэг, то вопросы его корректности -- это вопрос
корректности схемы, который PyDERASN-а не касается. Но функи типа
tag_strip, len_decode используются далеко не только во внутренностях и
работе с высокоуровневыми объектами, поэтому было бы хорошо чтобы они
блюли стандарты и проверки. Благо что BER/CER/DER требования тут общие.

Плюс добавил явный запрет на использование aware datetime-ов, ибо по
сути работа идёт только с naive временами, и aware datetime-ов может
смутить разработчика неожиданным поведением.

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