А, это вы, Штирлиц!
Jul. 17th, 2024 11:01 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Убил вчера полдня, разбираясь почему при апгрейде openssl с 3.0.11 на 3.0.13 стала падать в сегфолт osslsigncode при подписи ключом с рутокена.
Выяснилось что автором коммита, который всё сломал, был beldmit (ох сколько мы с ним вместе эту openssl в свое время хакали).
no subject
Date: 2024-07-19 04:59 am (UTC)Скажите мне добрые люда, а openssl кто-нибудь с ASan собирал? Его под этот санитайзер зачищали?
no subject
Date: 2024-07-19 05:27 am (UTC)no subject
Date: 2024-07-19 10:51 am (UTC)Ага... это хорошо...
no subject
Date: 2024-07-19 05:37 am (UTC)А толку его гонять под asan, когда соответствующий кусок кода тестами не покрыт?
Тут как я писал выше, нужен pkcs11-модуль, эмулирующий токен, для того чтобы тестировать ту часть кода, которая работает с pkcs11 engine.
В принципе, большая часть тестов на высокоуровневые функции (работа с ключами, CMS и прочими подобными штуками, не криптоалгоритмы) тестируется посредством утилиты openssl. А она далеко не все умеет. Например, насколько я помню, не умеет доставать с токена сертификат. Хотя в библиотеке такая функция есть. Просто никто не собрался сдизайнить интерфейс командной строки к ней.
Как там сделана работа с ключами с -keyform ENGINE, покрываются ли все возможные пути, и в частности тот, который использован в osslsigncode - это смотреть надо. Есть подозрение, что нет.
no subject
Date: 2024-07-19 10:50 am (UTC)Если бы оно вообще не было бы подпилено под ASan, то тогда бы вообще ничего не помогло, потому что ASan начал бы выдавать пачками false positive при попытке воспроизведения бага. А если на штатных тестах false positives вычищены, то запуск с ASan'ом даже в ручном режиме может дать полезные результаты на замусоренные штатной фолсой.
Тому кто научит меня создавать дублей, готов поставить бутылку столетнего коньяка. Даже ящик.