LINUX.ORG.RU

Удостоверяющий Центр на базе OpenSSL, SQLite3 и Tcl/Tk

 , , , ,


2

2

Представлен проект удостоверяющего центра CAFL63, созданного на базе утилиты OpenSSL, использующего СУБД SQLite3 для поддержки базы данных и имеющего развитый графический интерфейс на базе Tcl/Tk. УЦ создан с учетом требований Федерального закона от 6 апреля 2011г. №63-ФЗ «Об электронной подписи», а также «Требований к форме квалифицированного сертификата ключа проверки электронной подписи», утвержденных приказом ФСБ России от 27.12.2011 № 795. Дистрибутивы УЦ доступны для платформ Linux и Windows.

>>> Удостоверяющий Центр на базе OpenSSL, SQLite3 и Tcl/Tk

развитый графический интерфейс на базе Tcl/Tk

«Хлорид кальция!» (с) он еще и развитый...

UPD: Глянул на скрины... Жесткач в чистом виде! Персиковые табы на голубом фоне...

Linfan ★★★★★
()

Не, что-то это за гранью добра и красоты. Тридцать лет назад формочки DBase и то симпатичнее смотрелись. Судя по выбору инструментов, кому-то курсовую работу надо было написать.

gns ★★★★★
()

Во-первых, что такое удостоверяющий центр?

Во-вторых,

развитый графический интерфейс на базе Tcl/Tk

По прочтении сего плакал. Лет десять назад реакция была бы той же.

amix ★★★
()

Господи, зачем я прошел по ссылке. Это точно не запоздалая первоапрельская шутка? Или запоздалая на пару десятилетий серьезная новость...

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

Ну цвета там и в самом деле такие, хм, странные. Кроме того, для реального использования такая система всё-равно не годится, по крайней мере пока решение не будет официально сертифицировано. Однако описанный опыт тоже интересен.

anonymous_incognito ★★★★★
()

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

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

А где можно исходники скачать?

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

Ой да ладно. Больштнство линукс-разработчиков настолько ленивые, что вовсе не делают гуй

makoven ★★★★★
()

После просмотра скринов, глаза начали слезиться кровью..

static ★★
()

Исходников нет. Лицензия не указана. Переместите в раздел Проприетарное ПО.

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

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

anonymous
()

Вспомнил FoxPro и прослезился. Кстати почему часть по русски, а часть интерфейса на английском? «Netscape Type» И дико радует ветеран.

demrnd
()

Хардкорно. Когда решу присесть на наркоту, обязательно проконсультируюст с автором, он, явно, знает толк.

Присоединяюсь к вопросу — что подразумевается под словосочетанием «удостоверяющий центр»?

WitcherGeralt ★★
()

Ооооо... чччёёёрт!

Не. Ну автор, ну предупреждать хоть надо что по ссылке лютый п*ц!

Интерфейс? Да, на дворе шёл 2018 год и рота красноармейцев.

Но, в принципе, это мелочи. Ладно.

Во-первых, что такое удостоверяющий центр?

Это некая такая контора или отдел в конторе, чей открытый сертификат достаточно широко известен и распространён, а честность либо неоспорима, либо в принципе не подвергается сомнению. Далее УЦ (в классике CA) своим ключом подтверждает выпускаемые им сертификаты. Здесь предполагается что есть запросы на сертификаты от юрлиц и от физлиц, а УЦ выпускает для них сертификаты, которыми в дальнейшем юр- и физлица пользуются, например, на веб-сервере для организации https. Ну или для работы с сайтом «Госуслуги», что не столь суть в данном случае. Это всё что нужно знать об УЦ и нахрен он нужен.

В данном случае, на основании «Требований к форме квалифицированного сертификата ключа проверки электронной подписи», эти сертификаты будут нести в себе определённую информацию, что, без сомнения, является нужным, важным и полезным делом.

