LINUX.ORG.RU

«Окуляр ГОСТ» — форк Okular с плагином КриптоПро

 ,


3

3

Компания «Лаборатория 50» выпустила «Окуляр ГОСТ» — форк популярной программы Okular для работы с PDF.

Главной возможностью является поддержка соответствующих ГОСТ хэш-алгоритмов в функциях проверки и электронной подписи файлов.

Поддерживаются встроенные форматы подписи CAdES:

  • простой (CAdES BES);
  • усовершенствованный (CAdES-X Type 1).

Для формирования и проверки подписей используется криптопровайдер КриптоПро.

Кроме этого, в Окуляр ГОСТ исправлены многие ошибки, включая проблемы с использованием кириллицы при заполнении форм, вставкой изображений в формате PNG и JPEG и использованием нелатинских кодировок.

Код доступен под исходными лицензиями Poppler и Okular. Часть исправлений уже принята в оригинальный источник, часть будет представлена для включения в ближайшее время.

Подготовлены сборки для операционных систем Альт, Astra Linux, Debian, Fedora, РОСА, Ubuntu.

>>> Окуляр ГОСТ

anonymous

Проверено: hobbit ()
Последнее исправление: sudopacman (всего исправлений: 4)

Код доступен под исходными лицензиями Poppler и Okular.

Было бы прекрасно, если бы всё софтовое импортозамещение было таким…

hobbit ★★★★★
()

Накачу 50 за ваше здоровье! :3

perl5_guy ★★★★★
()

Разные и красивые алгоритмы всегда радуют.

Жаль только, что всё равно требуется мерзкая проприетарщина КриптоПро.

Пользуясь случаем: Кузнечика можно ускорять инструкциями AES-NI, как, например, SM4?

token_polyak ★★★★★
()
Последнее исправление: token_polyak (всего исправлений: 1)
Ответ на: комментарий от Zhbert

да. по слухам с опеннета даже фиксы в апстрим шлют. хотя, может, это пропаганда.

crypt ★★★★★
()

Свободное приложение для работы с документами PDF для российских пользователей. Работает с КриптоПро.

Ссылку на сорцы я чет не нашел…

Zhbert ★★★★★
()
Ответ на: комментарий от token_polyak

мерзкая проприетарщина КриптоПро

Зря ты так. Занимаюсь сейчас эцп, и КриптоПро и вся ситуация с эцп в РФ на мой взгляд это чуть ли не самое удачное внедрение эцп вообще в мире. Там и плагины для браузеров, и обход идиотских ограничений pdf и других форматов через detached signature, и поддержка разных ОС, и отсутствие идиотии про количество подписей на квадратный килорубль, и интеграция с госуслугами, и жёсткий оргпресс сверху чтоб вся госуха ей пользовалась и все её принимали.

Если ты посмотришь на аналогичные системы в других странах, то это либо крупные но сильно ограниченные частные решения которые далеко не все принимают (те же docusign и pandadoc), либо неплохие но тоже функционально ограниченные госрешения (по сути логин на сайте). На уровне РФ в этом плане разве что Эстония (где внезапно тоже свой софт).

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 2)

Для формирования и проверки подписей используется криптопровайдер КриптоПро.

А так хорошо описание начиналось, я уж раздоваться начал что криптопро, наконец, реверснули и правильный плагин для окуляра написали и на тебе, большая вонючая куча говна.

Почему это в разделе «OpenSource» если это очередная попытка пропихнуть КриптоПро на линукс?

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Занимаюсь сейчас эцп, и КриптоПро и вся ситуация с эцп в РФ на мой взгляд это чуть ли не самое удачное внедрение эцп вообще в мире. Там и плагины для браузеров, и обход идиотских ограничений pdf и других форматов через detached signature, и поддержка разных ОС, и отсутствие идиотии про количество подписей на квадратный килорубль, и интеграция с госуслугами, и жёсткий оргпресс сверху чтоб вся госуха ей пользовалась и все её принимали.

Неистово плюсую. Единственный минус КриптоПро - проприетарщина.

IPR ★★★★★
()
Ответ на: комментарий от Stanson

Почему это в разделе «OpenSource» если это очередная попытка пропихнуть КриптоПро на линукс?

Ты альтернативу предложи, потом бомбить будешь.

IPR ★★★★★
()
Ответ на: комментарий от upcFrost

вся ситуация с эцп в РФ на мой взгляд это чуть ли не самое удачное внедрение эцп вообще в мире

