LINUX.ORG.RU

Криптографические токены PKCS#11: просмотр и экспорт сертификатов, проверка их валидности

 , , , ,


1

1

Сертификаты x509 используются организациями и гражданами. Они выдаются в удостоверяющих центрах на отторгаемых носителях. Это токен/смарт-карта с поддержкой криптографических механизмов PKCS#11, для которой удобно иметь графическую утилиту. Она позволяет не только просматривать сертификаты, но и экспортировать сертификаты в файлы, и проверять валидность хранящихся на токенах сертификатов. На habr представлена такая кросплатформенная утилита, которая доступна для свободного скачивания вместе с исходным кодом для платформ Linux, OS X (macOS) и Windows (куда без него). Утилита имеет понятный графический интерфейс.

>>> Подробности



Проверено: Shaman007 ()

А полные исходники где-нибудь есть, или только куски кода на хабре?

Про лицензию также хотелось бы услышать.

P.S. И не «ключём», а «ключом». Хотя если это сохранение особенностей орфографии оригинала цитаты...

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: полные исходники где-нибудь есть от pki_gost

Так стоп, я что то не понял.

Однако до настоящего времени отсутствовали программные средства, которые позволяли бы не только просматривать сертификаты (особенно квалифицированные) на них, но и экспортировать сертификаты в файлы

Вы что хотите что командой openssl я это не смогу сделать ?

Что сразу выдал гугл : https://github.com/OpenSC/OpenSC/wiki/Using-pkcs11-tool-and-OpenSSL

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

«Сегодня уже трудно представить активного гражданина без сертификата x509. И все чаще люди стремятся иметь сертификат и закрытый ключ к нему на токенах/смарткартах, поддерживающих криптографический интерфейс PKCS#11. Однако до настоящего времени отсутствовали программные средства, которые позволяли бы не только просматривать сертификаты (особенно квалифицированные) на них, но и экспортировать сертификаты в файлы и самое главное проверять валидность хранящихся на токенах сертификатов» - это набор пресуппозиций, подкрепленных примерно ничем. Пожалуйста, переформулируйте без категоричных суждений: вот у меня нет сертификата x509 в вашем понимании и я не стремлюсь хранить его в токенах-смарткартах в вашем понимании и так далее. Являясь экспертом в вопросе я могу сообщить, что я не один такой, наоборот.

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

А я вот наоборот не эксперт :) И с сертификатами знаком только в разрезе сети, всякие https, openvpn, ipsec и т.д. Но мне интересно разве криптоПРО не тоже самое делает с токенами-ключами ?

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

Вы что хотите что командой openssl я это не смогу сделать ?

Конечно, можете, только глядя что. Дальше речь пойдет о ГОСТ-овых сертификатах. Распарсить сертификат как ASN-структура - Да.А посмотреть его состав не очень - https://habr.com/ru/post/415423/ И гугл дал вам ссылку на то, как openssl работает RSA и т.д., но только не с ГОСТ. И квалифицированного сертификата в полном объеме вы не увидите. Так что не СТОП, а движемся дальше.

TclTk ()
Ответ на: комментарий от mx__

Но мне интересно разве криптоПРО не тоже самое делает с токенами-ключами ?

КрмптоПРО использует токены как хранилище, как флэшки. А не как криптографические машмны PKCS#11!!!!

TclTk ()
Ответ на: комментарий от alexferman

Что ж оно страшное всё такое?

Значит gcr-viewr не страшно, а это страшно?

Предлагаю найти, как говорят, 10 (десять) различий между двумя утилитами: утилитой gcr-viewer, написанной на gtk, и утилитой certViewer - https://habr.com/ru/post/440754/

TclTk ()

Re: Вы что хотите что командой openssl я это не смогу сделать ?

И гугл дал вам ссылку на то, как openssl работает RSA и т.д., но только не с ГОСТ.