Но, Господи... Ну зачем так насиловать обслуживающий персонал УЦ? Ведь уже есть проект boulder от того же EFF (да, более известный как Let's encrypt), для которого уже есть открытый протокол ACME, позволяющий создавать и использовать короткоживущие сертификаты (90 суток по умолчанию) в полностью автоматическом режиме?

Исходный код сервера https://github.com/letsencrypt/boulder Да, хипстота сейчас возбудится, он на Go.

Спека на протокол https://github.com/ietf-wg-acme/acme/ , либо в общем и целом https://en.wikipedia.org/wiki/Automated_Certificate_Management_Environment

Т.е., «сервер» УЦ, пригодный при необходимости к работе в полностью автоматическом режиме есть? Есть. «Протокол» и его реализация для клиентов есть? Есть.

Что там остаётся-то? Нарисовать пару формочек для одобрялки-отклонялки/генерации сертификата/вывода списка сертификатов как валидных, так и отозванных и т.д. и т.п.? Нарисуйте их на чём угодно. Хоть на tcl/tk, хоть на пистоне, да хоть на чём. На том же С с GTK+ или C++ c Qt! Это-то не проблема же!

Дальше. А скажите, на хер там персональная СУБД типа SQLite? Т.е., в УЦ должен быть один и только один компьютер, на котором выпускаются сертификаты? А, если их будет два или, о ужас, не дай Бог, три? Что тогда делать? Организовать перенос данных между компьютерами такого «УЦ» на, дайте угадаю, USB-флешке? Что, Вы это... серьёзно? В 2018г.? Ну тот же boulder использует MariaDB, считай, MySQL. Т.е., доступ к сертификатам может быть организован для персонала по внутренней сети УЦ без лишнего невразумительного секса.

В общем, тут кроме гуйни какая-то херня и по архитектуре и по реализации.

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

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

Успехов.

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

Про УЦ в ответе ниже.

Это некая такая контора или отдел в конторе, чей открытый сертификат достаточно широко известен и распространён, а честность либо неоспорима, либо в принципе не подвергается сомнению. Далее УЦ (в классике CA) своим ключом подтверждает выпускаемые им сертификаты. Здесь предполагается что есть запросы на сертификаты от юрлиц и от физлиц, а УЦ выпускает для них сертификаты, которыми в дальнейшем юр- и физлица пользуются, например, на веб-сервере для организации https. Ну или для работы с сайтом «Госуслуги», что не столь суть в данном случае. Это всё что нужно знать об УЦ и нахрен он нужен.

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

Про УЦ в ответе ниже.

Во-первых, что такое удостоверяющий центр?

Я ниже написал:

Это некая такая контора или отдел в конторе, чей открытый сертификат достаточно широко известен и распространён, а честность либо неоспорима, либо в принципе не подвергается сомнению. Далее УЦ (в классике CA) своим ключом подтверждает выпускаемые им сертификаты. Здесь предполагается что есть запросы на сертификаты от юрлиц и от физлиц, а УЦ выпускает для них сертификаты, которыми в дальнейшем юр- и физлица пользуются, например, на веб-сервере для организации https. Ну или для работы с сайтом «Госуслуги», что не столь суть в данном случае. Это всё что нужно знать об УЦ и нахрен он нужен.

anonymous
()

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

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

Присоединяюсь к вопросу — что подразумевается под словосочетанием «удостоверяющий центр»?

Я все таки сходил по ссылке и поглядел. Это просто гуй к openssl ( к примеру чтобы не вспоминать команду openssl x509 -text -in servername.crt ) и поскольку там тикл скорее всего на пистоне.

Кстати не совсем понял зачем ЭТО нужно для винды вроде у них было какое то хранилище сертификатов.

mx__ ★★★★★
()
Ответ на: Ооооо... чччёёёрт! от anonymous

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

Вообще то свой сертификат если ВЫ хотите чтобы ему доверяли ВЫ должны подписать в центре сертификации.

P.S. Упрощенно как фирефокс узнает что у ВАС нормальный сертификат ?

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

Хммм...

Судя по https://m.geektimes.ru/post/283668/

И цитате оттуда:

Я думаю, что еще никто так глубоко не заглядывал в мой код, как вы.

Christian Hohnstädt, разработчик XCA

Как минимум, в девичестве это и есть xca. Только адаптировано под наши реалии. А так-то, это и есть «small CA».

По возрасту я ближе к автору данного поделия, нежели к основному контингенту ЛОР, но даже в моё время за такое «программирование» гоняли ссаными тапками.

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

Здесь как раз...

И идёт речь о Центре Сертификации.

Вообще то свой сертификат если ВЫ хотите чтобы ему доверяли ВЫ должны подписать в центре сертификации.

По ссылке выше это и есть некий такой Центр Сертификации (CA).

anonymous
()
Ответ на: Хммм... от anonymous

Я не сразу понял, что это Лисси - эти чудаки на всем известную букву любят форкать софт, обмазывать его ГОСТовской криптографией и выдавать за православный исконно-русский

Если б понял - не стал бы удивляться...

Pinkbyte ★★★★★
()
Ответ на: Здесь как раз... от anonymous

По ссылке выше это и есть некий такой Центр Сертификации (CA).

Я это понял и как раз еще раз повторю вопрос : Если я поставлю ( фиг с ним ) себе Яндекс браузер он сразу признает ЭТОТ сертификат ? ( мне не придется левые сертификаты в браузер доставлять )

Я понятно спросил ?

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

Да я уже ни хера ни чему не удивляюсь.

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

Но всё было просто. Есть такие наши ключи. Тот же СКБ Контур их выпускает. Всё хорошо, аппаратная реализация, все дела...

А дальше начинается АдЪ, треш, угар и немножечко, самую малость, содомии. Согласно одного из требований этой самой конторы, софт должен быть разработан в РФ. Берём этот ключ, суём в Линукс и понимаем что нам, для работы с ним потребен pcscd. У меня-то генточка православная, но вот как оно запускается для убунточки https://cryptoarm.ru/kak-nastroit-utility-po-rabote-s-elektronnoy-podpisyu-v-...

Обратите внимание на то, что ставится. Ну и, собственно, мой жирнюче-троллячий вопрос (да, я тролль, я знаю) — а что, тот француз, который энтот самый pcscd написал, уже получил Российское гражданство? Я что-то опять прослоупочил? =)))

