[devel] RFC: ca-certificates a la Fedora

Mikhail Efremov sem на altlinux.org
Чт Дек 21 18:48:16 MSK 2017


Hello!

Я сейчас готовлю ca-certificates (сегодня сделаю тестовое задание) с
использованием p11-kit (https://p11-glue.freedesktop.org/), как в
Федоре.
Их схема выглядит вполне разумной, скрипт на питоне для генерации
p11-kit-бандла я тоже взял из Федоры (там есть часть про legacy trust,
которая у нас не актуальна, но она не мешает и проще оставить, чем
выкидывать).
При использовании этой схемы, добавление дополнительных CA сертификатов
(или blacklist неугодных), становится очень простым делом.
Пакеты ca-gost-certificates и ca-gost-certificates-auc должны будут
просто положить сертификаты, которым нужно доверять,
в /usr/share/pki/ca-trust-source/anchors/ (можно прям в DER формате)
и больше не делать ничего.
Это должно работать с openssl и gnutls, а вот с nss проблема: я так
понимаю, что nss использует собственный бандл, а не системный, и
использует libnssckbi.so для работы с ним. В p11-kit используется модуль
pkcs11/p11-kit-trust.so и утверждается, что он бинарно совместим с
libnssckbi.so, так что в Федоре некоторое время имели модули
libnssckbi.so и p11-kit-trust.so на альтернативах, а сейчас просто
выкинули libnssckbi.so из nss
(https://bugzilla.redhat.com/show_bug.cgi?id=1484449).
Но даже если про бинарную совместимость - это правда, то у меня есть
сомнения, что это всегда будет так в следующих версиях nss и p11-kit и
нас нет автоматической проверки таких вещей при сборке.
Но вообще хорошо бы заставить nss использовать p11-kit-trust.so вместо
libnssckbi.so, тогда у нас действительно будет единое место для
хранения CA сертификатов. Эту проблему придется как-то решать.
В первую очередь мне бы хотелось услышать комментарии от lakostis@,
который уже несколько лет поддерживает ca-certificates в актуальном
состоянии, и legion@, как мантейнера libnss.

-- 
WBR, Mikhail Efremov


Подробная информация о списке рассылки Devel