В комментариях к статье «Англоязычная кроссплатформенная утилита для просмотра российских квалифицированных сертификатов x509» было пожелание от пользователя Pas иметь не только «парсинг сертификатов», но и получать «цепочки корневых сертификатов и проводить PKI-валидацию, хотя бы для сертификатов на токенах с неизвлекаемым ключом». О получении цепочки сертификатов рассказывалось в одной из предыдущих статей. Правда там речь шла о сертификатах, хранящихся в файлах, но мы обещали добавить механизмы для работы с сертификатами, хранящимися на токенах PKCS#11. И вот что в итоге получилось.Читать полностью »
Рубрика «Разработка под Linux» - 29
Криптографические токены PKCS#11: просмотр и экспорт сертификатов, проверка их валидности
2019-03-12 в 15:28, admin, рубрики: certificate, CRL, IT-стандарты, ocsp, PKCS#11, python, validate, x509 v3, Графические оболочки, информационная безопасность, Разработка под LinuxПодборка полезностей для программиста под Linux
2019-03-11 в 12:24, admin, рубрики: C, cpd, open source, pmd, record and replay, rr, sotruss, Настройка Linux, Разработка под LinuxДумаю, у каждого программиста есть набор любимых утилит, трюков и знаний. Некоторые он даже использует в работе. Скорее всего, у разных программистов они различаются. Значит, пришло время поделиться. Сегодня я расскажу о своей подборке того, что, вероятно, известно не настолько широко, как оно того заслуживает. Речь пойдёт преимущественно про платформу GNU/Linux.
В чем набрать и чем собрать C++ проект
2019-03-05 в 13:23, admin, рубрики: ant, build system, c++, cmake, eclipse, google test, gradle, IDE, kdevelop, make, netbeans, qt, QtCreator, scons, Разработка под LinuxЗадавшись этим вопросом я, в первую очередь, сформулировал требования: жесткие и опциональные (но желательные) для системы сборки и графической среды разработки.
Сразу хочу отметить что речь идет о написании C++ кода не под какую-то специфичную платформу типа Android или фреймворка, например Qt, — где все уже готово, как с построением так и с редактированием кода, а об generic коде не привязанному к конкретной платформе или фреймворку.
Читать полностью »
Linux Foundation анонсировала open source платформу ELISA для разработки автоматизированных систем
2019-02-27 в 4:59, admin, рубрики: linux, open source, беспилотный транспорт, Блог компании ITSumma, промышленность, Разработка под Linux, Разработка робототехники, робототехника, транспорт будущегоНа прошлой неделе, 21 февраля, сообщество Linux Foundation анонсировало старт работ над платформой Enabling Linux in Safety Application (ELISA), цель которой — стандартизировать разработку и повысить надежность автоматизированных систем во всех основных промышленных областях. В их число, в том числе, входит медицина, энергетика и автомобилестроение.
Также цель платформы — повысить скорость вывода новых продуктов на рынок и параллельно снизить количество критических ошибок и рисков при проектировании систем, которые могут повлечь проблемы в эксплуатации, техногенные аварии и человеческие жертвы. В разработку будут вовлечены британский производитель чипов ARM Holdings, BMW Car IT GmbH, Toyota и немецкая компания KUKA Robotics, сообщается в официальном пресс-релизе.
Платформа ELISA является наследником более раннего проекта Linux Foundation — Automotive Grade Linux (AGL) 5.0 — совместного с Toyota open source проекта по разработке программного обеспечения и систем автопилота для транспорта. Также в основу платформы легли наработки по проекту SIL2LinuxMP (урезанное окружение GNU/Linux для RTOS) и Real-Time Linux (PREEMPT_RT).
Читать полностью »
Для российской платформы промышленных ПК взяли процессоры «Байкал-Т1» и ОС «Альт»
2019-02-26 в 6:14, admin, рубрики: BE-T1000, Базальт СПО, Байкал электроникс, Байкал-Т1, Компьютерное железо, Настольные компьютеры, промышленный ПК, Процессоры, Разработка под Linux, Хамстер роботикс ИнжинирингПромышленный компьютер HR-IC-01 на «Байкал-Т1»
Компании «Базальт СПО», «Байкал Электроникс» и недавно зарегистрированный резидент «Сколково», компания «Хамстер роботикс Инжиниринг»? объединили усилия для разработки первой российской платформы промышленных компьютеров. В её составе — вычислительная техника на основе процессора BE-T1000 («Байкал-Т1») и операционные системы «Альт» для серверов и рабочих станций.
Читать полностью »
Англоязычная кроссплатформенная утилита для просмотра российских квалифицированных сертификатов x509
2019-02-18 в 14:25, admin, рубрики: asn.1, certificate, IT-стандарты, python, signature, x509 v3, ГОСТ 34.10-2012, ГОСТ 34.11-2012, криптография, Разработка под Linux, Разработка под MacOS Сегодня использование цифровых сертификатов X509 v.3 стало обыденным делом. Все больше людей используют их для доступа на сайт Госуслуги, ФНС, электронные торги и т.д. И все больше людей хотят знать что же находится в этом «сундуке» под названием сертификат. И если сертификат является аналогом паспорта, то как его можно прочитать/просмотреть. Да, в операционных системах присутствуют различные утилиты для просмотра. Но рядовому гражданину они мало что дадут. Возьмем для примера утилиту gcr-viewer, которая по сути является стандартным средством для просмотра в Linux-системах, а значит и в отечественных ОС:
Читать полностью »
Безумие дотфайлов
2019-02-17 в 20:40, admin, рубрики: dotfiles, базовые каталоги, переменные среды, Разработка под Linux, скрытые файлыМы больше не контролируем свои домашние каталоги.
В моём собственном 25 обычных файлов и 144 скрытых. В дотфайлах хранятся данные, которые не принадлежат мне: они принадлежат программистам, чьи программы решили захватить моё пространство, предназначенное для хранения моих личных файлов.
Я не могу убрать эти файлы в другое место. Если я попытаюсь их удалить, они появятся снова. Всё, что я могу сделать — это сидеть и знать, что в темноте, за кулисами, они есть. Ожидание в тишине. Некоторые из этих программистов решили дополнительно разместить здесь несколько обычных файлов и каталогов. Они хорошо видны каждый раз, когда я выполняю ls
. Понятия не имею, как в мою личную папку попали каталог node_modules
, файлы package-lock.json
, yarn.lock
(я никогда сознательно даже не ставил yarn
!), какие-то два странных лог-файла от какой-то Java-программы, явно использующей СУБД H2, и папка Desktop
. Последнюю создал Steam, что довольно неудачно, поскольку на моей машине просто нет рабочего стола или какого-то десктопа. Боюсь того дня, когда услышу громкий стук в дверь — и один из этих программистов ворвётся и сообщит, что собирается хранить часть своей мебели посреди моей гостиной, если я не возражаю.
Читать полностью »
Приключения с ptrace(2)
2019-02-17 в 18:49, admin, рубрики: api, ptrace, отладка, Разработка под Linux, системное программирование, хитрости На Хабре уже писали про перехват системных вызовов с помощью ptrace
; Алекса написал про это намного более развёрнутый пост, который я решил перевести.
С чего начать
Общение между отлаживаемой программой и отладчиком происходит при помощи сигналов. Это существенно усложняет и без того непростые вещи; ради развлечения можете прочесть раздел BUGS в man ptrace
.
Есть как минимум два разных способа начать отладку:
ptrace(PTRACE_TRACEME, 0, NULL, NULL)
сделает родителя текущего процесса отладчиком для него. Никакого содействия от родителя при этом не требуется;man
ненавязчиво советует: «A process probably shouldn't make this request if its parent isn't expecting to trace it.» (Где-нибудь ещё в манах вы видели фразу «probably shouldn't»?) Если у текущего процесса уже был отладчик, то вызов не удастся.ptrace(PTRACE_ATTACH, pid, NULL, NULL)
сделает текущий процесс отладчиком дляpid
. Если уpid
уже был отладчик, то вызов не удастся. Отлаживаемому процессу шлётсяSIGSTOP
, и он не продолжит работу, пока отладчик его не «разморозит».
Эти два метода полностью независимы; можно пользоваться либо одним, либо другим, но нет никакого смысла их сочетать.Читать полностью »
Must-have плагины и несколько полезностей для С-С++ разработки в VS Code
2019-02-15 в 8:58, admin, рубрики: c++, Visual Studio, vs code, Блог компании «Актив», Программирование, разработка, Разработка под Linux, расширения
Удивительно, но до сих пор на Хабре нет хорошей подборки плагинов для Visual Studio Code для тех, кто пишет на С/С++. Microsoft в своем блоге опубликовали только статью, совсем базового уровня с инструкцией по настройке. Но большинство читателей Хабра, тем более из разработчиков, обойдется без такой подробной инструкции. Есть только несколько подборок для веб-разработчиков, но не для С++.
Наверное это связано с тем, что большинство С++ разработчиков использует тяжеловесные IDE, в первую очередь конечно же Visual Studio.
Но в Linux и MacOS с полноценными IDE всё не так просто, да и тяжелая среда разработки не всегда нужна или просто не хочется ее использовать.
Я же хочу обратить ваше внимание на полезные плагины, которые облегчают жизнь и работу, а также рассказать про полезные настройки и особенности VS Code, которые вы могли просто упустить.
Читать полностью »
io_submit: альтернатива epoll, о которой вы никогда не слышали
2019-02-13 в 13:01, admin, рубрики: AIO, api, async, C, CloudFlare, epoll, io_submit, linux, Блог компании Badoo, высокая производительность, Разработка под Linux, системное программирование
Недавно внимание автора привлекла статья на LWN о новом интерфейсе ядра для опроса (polling). В ней обсуждается новый механизм опроса в Linux AIO API (интерфейс для асинхронной работы с файлами), который добавили в ядро версии 4.18. Идея довольно интересная: автор патча предлагает использовать Linux AIO API для работы с сетью.
Но постойте! Ведь Linux AIO был создан для работы с асинхронным вводом-выводом с диска / на диск! Файлы на диске — это не то же самое, что сетевые соединения. Возможно ли вообще использовать Linux AIO API для работы с сетью?
Оказывается, да, возможно! В этой статье объясняется, как использовать сильные стороны Linux AIO API для создания более быстрых и лучших сетевых серверов.
Но давайте начнём с разъяснения, что представляет собой Linux AIO.
Читать полностью »