В ответ... Тишина... =)))

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

Понятно спросили.

Нет. Сразу не признает. Сертификата данного УЦ в хранилище сертификатов Вашего компьютера, точнее, операционной системы на Вашем компьютере нет. По умолчанию нет. Если Вы получите сертификат данного УЦ и присунете его в хранилище, тогда да, признает.

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

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

anonymous
()
Ответ на: Да я уже ни хера ни чему не удивляюсь. от anonymous

оно конечно с одной стороны может и верно, но ты уверен, что хотел бы вместо хорошо известного pcscd пользоваться какой-то местной поделкой(и хорошо если она хотя бы стабильно работать будет), которая будет ни с чем не совместима? :-)

Pinkbyte ★★★★★
()
Ответ на: Понятно спросили. от anonymous

Нет. Сразу не признает. Сертификата данного УЦ в хранилище сертификатов Вашего компьютера, точнее, операционной системы на Вашем компьютере нет.

Т.е. сертификаты данного УЦ сторонние ( надеюсь ВЫ в курсе что по умолчанию в ОС и в браузерах уже есть набор установленных сертификатов ) что по сути не отличает его от любого само подписанного сертификата.

А вообще это вопрос немного не в тему. Я же правильно написал что эта программа для тех кто не осилил man openssl ?

P.S. Если бы меня заставили писать что то подобное я бы лучше написал RPC сервис ну и рожу к нему ...

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

А что там внутри? Оно же по определенному алгоритму работает. А если я хочу, чтоб ещё и промежуточный CA был.

anonymous
()

блин, ну и вырвиглазие.

ncrmnt ★★★★★
()
Ответ на: Да я уже ни хера ни чему не удивляюсь. от anonymous

А дальше начинается АдЪ, треш, угар и немножечко, самую малость, содомии. Согласно одного из требований этой самой конторы, софт должен быть разработан в РФ. Берём этот ключ, суём в Линукс и понимаем что нам, для работы с ним потребен pcscd. У меня-то генточка православная, но вот как оно запускается для убунточки https://cryptoarm.ru/kak-nastroit-utility-po-rabote-s-elektronnoy-podpisyu-v-...

Обратите внимание на то, что ставится. Ну и, собственно, мой жирнюче-троллячий вопрос (да, я тролль, я знаю) — а что, тот француз, который энтот самый pcscd написал, уже получил Российское гражданство? Я что-то опять прослоупочил? =)))

Разве pcscd не в исходниках (в том числе) распространяется?

zloy_starper ★★★
()

Что есть усовершенствованная ЭП (в 63-фз речь идёт об обычной и усиленной квалифицированной/неквалифицированной)?
Просто в фз-63 такое слово вообще не встречается. Или же усовершенствованная = усиленная?
Гугление дало только разработку КриптоПРО.

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

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

Пистон с тиклем это для более молодого поколения. Там тикль чистоганом :)

Linfan ★★★★★
()

Это вообще законно такое сочетание цветов в интерфейсе использовать? Это ж преднамеренное нанесение вреда здоровью пользователей.

WatchCat ★★★★★
()
Ответ на: Хммм... от anonymous

я вообще ничего не понял

вроде бы, это один и тот же автор

