🔥

Тред (Лашин Андрей)


Всем привет! Как и обещал небольшой рассказ про компанию. В компании несколько направлений, два основных связаны с программно-аппаратными решениями. Я работаю в направлении Рутокен, мы занимаемся токенами, смарт-картами и смежными продуктами с криптографией «внутри».

Генерируешь ключи на устройстве и пользуешься для электронной подписи, шифрования, криптовундервафли ;) Обитаем мы в России, поэтому криптография на устройствах как российская, так и западная (RSA, ECDSA).

Линейка устройств у компании довольно большая, устройства отличаются как возможностями внутри так и форм-фактором, интерфейсами.

Устройства должны работать на большом количестве платформ, поэтому интерфейсы стараемся предоставлять кросс-платформенные. Главный интерфейс встраивания (библиотека, реализующая стандарт PKCS#11) собрана под 20+ платформ.

Основная работа мобильных команд (Android, iOS) связана с поддержкой работоспособности всего этого зоопарка устройств на мобильных ОС и разработкой демо-приложений для демонстрации встраивания клиентам.

Мы делаем на мобильных ОС сервисы PC/SC, которые на десктопных платформах живут в ОС (служба смарт-карт Windows) или рядом (PCSClite). Эти сервисы обеспечивают работу с нашими устройствами, для их реализации приходится много работать с различными физическими интерфейсами.

Мне доводилось работать с USB, NFC, Bluetooth/Bluetooth LE и другими более экзотичными физическими интерфейсами на Android. На iOS на текущий момент это NFC и Bluetooth/Bluetooth LE.

Работа с hardware раскрашивает жизнь новыми красками. Сразу оговорюсь, что железо бывает разное, я буду говорить про свой опыт. И это мое мнение, а не моего работодателя (так же обычно пишут?).

Работать полностью удаленно или долгое время далеко от офиса на югах не получится, потому что железо нужно менять/обновлять. С digital nomad-ством пока не срастается.

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

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

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

Если тема интересна – вот неплохая кмк статья по теме от моего бывшего коллеги: habr.com/ru/company/akt…

Андрей ЛашинАндрей Лашин