У меня два вопроса. Первый - а разве сама идея подписывать документы прям в браузере с помощью плагина (для этого преимущественно у нам КриптоПРО используется) не является сама по себе дичайшим бредом? Может поэтому и «внедрений» нет? И второй - разве необходимость этого «внедрения» не обусловлена исключительно несовместимостью алгоритмов, т.е. российскими велосипедами? Я не утверждаю, просто спрашиваю.

mbivanyuk ★★★★★
()
Ответ на: комментарий от mbivanyuk

Первый - а разве сама идея подписывать документы прям в браузере с помощью плагина (для этого преимущественно у нам КриптоПРО используется) не является сама по себе дичайшим бредом?

Как раз таких решений много, тот же docusign. Просто обычно на этом всё и ограничивается, тогда как у КриптоПро это прям только начало.

разве необходимость этого «внедрения» не обусловлена исключительно несовместимостью алгоритмов, т.е. российскими велосипедами?

Скорее просто настолько общих решений реально нету (не, ну есть openssl, но как бы это не решение). Я приводил в пример Эстонию, у них плюс-минус на том же уровне внедрены эцп и решение тоже своё, хотя никаких велосипедных алгоритмов у них нет (обычная eIDAS-совместимая подпись).

Обычный «сервис эцп» типа docusign или панды это когда ты платишь за каждую подпись а не за пару ключей (для ЕС обычно около 1 евро за документ), твоя пара ключей хранится хз где без возможности её получить если решишь съехать к другому провайдеру, и подписывать можно только pdf и только онлайн через этот сервис. Ну и интеграции из серии «если барин соизволил». Количество ограничений сам можешь прикинуть

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Как раз таких решений много, тот же docusign

я недавно дом покупал в Австралии, и как-то в docusing никаких ЭП (ага, правильно ЭП, а не ЭЦП) на увидел, по крайней мере у нас docusign подтверждает примерно следующее: кто-то по email получил ссылку и смог по ней перейти.

borisych ★★★★★
()
Ответ на: комментарий от borisych

Там все хитро. То что ты делал это неквалифицированная подпись согласно европейскому законодательству, но для штатов и Австралии это работает. Для eIDAS там целый отдельный мир геморроя и идентификации по видео

Штаты в целом требуют т.н. wet signature, (просто картинка-подпись), consent (флаг «согласен с условиями») и audit trail. Всё остальное опционально. В других странах все куда хитрее

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 2)
Ответ на: комментарий от token_polyak

Кузнечик есть под sse4.1
https://github.com/mjosaarinen/kuznechik/blob/master/kuznechik_128bit.c
Есть этот же код, чуть переписанный и дающий больше скорости.
Под AES-NI не встречал.

imul ★★★★★
()
Последнее исправление: imul (всего исправлений: 1)
Ответ на: комментарий от O02eg

Сертифицировать релизы gost-engine для openssl?

Иииии? Что мне это даст? Как это заменит КРИПТОПРОВАЙДЕР КриптоПро?

IPR ★★★★★
()

Импортозамещение.

swar0g ★★★★
()
Ответ на: комментарий от upcFrost

Занимаюсь сейчас эцп, и КриптоПро и вся ситуация с эцп в РФ на мой взгляд это чуть ли не самое удачное внедрение эцп вообще в мире.

Что-то я не понял. Контора хардфоркнула Okular, и добавила в него криптопровайдер, который работает с КриптоПро. КриптоПро в свою очередь - это проприетарное платное решение с закрытым исходным кодом, лицензия на которое поставляется на ограниченное время.

Получается, что я, как пользователь, должен вначале купить КриптоПро (недешевое удовольствие), и только пока не кончился оплаченный период имею возможность проверять подпись в Okular.

Что хорошего в такой «криптографии»?

Xintrea ★★★★★
()
Ответ на: комментарий от Xintrea

да скорее всего нет, вы просто не сможете подписывать документы без криптопро, а так вон хоть с исходников собирайте и пользуйтесь на здоровье.

abcq ★★
()
Ответ на: комментарий от Xintrea

Ты можешь просто использовать окуляр как просмотрщик pdf.
И кстати раньше (или прямо сейчас) ты чем подписи проверяешь?

imul ★★★★★
()
Ответ на: комментарий от Xintrea

лицензия на которое поставляется на ограниченное время.

4900руб стоит неограниченная по сроку лицензия на одно рабочее место + техподдержка на год (потом она прекращается, но пользоваться можешь)

Учитывая, что я долго проработал в области ККТ, а там так же на каждый чих нужна ЭЦП, то знаю, что многие УЦ, выдающие ключи клиентам вшивают туда лицуху для крипто-про csp на срок использования ключа (обычно 1 год), т.е. стоимость лицензии на крипто про уже входит в стоимость ЭЦП.