В смысле ? Что openssl не поможет подцепить ГОСТ либой ? А Вы пробовали ( или кто там ) писать разрабам openssl ? Или юнихвай уже не тру, и нужно наплодить одинковых по функционалу приблуд.

mx__ ★★★★ ()

КрмптоПРО использует токены как хранилище, как флэшки. А не как криптографические машмны PKCS#11!!!!

Ага а что по вашему тогда делает рутокен ?

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

Страшно. Почему бы не выбрать Qt?

Страшно, что? И что даст Qt? Ведь Qt как и gtk b tk - это только средство. Вас не устраивает дизайн, шрифт? Предложите свой. Надо понимать, что для вас нестрашно и он будет реализован

TclTk ()
Ответ на: комментарий от mx__

Ага а что по вашему тогда делает рутокен ?

Рутокен Рутокену рознь. Есть замечательный Рутокен ЭЦП 2.0, который поддерживает российскую криптографию и интерфейс PKCS11. Есть lite, который фактически является флэшком с PIN-кодом. На нем нет российских криптомеханизмов и интерфейсов. Есть стандартные функции для работы с памятью, в том числе защищенной PIN-ом, которые позволяют что-то записать и прочитать, но не выполнять криптографические функции. Эти же функции есть у Рутокен ЭЦП 2.0. И многие, говоря мы используем Рутокен ЭЦП 2.0, на самом деле используют его как флэшке, что-то записывая, читая в память компьютера и там на компьютере проводят криптографические операции на своей математики, не задействуя сам токен. Так что свесь вопрос как используется и кем Рутокен.

TclTk ()

удобно было бы иметь графическую утилиту, которая позволяла бы не только просматривать сертификаты (особенно квалифицированные) как в файлах, так и на токенах, но и экспортировать сертификаты в файлы

А зачем для этого утилита? Для работы с ЭЦП все равно нужно что-то типа КриптоПРО, ну так в нем все это есть. Я про ГОСТовскую ЭЦП разумеется.

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

А зачем для этого утилита? Для работы с ЭЦП все равно нужно что-то типа

Вот этим «типа» и является эта утилита. Если вы получали сертификат на токене/смарткарте PKCS#11, то рано или поздно вам понадобится просматреть сертификат, хотя вспомнить когда он заканчивается. Узнать валиден ли ваш сертификат на данный момент, может понадобиться передать кому-то сертификат и в этом случае вам его надо экспортировать в файл. А может захотите распечатать в читаемом виде. Вот все это и делает эта утилита. А КриптоПро (как и много других CSP ) это прежде всего Windows. Токены PKCS#11 работают на всех платформах и утилита кросплатформенная

TclTk ()

Вот этим «типа» и является эта утилита

Нет, не является. И даже близко не стоит, потому что не позволяет полноценно работать с ЭЦП. Ты же должен понимать что для работы с российской ЭЦП необходим криптопровайдер (почти всегда это КриптоПРО, такова российская реальность), а раз этот криптопровайдер уже установлен (а он 100% установлен, иначе работать невозможно никак, и даже не пытайся с этим спорить) и может выполнять все функции по работе с ЭЦП то зачем нужна еще и отдельная утилита? Лично мое мнение - никому она не будет нужна, ну возможно за очень редким исключением. Конечно это open sourse и автор имеет полное право писать что захочет, но польза от этого весьма сомнительна. Хотя я конечно желаю автору успехов, ведь если пишет значит кому-то надо, хотя бы даже ему одному.

КриптоПро (как и много других CSP ) это прежде всего Windows

Так это потому что персональные компьютеры в любой сфере применения это прежде всего Windows, в меньшей степени Mac и лишь 1% школьников на арче которые даже не знают что такое CSP и зачем он нужен это Linux. А так то КриптоПРО есть и под Linux, и даже прекрасно работает.

Ну и последний вопрос - а все что умеет эта утилита в линуксе нельзя делать такими штатными средствами как Kleopatra? Я честно говоря не пробовал, поэтому и спрашиваю.

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