но в той статье он пишет, как адаптировал xca с помощью переписывания форм на qt, а здесь - самодельный проект на tcl/tk

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

Да. В исходниках.

Разве pcscd не в исходниках (в том числе) распространяется?

В исходниках. Но формальные требования есть формальные требования. Я чуть ниже (в ответе PinkByte) разверну это понятие. И поясню что к чему.

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

Да там, по ходу...

... целый коллектив. С Qt, видимо, не особо завелась и взлетело, сговнякали как смогли.

anonymous
()

Вялендошколота зохавала тред.

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

кто то застрял в совке)

Если бы использовал темы, смотрелось бы значительно лучше.

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

Для нашего случая?

но ты уверен, что хотел бы вместо хорошо известного pcscd пользоваться какой-то местной поделкой(и хорошо если она хотя бы стабильно работать будет), которая будет ни с чем не совместима? :-)

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

К чему я это написал? А, в принципе, дело так и обстоит. Но что касается нашего случая, то если мы говорим «А», то тогда надо не останавливаться и проговаривать все остальные буквы до «Я». =) Т.е., есть требования, есть реализации и они должны соответствовать друг-другу. Если этого не происходит, то тогда нахера тратить и своё и чужое время и какие-то требования выписывать, если их ни кто и не собирался реализовывать? В случае с криптой, если уж мы берём стандартные вещи и пытаемся их как-то приспособить к своим требованиям (спекам), то хотелось бы чтобы они действительно были реализованы как положено, а не через пень колоду.

Иначе у нас таки будет всплывать всякое (оно не тонет), и вместо нормальных реализаций под все современные ОС, оно будет более-менее работать под офтопик и только. Ну либо как написано в https://habrahabr.ru/company/aktiv-company/blog/219071/

Вы не поняли. В opensc поддерживается Рутокен ЭЦП. В частности, в библиотеке opensc-pkcs11 — open source реализации стандарта PKCS#11.

Но формат хранения ключей и сертификатов, принятый в opensc, долгое время не был адаптирован и стандартизован под ГОСТы. Поэтому мы вынуждены были написать свою библиотеку PKCS#11. Наш формат хранения данных на токене в плане поддержки ГОСТов более универсален. Соответственно, наша библиотека PKCS#11 имеется под все основные платформы (Win, Linux, MAC OS, iOS, Android).

Мы идём своим, ведомом нам одним, путём. А так-то, здесь вот https://dev.rutoken.ru/pages/viewpage.action?pageId=2228266 в принципе всё понятно... Хотя, у меня лично всё это оставляет ощущение того, что парни просто рубят бабло. Работает как-то, да и ладно.

anonymous
()
Ответ на: Да там, по ходу... от anonymous

С Qt, видимо, не особо завелась и взлетело, сговнякали как смогли.

ЗЫ. Что Tk, что Tkinter удобнее в разработке, чем QT или swing. Правда во количеству виджетов все грустно.

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

Не совсем так.

Я же правильно написал что эта программа для тех кто не осилил man openssl ?

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

Т.е. сертификаты данного УЦ сторонние ( надеюсь ВЫ в курсе что по умолчанию в ОС и в браузерах уже есть набор установленных сертификатов ) что по сути не отличает его от любого само подписанного сертификата.

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

Все корневые сертификаты доверенных УЦ являются самоподписанными, только их отозвать нельзя на счёт раз, в отличие от изданного УЦ сертификата обычного пользователя. См https://tools.ietf.org/html/rfc2459#section-3.3 Если сертификат у конечного пользователя, то это всё его проблемы. Если сертификат издан УЦ, то отзыв сертификата это проблемы в начале УЦ, а потом уже пользователя данного сертификата.

Если бы меня заставили писать что то подобное я бы лучше написал RPC сервис ну и рожу к нему ...

Можно и так. Но уже есть Let's encrypt с их проектом boulder, есть acme-пртокол, который работает в автомате (сам пользуюсь), я бы посмотрел в ту сторону. Ссылки в моём комменте выше.

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

Наверное.

Что Tk, что Tkinter удобнее в разработке, чем QT или swing. Правда во количеству виджетов все грустно.

А мне вот GTK+ с сями удобнее. Сейчас вон, gnome-builder и glade просто рулят, педалят и подзынькивают. На вкус и цвет все фломастеры разные. А на ноуте с тачкрином Gnome с его щелью вообще улёт. Можно даже экранную клаву, встроенную в Gnome использовать. Не понимаю чего там в KDE хорошего.

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