Все ли УЦ являются «партнёрами» ООО «КРИПТО-ПРО» я не знаю, но такском (не реклама, просто я сними работал) точно. Просто качаем свежий дистр-пробник клиенту на комп, ставим дрова на токен, или ЭЦП на обычный носитель - клиент работает без заморочек и нас через квартал(пробный период 90 дней на csp) не тревожит.

drfaust ★★★★★
()
Последнее исправление: drfaust (всего исправлений: 3)
Ответ на: комментарий от drfaust

Учитывая, что я долго проработал в области ККТ, а там так же на каждый чих нужна ЭЦП

Объясни, как наличие ЭЦП связано с обязательностью наличия платного криптопровайдера?

Я могу понять, что УЦ взымает плату за предоставление ЭЦП. Но почему пользователь должен еще и покупать криптопрвайдера, если алгоритм утвержден государством - вот это загадка.

По нормальному, какое ПО работает с алгоритмом шифрования - это вообще должно быть побоку. А по факту имеем навязывание вполне конкретного производителя ПО.

Xintrea ★★★★★
()
Ответ на: комментарий от Xintrea

Перечисли УЦ в РФ, которые предоставляют средства для генерации «биоключей» для ЭЦП - я знаю только одного аутсайдера VIPNet, но там совсем тоскливо.

drfaust ★★★★★
()
Ответ на: комментарий от Xintrea

Генератор сучайного числа на основе поведения человека-клиента (спрогнозировать и предугатать его поведение невозможно).

Такском делает это заставляя елозить мышой по «полю», одновременно тарабаня случайные символы на клаве.

Кто-то может использовать голос или отпечаток пальца, сетчатку глаза и прочих «непотребных» мест человека(ну-ну - вспоминаем про перс. данные).

Т.е. случайное событие, зависящее от физиологических свойств человека. Дёргание мышы, скорость и распределение нажатых клавиш, к примеру, сильно зависит от настроения человека, его эмоций...

drfaust ★★★★★
()
Ответ на: комментарий от Xintrea

Я могу понять, что УЦ взымает плату за предоставление ЭЦП.

С января этого года уже необязательно платное. ИФНС предоставляет для ИП и ЮЛ (а возможно и физиков) генерацию ЭЦП бесплатно - только нужно предоставить токен.

Но почему пользователь должен еще и покупать криптопрвайдера, если алгоритм утвержден государством - вот это загадка.

Там на самом деле целый комплекс средств, а не пустой гост-алгоритм. Средства построения цепочек сертификатов, поддержка туевой хучи алгоритмов (только сейчас закончил разбираться с ЕГАИС по удалёнке - там не только ГОСТ, но и RSA). Более того УЦ генерит ключ под конкретные цели. Не просто шифрование, а ещё и области применения этой ЭЦП , например ЭЦП может быть выдана для предоставительства в ФНС, но ей нельзя будет подписать ДКП машины/квартиры - только подписание заявлений и деклараций в ФНС. В то время как в МФЦ можно получить ЭЦП для ДКП. И неважно, что эти подписи используют один и тот же алгоритм шифрования.

Так что криптопро это не просто так. У них на сайте можно глянуть на стоимость продуктов. Например, комплекс средств для УЦ на неограниченное кол-во сгенерированных подписей стоит около 2 000 000 рубчиков.

drfaust ★★★★★
()
Ответ на: комментарий от drfaust

С января этого года уже необязательно платное. ИФНС предоставляет для ИП и ЮЛ (а возможно и физиков) генерацию ЭЦП бесплатно - только нужно предоставить токен.

Вообще непонятно. ЭЦП можно сгенерировать и самостоятельно.

И еще не понял, где тогда хранится закрытый ключ? Он что, в явном виде через налоговую проходит, если они вместо пользователя генерируют ЭЦП?

Xintrea ★★★★★
()
Ответ на: комментарий от drfaust

ИФНС предоставляет для ИП и ЮЛ (а возможно и физиков) генерацию ЭЦП бесплатно - только нужно предоставить токен.

Вся суть россиянского понимания криптографии. А потом твои приватные ключи будет пользовать кто угодно для чего угодно. Натурально «нужно только предоставить ключи от квартиры где деньги лежат». Ну жулики же, как вообще можно это всерьёз упоминать и предлагать, особенно среди тех, кто вроде бы должен хотя бы чуть-чуть понимать что к чему и в чём суть криптографии.

Там на самом деле целый комплекс средств, а не пустой гост-алгоритм. … перечисление совершенно стандартных фич любой опенсурсной криптоутилиты.

