vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Дописал к sstp-client-у поддержку клиентских сертификатов и engines, чтобы можно было авторизовываться ключом с eToken-а. Первый раз в жизни послал на github-е pull-реквест.

Оказалось, что для того, чтобы ходить в нашу корпоративную VPN, этого мало. Нужна еще поддержка PEAP в pppd. А её там из коробки нет. (удивительно, уже семь лет существует Windows server 2008, в котором RAS эти извращенные способы доступа умеет, а в апстрим это еще не пропихнули).

Нашел, правда, готовый патч. Судя по комментариям автора, довольно наколеночный, нужно будет внимательно проаудитить.

Видимо, в наше время для людей, которые умеют программировать под *nix крайне нехарактерно работать в конторах, где критичные элементы инфраструктуры строятся на технологиях Microsoft.

Оффтоп

Date: 2015-06-26 01:54 pm (UTC)
From: [identity profile] beldmit.livejournal.com
Возвысил бы ты свой голос за поддержку ГОСТ в openssl. А то там охаивают engine в рассылке, и надо бы массовость создать.

Re: Оффтоп

Date: 2015-06-29 06:04 pm (UTC)
From: [identity profile] beldmit.livejournal.com
Ну вот я ему написал, что готов мейнтейнить engine, ща торгуемся. Кроме тебя и меня есть ещё пара человек, кому я доверил бы коммиты.

Проблема, как я ему писал, нифига не в engine. А в TLS-ном коде, PKCS12 и куче мелких мелочей, которые нифига не pluggable, начиная с OIDов.

Про систему сборки я понимаю. Я ща код пишу, так без mkerr.pl при сборке тяжко, а при дистрибуции он наоборот, вреден.

Re: Оффтоп

Date: 2015-06-29 06:23 pm (UTC)
From: [identity profile] beldmit.livejournal.com
За право коммита, как мне представляется, торговаться бессмысленно. Не дадут. Торговаться имеет смысл за прямой канал на core team на будущее и очередной квант добавления хуков.

Возможно, получится договориться о том, что часть кода они одноразово инкорпорируют.

Re: Оффтоп

Date: 2015-06-29 06:45 pm (UTC)
From: [identity profile] beldmit.livejournal.com
Ну я могу тебе свежий патч прислать, но тебе не понравится. Хуков там особо добавить некуда. Надо бы добавить сколько-то идентификаторов, типа micalg-и к дайджестам, и отдавать их коллбеками. Но блин, то, что сделали с TLS-ом в свежих стандартах, это ужас. А когда я это запихнул в TLS, этот ужас ужаснул даже меня.

Re: Оффтоп

Date: 2015-06-29 09:12 pm (UTC)
From: [identity profile] beldmit.livejournal.com
Там в ряде мест надо указать флаг "Это ГОСТ". И сразу можно будет не перечислять NID-ы.

OID-ы можно регистрировать нормально. Уже тогда можно было. Но там есть чёртова тонна псевдомассивов с константами, в которые надо бы что-то добавлять, но получится это тяжеловесно. В лучшем случае это массивы непубличных структур, в худшем - набор #define.

Любимый пример от Игуса - русские буквы в X.509 extension по какому-то документу, устанавливающему требования к квалифицированному сертификату. Коллбеки пляшут от NID-ов, NID-ы упорядочиваются по возрастанию. Структура закрытая, хрен что добавишь.

Re: Оффтоп

Date: 2015-07-04 02:12 pm (UTC)
lumag: (happyness)
From: [personal profile] lumag
Извините, что влезаю. Жаль, что никто не берется поддерживать ГОСТ в основной базе OpenSSL.

В LibreSSL поддержка ГОСТ вкручена в основную кодовую базу (т.к. они убрали engine dynamic), код упростился, по-моему. Например, кривые, которые честно прописаны в ec_curve.c Или gost_key, который стал одним из вариантов evp_pkey_st.pkey.

Re: Оффтоп

Date: 2015-07-04 08:34 pm (UTC)
lumag: (Default)
From: [personal profile] lumag
Витус, вот поскольку ГОСТ не в ядре, периодически возникают разные странности. Например, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=611054 .

Я предполагаю, зачем Вам сертифицированная реализация. Но, по-моему, в том же OpenSSL было бы проще внести ccgost в основную библиотеку (не отменяя отдельного engine в MagPro/Lissi и т.п.). В конце концов, если надо, engine прекрасно (в идеале) переопределяет поддержку алгоритмов, а у разработчиков, например, dnssec все работает без дополнительных хаков.

Когда разбирался с ГОСТ, было четкое ощущение, что pluggable легко делаются симметричные шифры/хэш-функции. А pluggable ассиметрия дается очень сложно. В libgcrypt, например, специальный lisp-подобный язык используется, чтобы API у ассиметричных алгоритмов был одинаковый.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

June 2025

S M T W T F S
1 23 4 56 7
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 7th, 2025 06:22 pm
Powered by Dreamwidth Studios