vitus_wagner (
vitus_wagner) wrote2025-04-23 04:59 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Entry tags:
Проекты
Вот есть у меня сейчас несколько опенсурсных проектов, которыми может быть стоит заняться, пока не устроился на фулл-тайм работу
- переписать gost-engine на новый, появившийся в openssl 3.x интерфейс провайдеров.
- Если уж взялся, за провайдеров то покопаться в pkcs11 провайдере - вдруг там можно малой кровью допилить до поддержки гостовских алгоритмов. Правда плату за это надо требовать с Aktiv, потому что играться я буду с ruToken. А они вряд ли так сильно заинтересованы в этом.
- Посмотреть что у нас в Postgres с провайдерским интерфейсом openssl и может чего на коммитфест залить на предмет и алгоритмов, и токенов на клиенте. В 18 версию уже не успею, так хоть в 19.
- По-моему в собственно утилите openssl явно не хватает ключиков для работы с ключами и, особенно, сертификатами на токенах. Но не уверен что пропихнуть соответствующий патчик будет легко даже с помощью
beldmit.
- Написать упрощенный CA для маленьких интранетов. Который будет ориентирован на генерацию ключа вместе с сертификатом, потому что и для внутрикорпоративных сайтов, и для openvpn это основной юз-кейс, когда администратор CA и администратор сайта/VPN - одно лицо. А то что CA.pl, что easy-rsa требуют два движения для получения сертифката - сначала создать ключ и заявку, а потом на заявку выписать сертификат. А здесь основное должен быть даже не код, а лежащий максимально близко к коду, чуть ли не в виде встроенного хелпа учебник по правильному обращению с сертифкатами и ключами. (надо
irenedragon попытаться привлечь).
- Вспомнить про ctypescrypto и переписать ее под 3-е версии и python, и openssl (возможно пригодится для юнит-тестов на провайдеры. А возможно, для юнит-тестов на провайдеры надо портануть ctypescrypto на Platypus )
- Написать аналог calcurse но с бэкэндом пригодным для синрхронизации vdirsyncer. Под этот проект я даже когда-то репозиторий завел.
- Была у меня еще идея про линуксовый management interface для openvpn Правда из-за отсутствия у меня теперь необходимости ходить в конторскую openvpn оно как-то менее актуально стало.
- vws тоже надо бы переписать с нуля под третий питон и девятый qemu. Но может стоит подождать пока 12-й qemu выйдет.
no subject
no subject
Посмотрел. Как всегда - не увидел.
В тестах на pkcs11-provider для работы с сертификатами вижу исползуется pkcs11-tool, а не openssl. И для генерации ключевых пар - тоже.
Хотя соответствующий API в библиотеке есть.
Что надо от утилиты openssl нормальному человеку, например пользователю mutt - чтобы он воткнул в соответстувующий слот токен, после чего команда openssl smime -sign сформировала бы ему подписанное ключом с этого токена письмо, включив в подпись сертификат с этого же токена. А не чтобы отдельной командой выдирать с токена сертификат в файл, и указывать команде openssl smile этот файл. По хорошему бы счету вообще бы указать одну общую uri, а чтобы type=private, и type=cert оно само добавило. Но если на такое народ не согласится, я пойму.
Вот как указывать приватные ключи для pkcs11 провайдера - я из этих тестов понял, и похоже это теперь поддерживается во всех командах, где это может потребоваться.
А так что мы там видим, например в команде CA:
Указать URI в опции
-key
можно, а в-cert
только файлТо де самое в куоманде smime
Сертификат -signer - только файл, а ключ может быть uri.
no subject
Хм. А в команде x509 поддержка uri в -in -signkey -CA и -CAkey есть. Так что проверять время устаревания сертификата на токене одной командой - можно. Надо будет поиграться. А вот в genpkey что-то я этого не увидел.
no subject
no subject
Этим я займусь позже, когда напишу генерацию ключевых пар для ГОСТ Р 34.10, Тогда я буду знать openssl-евский API наизусть и смогу поразбираться с тем что не так на стороне PKCS11-провайдера.
no subject
no subject
В общем надо будет посмотреть уже в код, причем master-а, а не установленной у меня версии 3.0.14. Хотя вроде там ничего не менялось.
Указание uri вместо файла там снаружи в интерфейсе и документации.
А вот внутри там вполть до того, что работать внезапно может. Потому что там старая функция load_cert теперь #define на новую load_cert_pass, но насколько мне известно, большая часть токенов для чтения сертифката PIN не спрашивает.
no subject
no subject
Ну значит будем смотреть в master. В конце концов Debian trixie выйдет через пару месяцев. А там уже 3.5.0. Поэтому сильно упираться в совместимость с 3.0 я не буду. (это в провайдерах или клиентском коде каком). Патчи то понятно нужно делать на master
no subject
Хотя я и сказал, что до осени человек в отпуске.
no subject
Спасибо. Вообще у меня есть такой тайный план - расширять блоггерскую и опенсурсную активность именно из соображений стать заметным в профессиональном сообществе и получить хорошие предложения работы.
А то последние годы работы в Postgres Professional я практически не светился в опенсурсной среде.
no subject