И что же из перечисленного не умеет openssl например? Или gnupg?

Stanson ★★★★★
()
Ответ на: комментарий от Xintrea

Он что, в явном виде через налоговую проходит, если они вместо пользователя генерируют ЭЦП?

В этом вся суть современного государственного внедрения криптографии. Это не только в РФ такой дебилизм, на самом деле, это по всему миру так.

Суть простая - внедряем «цифровизацию», рассказываем про то, что теперь можно хоть квартиру продать не бродя по инстанциям. Надо всего лишь «получить ЭЦП» которая будет эквивалентна твоей подписи. Часто за деньги, причём. Всё, хомячки побежали и ничесоже сумняшеся отдали право своей подписи государству, а то и вовсе всяким жуликам. И причём эту подпись уже не оспоришь, как если кто-то за тебя на дукументе расписался. Вот как вообще можно этого не понимать и покупаться на такую хрень?

ЗЫ: «You’ll Own Nothing and You’ll Be Happy» (C) Ida Auken, «8 Predictions for the World in 2030» by the World Economic Forum

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Stanson

Вся суть россиянского понимания криптографии. А потом твои приватные ключи будет пользовать кто угодно для чего угодно.

Возможно, ты погорячился. Может быть, если предоставляешь свой токен (кстати, никто не объяснил что это такое, токеном может быть и файл. Но дальше я подозреваю, что имеется в виду железный USB-токен вроде RuToken), то без пароля с него физически можно считать только открытый ключ.

И для этого открытого ключа налоговая генерит ЭЦП, зная что данный открытый ключ принадлежит вполне конкретному человеку.

Но наш профессиональный собеседник должен подтвердить что это так, он же во всем этом разбирается.

Xintrea ★★★★★
()
Ответ на: комментарий от Stanson

И что же из перечисленного не умеет openssl например? Или gnupg?

Стучать т. майору, очевидно же.

O02eg ★★★★★
()
Ответ на: комментарий от Xintrea

Может быть, если предоставляешь свой токен (кстати, никто не объяснил что это такое, токеном может быть и файл. Но дальше я подозреваю, что имеется в виду железный USB-токен вроде RuToken), то без пароля с него физически можно считать только открытый ключ.

А вот это должен доказать производитель токена, для начала. И нет, не бумажку-сертификат предъявить, а доказать математически. Мол, устройство токена таково, что извлечь ключ невозможно, вот схемы, вот физическая реализация, вот так можно удостовериться что ваш экземпляр ей соответствует, вот математическое обоснование.

Но дело не в этом. Если я прав, принципиально невозможно создать своими силами закрытый ключ. Нужна либо левая софтина, либо левый девайс. А в реальности, в большинстве случаев тебе закрытый ключ (или то что его содержит) вообще выдают какие-то жулики.

Вся суть криптографии в том, что закрытый ключ не должен быть известен никому кроме владельца. И, разумеется, создавать его должен тоже владелец и больше никто. Принципиально.

УЦ удостоверяет сертификат, сгенерированный владельцем закрытого ключа при помощи этого ключа. Для этого ничего кроме CSR (файлика) не нужно в принципе. Ни предоставления каких-то токенов, ничего. Вот я, вот мой CSR - подписывай и давай подписанный сертификат, который я буду демонстрировать в доказательство того, что ЭЦП, которая делается тем же закрытым ключом который был использован для создания CSR моя и вот УЦ это подтверждает. Всё.

Если хоть каким-либо образом что-то содержащее твой закрытый ключ хоть как-то попадает или контролируется третьими лицами - никакой криптографией тут не пахнет вообще.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 2)
Ответ на: комментарий от IPR

«Криптопровайдер» - сугубо вендовая вещь. Аналог тех же OpenSSL engines.

Учитывая, что значительная часть софта для цифровой подписи вообще обходится без вендотехнологий - не нужно.

token_polyak ★★★★★
()
Последнее исправление: token_polyak (всего исправлений: 1)
Ответ на: комментарий от Xintrea

ЭЦП можно сгенерировать и самостоятельно.

Вообще-то ты сам его и генеришь через биометрию (это по правилам), только кто кроме УЦ Удостоверяющего Центра сможет взять на себя ответственность что эта ЭЦП принадлежит тебе, а не Васе Пупкину?

drfaust ★★★★★
()
Ответ на: комментарий от Stanson

А потом твои приватные ключи будет пользовать кто угодно для чего угодно.

Так же можно заявить и про бумажный паспорт во время его получения в ПВС МВД РФ.