Клеопатра ? КДЕ что ли ;(

Не лучше так : https://www.easycoding.org/2018/11/28/dobavlyaem-podderzhku-gost-dlya-openssl... ... Начиная с openssl версии 1.1 пользователи могут загружать не входящие в поставку данной библиотеки криптографические модули. Для поддержки российской криптографии был реализован gost-engine. ...

Ну а работа с pksc11 это уже отдельная история. Типа : https://centos.pkgs.org/6/epel-x86_64/opensc-0.17.0-6.el6.i686.rpm.html

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

Что ж оно страшное всё такое?

Потому, что лично ты не сделал нестрашного. Я особо страшного не увидел, ну разве что message box в целом серый, а под текстом фон белый почему-то. Это действительно некрасиво. И я не знаю, то ли это неизлечимая особенность Tk, то ли автор каких-то свойств не выставил.

Но то, что оно целиком написано на интерпретируемом языке — в данном случае, скорее, достоинство: текст утилиты открыт по определению.

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

Ну и последний вопрос - а все что умеет эта утилита в линуксе нельзя делать такими штатными средствами как Kleopatra?

Первое, токены/смарткарты PKCS#11 и есть криптопровайдеры, нечета КриптоПро CSP. Насчет Клеопатры. И ее можно научить понимать ГОСТ:

Сказание о Клеопатре и о российской криптографии

https://habr.com/ru/post/316736/

https://habr.com/ru/post/417735/

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

Для работы с ЭЦП все равно нужно что-то типа КриптоПРО, ну так в нем все это есть. Я про ГОСТовскую ЭЦП разумеется.

Как я понимаю, товарищи из ЛИССИ-Софт и хотят сделать это «что-то типа КриптоПРО», вот и делают помаленьку.

anonymous ()

Re: А зачем для этого утилита? Для работы с ЭЦП все равно нужно что-то типа

Для работы с ЭЦП все равно нужно что-то типа КриптоПРО

Вот этим «типа» и является эта утилита.

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

Вы, конечно, можете дать своё определение ЭЦП; но тогда с этого нужно начинать разговор.

А КриптоПро (как и много других CSP ) это прежде всего Windows.

Да ладно! и КриптоПро CSP и ViPNet CSP вполне работают и в linux, предоставляя при этом и PKCS#11 и MS Crypto API. И хотя PKCS#11 как API сконструирован гораздо лучше чем MS Crypto API, он заметно ниже по уровню. Т.е. используя только MS Crypto API я получил кросс-платформенный софт без лишних зависимостей.

anonymous ()

Re: Ага а что по вашему тогда делает рутокен ?

И многие, говоря мы используем Рутокен ЭЦП 2.0, на самом деле используют его как флэшке, что-то записывая, читая в память компьютера и там на компьютере проводят криптографические операции на своей математики, не задействуя сам токен.

Нужно ещё добавить, что контейнеры в этом случае записываются в проприетарном формате, препятствуя использованию токена в «постороннем» софте типа Rutoken PKCS#11 Library. «А что? рынок сам не захватится».

anonymous ()
Ответ на: комментарий от te111011010

Государство принуждает пользоваться американскими проприетарными ОС.

Государству, вероятно, пофиг кто и что использует. Запросто можно предположить, что погромисты, делавшие nalog.ru, сами пользуются палёной виндой и искренне не понимают что другим мешает. И они с радостью всё исправят, вот как только деньги на это появятся.

Но знаете что? посмотрите на https://www.altlinux.org/Замена , может быть решение близко?

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

Государству, вероятно, пофиг кто и что использует. Запросто можно предположить, что погромисты, делавшие nalog.ru, сами пользуются палёной виндой и искренне не понимают что другим мешает. И они с радостью всё исправят, вот как только деньги на это появятся.

Так на MacOS же сделали. А на Linux — нет. Значит был госзаказ именно на Windows и MacOS.

Но знаете что? посмотрите на https://www.altlinux.org/Замена , может быть решение близко?

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

te111011010 ()

Re: А зачем для этого утилита? Для работы с ЭЦП все равно нужно что-то типа

Вы, конечно, можете дать своё определение ЭЦП

Простите, протупил - в ООО «ЛИССИ-Софт» ( http://kupiecp.ru/ ) под эцп понимают что-то другое. «Выпуск ЭЦП за 15 минут по двум документам!». В этом смысле, конечно, «просмотр и экспорт сертификатов, проверка их валидности» можно описать как работу с ЭЦП :).

anonymous ()
Ответ на: комментарий от te111011010

Значит был госзаказ именно на Windows и MacOS.

Возможно я ошибаюсь, но мне в ваших словах слышится утверждение о злокозненности государства. А мне кажется, что проблема в узости взгляда и недостатке времени и средств. Обратите внимание: сайт не только «капризничает» по поводу ОС и браузера, но и предоставляет руководящие материалы и обещает тех.поддержку. Очевидно, что если добавить зоопарк дистрибутивов и зоопарк доступных браузеров, то поддержка просто повесится.

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

«Выдыхай, бобёр!». Я продолжаю настаивать, что авторам сайта просто пофиг. «Вы выбрали linux - вот сами с ним и трахайтесь».

И в любой момент может отвалиться, как выкатят обновление портала.

Ну да, вот пишут, что поддержка IE6 когда-то отвалилась. Представляете, какая была печаль у пользователей win98 и winxp?

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

Вы выбрали linux - вот сами с ним и трахайтесь

Так обсуждение про то и есть - трахаться должны по идее все остальные, ибо пользуются проприетарным и платным иностранным (импортным) ПО, а гос-во у нас ратует за «импортозамещение» и всё в таком духе (аж тошнит от этого слова). Вот в этом и парадокс.

если добавить зоопарк дистрибутивов

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

MacOS

А FreeBSD будет работать?

balsoft ()

Сегодня уже трудно представить активного гражданина без сертификата x509. И все чаще люди стремятся иметь сертификат и закрытый ключ к нему на токенах/смарткартах, поддерживающих криптографический интерфейс PKCS#11. Однако до настоящего времени отсутствовали программные средства, которые позволяли бы не только просматривать сертификаты (особенно квалифицированные) на них, но и экспортировать сертификаты в файлы и самое главное проверять валидность хранящихся на токенах сертификатов

Как будто диплом читаю.

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

Для работы с ЭЦП все равно нужно что-то типа КриптоПРО

Вот в этом весь и бред. Откуда вы это взяли. Работайте с нормальными средствами хотя бы типа токенов PKCS#11. КриптПро - это гайка с нестандартным шагом, если хотите. Вам бы понравилось если вам бы продавали нестандартные вещи в другой сфере?

anonymous ()
Ответ на: комментарий от AS

Да по барабану, если можно приватный ключ достать из токена. А можно?

Есть токены, которые это позволяют, если при генерации его это было разрешено, а есть которые просто не дают экспортировать приватный ключ!

anonymous ()

Вот в этом весь и бред. Откуда вы это взяли.

Я не знаю, откуда вы взяли то, что предполагаете.

Работайте с нормальными средствами хотя бы типа токенов PKCS#11.

Мне вообще токены не нужны, вот в чём беда. Мне надо достать ключ из токена для использования там, где токен не поставить. Но уже нашёл «Сразу оговоримся, что функции login и logout здесь рассматриваться не будут». Так что пока не интересно.

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

Вопрос - чем. Мне известно пока только про виндоутилиту P12FromGostCSP.

Есть проект XCA, например, который спокойно позволяет экспортировать закрытые ключи с токенов/смарткарт PKCS#11 (ГОСТ-овые тоже) как в различных форматах (PKCS8, PKCS12, и даже открытый) - https://habr.com/ru/post/357668/

Можно посмотреть еще и это

https://habr.com/ru/post/434358/

anonymous ()
Ответ на: комментарий от AS

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

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

AVL2 ★★★★★ ()