Что: e66aa937f5944de5ed36325186bdd5c462b38398
Когда: 2017-09-23 23:23:12+03:00
Темы: python
Всё плохо с существующими ASN.1 библиотеками и книгами https://github.com/andrivet/python-asn1 Эта библиотека является форком другой. Существует давно. Время от времени в неё что-то коммитится. Но... она некорректно (невалидно) кодирует отрицательные целые числа. Если её забросили, то почему всё-равно коммиты продолжают делать? Или не знают о баге? http://luca.ntop.org/Teaching/Appunti/asn1.html Эта документация по ASN.1 на которую ссылается сама Go реализация encoding/asn1. Как минимум, в ней говорится что формат UTCTime может быть разнообразным и в DER оно вот тоже в куче разных видов. Это ошибка, обман (в DER возможна запись только в UTC). Официальную спецификацию ASN.1 DER тоже читать... мягко говоря непонятно. Или нужно соответствующее образование программерское, но я ни черта не понял как надо кодировать отрицательные целые числа. Самое понятное, ясное и простое по действиям я нашёл просто в реализации Go encoding/asn1. Go это всё-таки неимоверно крутой язык -- его код читается на раз два. А Python это просто помойка всяких говн (люто ненавижу)! pyasn1 библиотека которую мы используем: под Py27 в ней просто не работает BitString пустой. Были баги с отсутствием сортировки. Ещё какие-то по мелочам. Но нельзя её так просто было взять и чтобы всё работало! Всё в Python мире меня достало по этой теме и поэтому я решил взять и написать own ASN.1 library with slots and offsets. Об этом уже упоминал аж месяцы назад в a8fcb1a8b48f5ff1c74551cdcd4a06c57eb93470, но так и не находилось время на его реализацию до конца (а ведь это надо сделать вне рабочее время, чтобы компания, не имея прав, не смогла бы его сделать не свободным).
Сгенерирован: SGBlog 0.34.0