У меня, к примеру, нет доверия к твоему личному ключу из gnupg/openssl т.к. я не знаю, действительно ли ты Ваня Петров Сидорович 1990 г.р., у которого я покупаю квартиру, или ты Жульен Доверяев Жуликович, выдающий открытый ключ от имени Вани Петрова.

drfaust ★★★★★
()
Ответ на: комментарий от Stanson

УЦ удостоверяет сертификат, сгенерированный владельцем закрытого ключа при помощи этого ключа. Для этого ничего кроме CSR (файлика) не нужно в принципе. Ни предоставления каких-то токенов, ничего. Вот я, вот мой CSR - подписывай и давай подписанный сертификат, который я буду демонстрировать в доказательство того, что ЭЦП, которая делается тем же закрытым ключом который был использован для создания CSR моя и вот УЦ это подтверждает. Всё.

УЦ удостоверяет открытый ключ, полученный от владельца закрытого ключа. Для этого УЦ создает сертификат, который и удостоверят открытый ключ. В сертификате находится открытый ключ владельца, реквизиты владельца, и электронная подпись УЦ. Так будет понятнее.

Если хоть каким-либо образом что-то содержащее твой закрытый ключ хоть как-то попадает или контролируется третьими лицами - никакой криптографией тут не пахнет вообще.

В случае с налоговой видимо предполагается, что USB-токен абсолютно защищен, и сама налоговая может из него получить только открытый ключ. Во всяком случае, никто в налоговой не будет взламывать USB-токены, чтобы собирать базу закрытых ключей, это просто бюджетное учреждение, которое выполняет свою работу по регламенту.

Xintrea ★★★★★
()
Ответ на: комментарий от Stanson

зело плюсую.

мерзкая проприетарщина (впрочем, это тавтология), которая нафиг не нужна, по сути. есть openssl, в котором гораздо больше функционала (и даже никому никуда не упёршийся «гост» есть, который я оттуда обычно выпиливаю при сборке). да и вообще любая криптобиблиотека из десятка существующих, скорее всего, подойдёт для банального подписывания сертификата. и в браузеры сертификаты ставятся совершенно станадартным образом, без всяких извращений. код открыт. короче говоря, очередное эпическое ненужно, которое могли придумать только в этой стране.

Iron_Bug ★★★★★
()
Ответ на: комментарий от drfaust

Для этого и сделали УЦ. Он подписывает твой открытый ключ созданный при помощи твоего приватного ключа на предмет того, что это твой открытый ключ, а не васин. Получается подписанный УЦ сертификат. Все прочие могут теперь проверить, что это твоим приватным ключом подписан документ при помощи этого публичного и подписанного УЦ сертификата.

Приватный ключ при этом никому показывать или передавать не требуется.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Вообще, УЦ должно быть до лампочки какой открытый ключ в CSR. Его дело удостоверить, что это твой CSR, подписать и выдать сертификат. А ГОСТ там, RSA или что-то эллиптическое - пофиг. Это личное дело владельца, насколько его «подпись» навороченная.

которое могли придумать только в этой стране.

Такое не только в этой стране, на самом деле. Везде эта безграмотность населения используется для внедрения псевдоЭЦП и коллекционирования приватных ключей населения по всему миру.

На самом деле, крайне мало всех этих извращений придумали в этой стране. Это всемирная тенденция.

Stanson ★★★★★
()
Ответ на: комментарий от Xintrea

видимо предполагается

Вот в этом-то и засада.

Во всяком случае, никто в налоговой не будет взламывать USB-токены, чтобы собирать базу закрытых ключей,

У них может быть софтина позволяющая читать приватный ключ из токена, или они могут вообще даже не подозревать, что проприетарщина работающая с токеном вытаскивает оттуда ключи и домой отправляет, например.

это просто бюджетное учреждение, которое выполняет свою работу по регламенту.

Для их работы доступа к чужому токену или приватнуому ключу абсолютно не требуется. Вообще никак. Есть подписанный УЦ сертификат подписанта, есть подписанный подписантом документ. Проверяй подпись сколько угодно, ни токен, ни приватный ключ для этого абсолютно не нужны.

Раз токен требуется, значит тут однозначно мухлёж. Без каких-либо вариантов вообще.

Ну и «я просто выполнял приказы» и/или «мне детей кормить надо» за отмазку вообще не прокатывает.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 3)
Ответ на: комментарий от Xintrea

Это должен быть сертифицированный токен, например, ру токен лайт или ру токен ЭЦП. Генерят его прямо при тебе. Прямо в окошке разъём, втыкаешь токен, как рык, забираешь токен. Внутри контейнер КриптоПро с битом неизвлекаемости.

AVL2 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.