криптопро кей

криптопро кей Электронная цифровая подпись

Криптографическая программа КриптоПро CSP — инструмент генерации ЭП и средство криптозащиты для формирования подписи в веб-формах, документах и отчетах, предназначенных для налоговой и систем банк-клиент. ПО сертифицировано по стандартам ФАПСИ, обеспечивает подлинность подписи и защиту информации.

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

Оформим ЭЦП для вашего бизнеса. Поможем установить и настроить в день подачи заявки!

Оставьте заявку и получите консультацию в течение 5 минут.

В случае, если закрытый ключ состоит из шести файлов .key: header.key, masks.key, masks2.key, name.key, primary.key, primary2.key, которые находятся в одной общей папке, перенесите папку с файлами на USB-накопитель (USB-флеш-накопитель, жёсткий диск) для отображения файлов в программе КриптоПро CSP.

Обратите внимание, файлы должны находиться в папке первого уровня (Рис. 1).

криптопро кей
Рис. 1. Пример расположения файлов закрытого ключа на USB-накопителе

Затем проверьте отображение файлов в КриптоПро CSP. Для этого откройте программу, откройте раздел «Сервис» → «Просмотреть сертификаты в контейнере» (Рис. 2).

криптопро кей
Рис. 2. КриптоПро CSP

Далее нажмите кнопку «Обзор». Откроется окно выбора контейнера. При корректном отображении файлов будет строка: Считыватель – Наименование USB-накопителя, Имя контейнера – Наименование папки с файлами (Рис. 3).

криптопро кей
Рис. 3. Корректное отображение файлов с USB-накопителя

Далее выполните установку личного сертификата по инструкции: 
/ru-ru/support/kb/333#1.

Сборка ключей версии КриптоПро 5.0 найденные на просторах интернета с открытых источников. Подборка сделана для удобства поиска.

При нахождении новых ключей список будет пополнятся.

5050H-E000C-MTCQE-H1TWV-RTNUK — 5.0.12330

4040E-F000P-G1QZB-FP4C0-8LT5X  — 5.0.12330

50500-00000-0U000-00BRZ-8ZTCN — 5.0.12330 кс1

4040W-20000-0168K-VQCQR-8XH45 — 5.0

4040A-Q333K-9KAC2-9A6QR-6FCZN — 5.0

50500-00120-0Z178-0055H-AMWN1 —  серверный проверялся на 5.0.11998

4040N-B0000-01YNB-TB150-0Y5NK — 5 версия

Для других версий

КриптоПро 5.0
КриптоПро 4.0
КриптоПро 3.9
КриптоПро 2.0
КриптоПро РАЗНЫЕ

Остерегайтесь мошенников которые продают ключи КриптоПро в телеграмме

Содержание
  1. Остерегайтесь мошенников которые продают ключи КриптоПро в телеграмме
  2. Минуточку внимания
  3. Сертификат со встроенной лицензией
  4. Сертификат без встроенной лицензии
  5. Где купить КриптоПро
  6. Возможности КриптоПро 4 с ключом серийного номера
  7. Как скачать КриптоПро бесплатно
  8. Как установить КриптоПро 4
  9. Где приобрести КриптоПро 4
  10. Сборка утилиты конвертирования ключа
  11. Компиляция OpenSSL библиотеки
  12. Компиляция privkey
  13. Формирование файла закрытого ключа private. key
  14. Пользуемся закрытым ключом private. key для подписывания файла file. txt
  15. Проверяем подпись
  16. Файл masks. key
  17. КриптоПро
  18. КриптоПро
  19. Что такое КриптоПро
  20. Для чего необходимо КриптоПро
  21. Принцип работы
  22. Как купить КриптоПро
  23. ООО “КЕЙ ТРЕЙД”
  24. Купить
  25. Вход
  26. Услуги УЦ
  27. Услуги СЭП
  28. Подписка
  29. Ключ для КриптоПро 4. 0 9944 и варианты лицензий
  30. Как получить и ввести ключ КриптоПро 4. 0 9944, если программа уже установлена
  31. 1 способ
  32. 2 способ
  33. Наш каталог продукции
  34. Бессрочный серийный номер КриптоПро 4. 0 9944
  35. Серийный номер для КриптоПро 4. 0 сборка 9944
  36. Файл header. key
  37. Токены для электронной подписи
  38. Рутокен Lite
  39. Цена: 1 500₽
  40. Jacarta LT
  41. Цена: 1 450₽
  42. Рутокен ЭЦП 2. 2100
  43. Цена: 2 100₽
  44. Читаем закрытый ключ и конвертируем

Остерегайтесь мошенников которые продают ключи КриптоПро в телеграмме

Речь пойдет о файлах primary.key, masks.key и header.key, которые лежат в директории ххххх.000 на флешке. Данные файлы входят в состав криптоконтейнера закрытого ключа электронной подписи криптопровайдера КриптоПро, формат которого нигде не опубликован. Целью данной статьи является чтение контейнера и преобразование закрытого ключа в формат, который может быть прочитан в библиотеке OpenSSL. Долгое время было распространено ошибочное суждение, что достаточно сделать нечто вида (primary_key XOR masks_key) и мы получим закрытый ключ в чистом (raw) виде, однако забегая вперед, можно утверждать, что в КриптоПро было применено более сложное преобразование, в худшем случае состоящее из более чем 2000 (двух тысяч) операций хеширования.

Стоит упомянуть о существовании утилиты P12FromGostCSP которая позволяет конвертировать ключ в формат P12, доступный для работы с OpenSSL, но утилита имеет следующие существенные недостатки:

  • Читает контейнер не напрямую, а через криптопровайдер, поэтому там, где кроме OpenSSL ничего нет, не работает.
  • Если в свойствах ключа не отмечено, что ключ «экспортируемый», то конвертировать его невозможно.
  • В демо версии не формирует файл с ключом, эта возможность присутствует только в платной версии.

Изучаю вопрос работы с ЭЦП, которую теперь можно получить “бесплатно” (принесите только сертифицированный носитель). Однако, из документации получается, что для работы в ЛК ИП в налоговой нужно установить плагин в браузер, который в свою очередь хочет иметь Crypto Pro, которая платная.

Я всё правильно понял?
То есть для работы с бесплатной КЭП ЭЦП от налоговой нужно купить и Носитель, и лицензию КриптоПро?
—-
UPD: Что я выяснил в процессе

  • ЭЦП налоговой не работает с VipNet CSP! Просит именно CryptoPro CSP
  • CryptoPro CPS имеет 90 дней пробный период. Бессрочная лицензия в октябре 2021 стоит 2700р.
  • Вопрос задан

    более года назад

  • 14041 просмотр

Крипто-про – криптопровайдер.
Для работы эцп обязателен криптопровайдер, но не обязательна Крипто-про. Есть бесплатные криптопровайдеры, но с ними тяжело, криво и сложно работать. Используйте либо триалку Крипто-про, она даётся на полгода. Либо купите бессрочную версию. Она стоит пару тысяч и закрывает вопрос с криптопровайдером навсегда.

P. S. До этого года эцп выдавали только коммерческие уц и просили за это ещё 5 т.р. сверх стоимости носителя и криптопровайдера, продлевать нужно было ежегодно. И никто не гудел. А сейчас вы покупаете за 2 т.р. Крипто-про, за 500 р носитель и можете на него записывать эцп, полученную в налоговой хоть сто лет.

P. P. S. Если надумаете брать Крипто-про, берите именно бессрочную версию. Всё продавцы норовят продать подписку на год, которая всего в 2-3 раза дешевле бессрочной версии.


Пригласить эксперта

Типо того.
Благо есть ломанные версии

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

Изучаю вопрос работы с ЭЦП, которую теперь можно получить “бесплатно”

А почему бесплатно в кавычках? Ее действительно делают бесплатно.

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

Плагину Crypto Pro не нужен, он будет работать и без него прекрасно. Crypto Pro нужен для использования подписи.

То есть для работы с бесплатной КЭП ЭЦП от налоговой нужно купить и Носитель, и лицензию КриптоПро?

Разумеется.

15 сент. 2022, в 14:16

1000 руб./в час

15 сент. 2022, в 13:52

35000 руб./за проект

15 сент. 2022, в 13:41

10000 руб./за проект

Минуточку внимания


Настройка ОС

31 декабря 2017

Просмотров: 20153

обновлено 04.03.2018  добавлена поддержка crypto pro 5.0

Доброго времени суток.

В предыдущих заметках я описал как достать серийный номер (лицензионный ключ)  для CryptoPro версии 3.6, 3.9, 4.0 и 5.0

Все это я описывал в данных заметках.

Узнать серийный номер установленной cryptoPro 5.0

Лицензионный ключ Crypto pro 4.0 где сохранен

Узнать серийный номер установленной cryptoPro 3.9

Где находиться ключ crypto pro 3.6

Но немного подумав я решил что не сделать ли программку или скрипт для ускорения и автоматизации данного процесса.

Как говориться ” Хороший админ это Ленивый админ “

Программировать я к сожалению не умею. Но учусь в свободное время.

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

Но я неплохо пишу Bat файлы или как я их называю костыли)).

Теперь представляю вашему вниманию скрипт под названием CryptoPRO KEY 3.6 / 3.9 / 4.0 /5.0

Данный скрипт отображает в своем окне значение параметра ProductID.

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

Первый запуск сразу предлагает выбор от какой версии CryptoPro вы хотите узнать ключ.

Выбор предоставляется в виде списка а сам выбор с помощью цифр 1, 2 и 3.

выбор версии CryptoPro

выбор версии CryptoPro

Жмем нужную для нас цифру и жмем интер сразу появляется в окне указанный ключ.

вопрос экспортировать ли  reg файл параметры CryptoPro.

вопрос экспортировать ли reg файл параметры CryptoPro.

И задает вопрос экспортировать ли  reg файл параметры CryptoPro.

Как заставить извлечь только нужную строчку не выходит.

Если есть знатоки то пишите в VK в коментарии или на сайте вопрос-ответ как этот код можно доработать.

Отвечать на вопрос буквами Y (Да) и N (Нет).

Отвечать на вопрос буквами Y (Да) и N (Нет).

Отвечать на вопрос буквами Y (Да) и N (Нет).

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

Далее открываем этот reg файл блокнотом и копируем лицензионный ключ CryptoPro

лицензионный ключ CryptoPro. открытия reg файла

лицензионный ключ CryptoPro. открытия reg файла

Надеюсь информация полезная и скрипт тоже.

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

Эту программку я назвал CryptoPro Key Viewer  При нажатии на соответствующую кнопу ключ будет выведен. На экран и его можно свободно скопировать.

CryptoPro Key Viwer

CryptoPro Key Viwer v1.0 – CryptoPro Key Viwer

Если это будет интересно людям то я продолжу совершенствовать данную программу.

Скачиваем  CryptoPro Key Viewer  здесь

ВНИМАНИЕ!!! Запускать от имени администратора. подробно об этом Запустить программу с правами администратора vista/7/8/8.1/10

При какой либо проблеме описывайте версию ОС версию CryptoPro. И ваши действия.

Проблемы не работает без объяснения  не обсуждаются так как на них простой ответ все работает(

вопросы

Из нашей статьи вы узнаете:

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

Сертификат со встроенной лицензией

Для работы предварительно надо установить открытый ключ в закрытый. В этом случае не требуется дополнительной покупки лицензии на программное обеспечение, но перед началом использования важно проверить версию вашего ПО. Для этого перейдите по следующему пути: меню «Пуск» — «Панель управления» — «КриптоПро CSP». Далее — во вкладку «Общие» и проконтролируйте, чтобы версия была не ниже 4.0 (если необходимо, то выполните обновление).

Сертификат без встроенной лицензии

Здесь порядок действий несколько длиннее. Для начала надо найти приложение к договору, который вы получили вместе с криптопровайдером. Там должен содержаться уникальный серийный номер (обычно его отправляют по электронной почте или прикрепляют к комплекту установочных файлов). Непосредственно ввод ключа можно выполнить двумя способами.

Способ № 1:
  • перейдите по пути: «Пуск» — «Программы» — «КриптоПро» — «КриптоПро PKI»;
  • откройте пункт «Управление лицензиями» (для этого сделайте два клика мышкой);
  • найдите пункт «КриптоПро CSP» и кликните по нему левой кнопкой;
  • выберите в выпавшем меню пункт «Все задачи» — «Ввести серийный номер»;
  • «Ввести серийный номер»

  • укажите полученный ключ.
  • Укажите ключ

Способ № 2.

Вариант подходит при покупке прав использования ПО в виде файла с расширением .lic.

Выполните следующие действия:

  • перейдите по пути: «Пуск» — «Программы» — «КриптоПро» — «КриптоПро PKI»;
  • откройте пункт «Управление лицензиями» (для этого сделайте два клика мышкой);
  • выберите пункт «Установить лицензионный файл».

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

Где купить КриптоПро

Если вам необходимо приобрести или продлить лицензию на использование «КриптоПро», то обращайтесь к нам в «Астрал-М». Мы являемся официальным партнёром разработчика (информацию о нашей компании, как о партнёре, можно найти на официальном сайте КриптоПро в разделе «Партнёры»). У нас вы сможете приобрести не только электронную подпись, но и криптопровайдер КриптоПро по отличной цене. Для приобретения заполните форму обратной связи на нашем сайте, чтобы наш менеджер связался с вами.

вопросы

Из нашей статьи вы узнаете:

Электронная подпись превратилась в повседневность и главного помощника в современном бизнесе, который использует в работе ЭДО. Но, чтобы корректно работать с ЭЦП, нужен криптопровайдер. Сегодня распространенной формой криптопровайдера можно назвать КриптоПро 4 с ключом серийного номера, который дает право устанавливать программу на ваши устройства.

Возможности КриптоПро 4 с ключом серийного номера

КриптоПро 4 выполняет все функции предыдущих версий программы, а дополнительно:

  1. Поддерживает ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012. Установите КриптоПро 4 с ключом серийного номера, если вам требуется поддержка данного ГОСТа.
  2. Поддержка двух ключей подписи — на 256 и 512 бит. Такого эффекта в КриптоПро 4 удалось добиться благодаря переработанной алгоритмической части криптоядра.
  3. Поддержка КриптоПро 4 большинства используемых токенов, в том числе Esmart Token.
  4. Авторизация с гарантией обеспечения юридической значимости в электронных версиях применяемых документов.
  5. Гарантия защищенности, имитозащиты и подлинности соединений в новой КриптоПро 4 при условии наличия серийного ключа.
  6. Защита целостности сведений благодаря применению имитозащиты и кодирования.

Дополнительно новая КриптоПро оборудована модулем самозащиты. Это означает, что вредоносный код или злоумышленник не получат несанкционированного доступа к программе.

Главное — устанавливая новую КриптоПро CSP 4, пользователь гарантированно получает софт с сертификатом Федеральной службы безопасности, который подтверждает высокий уровень защиты.

Как скачать КриптоПро бесплатно

Все ПО доступно на официальном сайте производителя. Скачайте, выполнив простую инструкцию:

  1. Перейдите на главный сайт производителя. Сделать это можно по ссылке www.cryptopro.ru.
  2. Кликните на раздел «Продукты», чтобы перейти в него и получить возможность сохранить КриптоПро 4 на свой компьютер.
  3. Пройдите по ссылке Crypto Pro CSP, чтобы узнать о возможностях, которые предлагаются в данном программном обеспечении. В самом низу страницы находится ссылка «Загрузить СКЗИ», кликните на нее.
  4. Авторизуйтесь на открывшейся странице либо пройдите простую процедуру регистрации. Понадобится указать адрес электронной почты, имя с фамилией и номер телефона. Чтобы завершить регистрацию аккаунта, поставьте галочку на пункте согласия с регламентом и отправьте введенные данные.
  5. Скачайте КриптоПро CSP 4 по ссылкам, которые станут доступны сразу после авторизации пользователя. Разработчик предложил КриптоПро 4 в трех редакциях: R3, R4 и R5. В последних присутствуют улучшения, среди которых контроль за сроком действия ключей.
  6. Кликните на понравившийся вариант программы, согласитесь с регламентом и ожидайте скачивания.

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

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

Как установить КриптоПро 4

Чтобы установить Crypto Pro на локальный компьютер, необходимо иметь права администратора. Также рекомендуется перед процедурой установки закрыть все работающие окна и приложения. Они вряд ли помешают Crypto Pro нормально установиться, тем более если есть серийный номер, но степень безопасности это все равно повышает.

Для установки выполните следующую процедуру:

  1. Найдите скачанный установочный файл. По умолчанию он должен находиться в папке «Загрузки», но пользователь вправе сам назначать каталог, в который сохраняется файл.
  2. Дважды кликните на него, чтобы открыть скачанный файл.
  3. Прочитайте приветственное окно Crypto Pro CSP, а затем нажмите «Далее».
  4. Прочитайте лицензионное соглашение. Если условия, предложенные новой Crypto вас устраивают, соглашайтесь с ними.
  5. Укажите пользовательские данные. К ним относится наименование компании, в которой будет работать Crypto Pro. Чуть ниже введите 25-значный ключ в специальном поле. Если вы устанавливаете бесплатную версию, то ключ еще не куплен. В этом случае оставьте поле пустым.
  6. Выберите тип установки. Вы можете выбрать стандартную установку Crypto Pro CSP или выборочную. В большинстве случаев выбирайте стандартную. Она оптимизирована для работы на большинстве компьютеров.
  7. Нажмите «Установить». Программа может дополнительно запросить пользовательское согласие с регламентом. Это нужно для повышения безопасности. Соглашайтесь с регламентом, и начнется процесс инсталляции.

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

Где приобрести КриптоПро 4

После истечения бесключевого периода использования Crypto Pro программа предложит оплатить лицензию. Если игнорировать предложение, софтом невозможно будет пользоваться даже после переустановки.

Попытка использования пиратского номера влечет за собой наложение санкций со стороны государства со всеми вытекающими последствиями.
Вместо этого, лучше использовать полностью легальную версию криптопровайдера. Купить программу можно в нашем удостоверяющем центре «Астрал-М». Мы являемся официальным партнером разработчика программного обеспечения КриптоПро, в чем вы можете убедиться на официальном сайте.

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

Полное юридическое наименование:ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ “КЕЙ ТРЕЙД”
Руководитель:ДИРЕКТОР Балабан Елена Васильевна
ИНН / КПП:2308210861 / 230801001
Уставной капитал:10 тыс.руб.
Численность персонала:7
Количество учредителей:1
Дата регистрации:03.06.2014
Статус:Действующее

Состоит в реестре субъектов малого и среднего предпринимательства: с 01.08.2016 как микропредприятие

Специальные налоговые режимы: упрощенная система налогообложения (УСН)

Основной (по коду ОКВЭД ред.2): 62.09 – Деятельность, связанная с использованием вычислительной техники и информационных технологий, прочая

Найти похожие предприятия – в той же отрасли и регионе (с тем же ОКВЭД и ОКАТО)

Дополнительные виды деятельности по ОКВЭД:

31.01Производство мебели для офисов и предприятий торговли
46.43.2Торговля оптовая радио-, теле- и видеоаппаратурой и аппаратурой для цифровых видеодисков (DVD)
46.43.3Торговля оптовая грампластинками, аудио- и видеомагнитными лентами, компакт-дисками (CD) и цифровыми видеодисками (DVD) (кроме носителей без записей)
46.65Торговля оптовая офисной мебелью
47.41Торговля розничная компьютерами, периферийными устройствами к ним и программным обеспечением в специализированных магазинах
47.63.1Торговля розничная музыкальными записями, аудиолентами, компакт-дисками и кассетами в специализированных магазинах
47.63.2Торговля розничная лентами и дисками без записей в специализированных магазинах
61.10.4Деятельность в области документальной электросвязи
62.01Разработка компьютерного программного обеспечения
62.02Деятельность консультативная и работы в области компьютерных технологий
63.11Деятельность по обработке данных, предоставление услуг по размещению информации и связанная с этим деятельность
63.11.1Деятельность по созданию и использованию баз данных и информационных ресурсов
70.10.1Деятельность по управлению финансово-промышленными группами
70.10.2Деятельность по управлению холдинг-компаниями
70.22Консультирование по вопросам коммерческой деятельности и управления
73.11Деятельность рекламных агентств
73.20Исследование конъюнктуры рынка и изучение общественного мнения
82.30Деятельность по организации конференций и выставок
82.99Деятельность по предоставлению прочих вспомогательных услуг для бизнеса, не включенная в другие группировки
95.11Ремонт компьютеров и периферийного компьютерного оборудования

Регистрация в Пенсионном фонде Российской Федерации:

Регистрационный номер: 033013065855

Дата регистрации: 09.06.2014

Наименование органа ПФР: Управление Пенсионного фонда РФ в Западном административном округе г.Краснодара

ГРН внесения в ЕГРЮЛ записи: 7162375745019

Дата внесения в ЕГРЮЛ записи: 13.11.2016

Регистрация в Фонде социального страхования Российской Федерации:

Регистрационный номер: 230203815923021

Дата регистрации: 16.06.2014

Наименование органа ФСС: Филиал № 2 Государственного учреждения – Краснодарского регионального отделения Фонда социального страхования РФ

ГРН внесения в ЕГРЮЛ записи: 6162375915861

Дата внесения в ЕГРЮЛ записи: 06.10.2016

Сведения о доходах и расходах по данным ФНС от 02.08.2022 по ИНН 2308210861:

ГодДоходыРасходыДоходы – Расходы
202019 407 000 руб.18 141 000 руб.1 266 000 руб.

Сведения об уплаченных суммах налогов и сборов по данным ФНС от 02.08.2022 по ИНН 2308210861:

ГодНаименованиеСумма
2020Страховые взносы на обязательное медицинское страхование работающего населения, зачисляемые в бюджет Федерального фонда обязательного медицинского страхования68 600 руб.
2020Страховые и другие взносы на обязательное пенсионное страхование, зачисляемые в Пенсионный фонд Российской Федерации136 700 руб.
2020Страховые взносы на обязательное социальное страхование на случай временной нетрудоспособности и в связи с материнством0 руб.
2020Налог, взимаемый в связи с применением упрощенной системы налогообложения216 000 руб.

Сообщения на Федресурсе:

Результаты работы за 2021 год (по данным ФНС России):

Финансовые отчеты (бухгалтерские показатели):
КодПоказательЗначение
Ф1.1110Нематериальные активы0тыс.руб.
Ф1.1120Результаты исследований и разработок0тыс.руб.
Ф1.1130Нематериальные поисковые активы0тыс.руб.
Ф1.1140Материальные поисковые активы0тыс.руб.
Ф1.1150Основные средства0тыс.руб.
Ф1.1160Доходные вложения в материальные ценности0тыс.руб.
Ф1.1170Финансовые вложения0тыс.руб.
Ф1.1180Отложенные налоговые активы0тыс.руб.
Ф1.1190Прочие внеоборотные активы0тыс.руб.
Ф1.1100Итого по разделу I – Внеоборотные активы0тыс.руб.
Ф1.1210Запасы158тыс.руб.
Ф1.1220Налог на добавленную стоимость по приобретенным ценностям0тыс.руб.
Ф1.1230Дебиторская задолженность5005тыс.руб.
Ф1.1240Финансовые вложения (за исключением денежных эквивалентов)0тыс.руб.
Ф1.1250Денежные средства и денежные эквиваленты1366тыс.руб.
Ф1.1260Прочие оборотные активы0тыс.руб.
Ф1.1200Итого по разделу II – Оборотные активы0тыс.руб.
Ф1.1600БАЛАНС (актив)6529тыс.руб.
Ф1.1310Уставный капитал (складочный капитал, уставный фонд, вклады товарищей)0тыс.руб.
Ф1.1320Собственные акции, выкупленные у акционеров0тыс.руб.
Ф1.1340Переоценка внеоборотных активов0тыс.руб.
Ф1.1350Добавочный капитал (без переоценки)0тыс.руб.
Ф1.1360Резервный капитал0тыс.руб.
Ф1.1370Нераспределенная прибыль (непокрытый убыток)0тыс.руб.
Ф1.1300Итого по разделу III – Капитал и резервы5217тыс.руб.
Ф1.1410Заемные средства0тыс.руб.
Ф1.1420Отложенные налоговые обязательства0тыс.руб.
Ф1.1430Оценочные обязательства0тыс.руб.
Ф1.1450Прочие обязательства0тыс.руб.
Ф1.1400Итого по разделу IV – Долгосрочные обязательства0тыс.руб.
Ф1.1510Заемные средства0тыс.руб.
Ф1.1520Кредиторская задолженность1181тыс.руб.
Ф1.1530Доходы будущих периодов0тыс.руб.
Ф1.1540Оценочные обязательства0тыс.руб.
Ф1.1550Прочие обязательства131тыс.руб.
Ф1.1500Итого по разделу V – Краткосрочные обязательства0тыс.руб.
Ф1.1700БАЛАНС (пассив)6529тыс.руб.
Ф2.2110Выручка16039тыс.руб.
Ф2.2120Себестоимость продаж14646тыс.руб.
Ф2.2100Валовая прибыль (убыток)0тыс.руб.
Ф2.2210Коммерческие расходы0тыс.руб.
Ф2.2220Управленческие расходы0тыс.руб.
Ф2.2200Прибыль (убыток) от продаж0тыс.руб.
Ф2.2310Доходы от участия в других организациях0тыс.руб.
Ф2.2320Проценты к получению0тыс.руб.
Ф2.2330Проценты к уплате0тыс.руб.
Ф2.2340Прочие доходы882тыс.руб.
Ф2.2350Прочие расходы26тыс.руб.
Ф2.2300Прибыль (убыток) до налогообложения0тыс.руб.
Ф2.2410Текущий налог на прибыль179тыс.руб.
Ф2.2421в т.ч. постоянные налоговые обязательства (активы)0тыс.руб.
Ф2.2430Изменение отложенных налоговых обязательств0тыс.руб.
Ф2.2450Изменение отложенных налоговых активов0тыс.руб.
Ф2.2460Прочее0тыс.руб.
Ф2.2400Чистая прибыль (убыток)2070тыс.руб.
Ф2.2510Результат от переоценки внеобор.активов, не включ.в чистую прибыль(убыток) периода0тыс.руб.
Ф2.2520Результат от прочих операций, не включаемый в чистую прибыль (убыток) периода0тыс.руб.
Ф2.2500Совокупный финансовый результат периода0тыс.руб.
Ф2.2910Разводненная прибыль (убыток) на акцию0тыс.руб.
Ф2.2900Базовая прибыль (убыток) на акцию0тыс.руб.
Посмотреть отчетность за 2014 – 2021 год.

Данные реестра организаций госзакупок по 44-ФЗ:

Данные реестра организаций госзакупок по 223-ФЗ:

Всего 2 поставок по 223-ФЗ на 10.821 млн.руб.:

67705966318170001180000 от 16.11.2017 на 515100 руб.
Изготовление и поставка сувенирной продукции для нужд АО «Русатом Сервис» в 2017г.
О компании указано: адрес: 350020, РОССИЯ, Краснодарский край, 350020, Краснодарский край, Краснодар г, Красная ул, 155/2,, 350020, Краснодарский край, Краснодар г, Красная ул, 155/2
e-mail: [email protected]
телефон: +7 (800) 775-96-05
Заказчик: (ИКО: 67705966318772501001)

77706729736170001670000 от 19.07.2017 на 10305562 руб.
Приобретение лицензий на право использования программного обеспечения СКЗИ “КриптоПро CSP версии 4.0.
О компании указано: адрес: 350020, РОССИЯ, Краснодарский край, 350020, Краснодарский край, Краснодар г, Красная ул, 155/2,, 350020, Краснодарский край, Краснодар г, Красная ул, 155/2
e-mail: [email protected]
телефон: +7 (800) 775-96-05
Заказчик: АО “ГРИНАТОМ” (ИКО: 77706729736770601001)

Организация ‘ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ “КЕЙ ТРЕЙД”‘ зарегистрирована 03 июня 2014 года по адресу 350020, КРАСНОДАРСКИЙ КРАЙ, ГОРОД КРАСНОДАР, УЛИЦА КРАСНАЯ, 155/2, ОФИС 901. Компании был присвоен ОГРН 1142308007412 и выдан ИНН 2308210861. Основным видом деятельности является деятельность, связанная с использованием вычислительной техники и информационных технологий, прочая. Компанию возглавляет БАЛАБАН ЕЛЕНА ВАСИЛЬЕВНА. За 2021 год прибыль компании составила 2070 тыс. руб.

Сборка утилиты конвертирования ключа

Далее сборка исходников описана для Linux версии.

Версию для Windows можно скачать отсюда там же есть сертификаты и закрытый ключ для тестирования, для сборки потребуется бесплатный компилятор Borland C++ 5.5

Компиляция OpenSSL библиотеки

После скачивания и распаковки исходных текстов openssl в целевой директории выполняем команды:

./config
make

Получаем готовую библиотеку libcrypto.a в текущей директории.
Также потребуются заголовочные файлы из директорий engines/ccgost и include.

Компиляция privkey

gcc -o privkey -Iengines/ccgost -Iinclude privkey.c libcrypto.a -pthread -ldl

Формирование файла закрытого ключа private. key

./privkey /mnt/usbflash/lp-9a0fe.000

Тестовый закрытый ключ в криптоконтейнере lp-9a0fe.000, сертификат открытого ключа signer.cer и другие файлы для тестирования можно взять отсюда

Получаем результат работы:

-----BEGIN PRIVATE KEY-----
MEYCAQAwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEEIwIhAKzsrv/l1Uwk
uzph/LQN9mux0Jz0yaW21kOYEFv0Xyut
-----END PRIVATE KEY-----

Cохраняем в private.key

Пользуемся закрытым ключом private. key для подписывания файла file. txt

openssl cms -sign -inkey private.key -in file.txt -CAfile CA.cer -signer signer.cer -engine gost -out test.sign -outform DER -noattr -binary

Проверяем подпись

openssl cms -verify -content file.txt -in test.sign -CAfile CA.cer -signer signer.cer -engine gost -inform DER -noattr -binary

Все работает просто замечательно!

Спасибо за внимание. Это была моя первая статья на хабре.

Файл masks. key

Содержит 32 байта маски ключа в формате Asn1, зашифрованного на ключе хранения pwd_key. Далее 12 байт «затравочной» информации для генерации ключа хранения pwd_key, если криптоконтейнер защищен паролем, то пароль также участвует в генерации ключа хранения.

Далее контрольная сумма (имитозащита) 4 байта. Контрольной информацией для простоты мы пользоваться не будем, общий контроль будет осуществляться путем генерации открытого ключа и сравнения первых 8 байт полученного ключа с соответствующим полем из файла header.key:

masks.key

КриптоПро

Для соблюдения требований по использованию ЭП
необходимо приобрести
лицензию на право использования СКЗИ «КриптоПро CSP». Для работы лицензии на ПК потребуется
установить ПО «КриптоПро CSP» версии 5.0

криптопро кей

“На работе я использую программу 1С и естественно подключили электронную отчетность. Несомненный плюс, то что в базе есть все необходимые отчеты, которые постоянно обновляются в связи с изменениями в законодательстве. После отправки отчета в программе появляется статус отправлен, а как только отчет проверят органы кому он отправлен, нажав на кнопку обменяться вы получаете протокол с положительным или отрицательным результатом проверки.”

avatar

Елена Степановна
ООО “Люкс”

“Сотрудничаю с 2017 года , решение вопросов происходит быстро, моя компания всегда вовремя и без замечаний сдавала отчеты в налоговую, ПФР и другие инстанции, но главное – с большим удовольствием мы работаем в вашей программе»

avatar

Маргарита Овцева
ООО “Усадьба”

“Огромная благодарность всему коллективу “Калуга-Астрал” за разработку программы и поддержку пользователей. Для меня очень важно , что техподдержка рядом. На любой вопрос – оперативная, профессиональная помощь сотрудников”

avatar

Александра Николаева
ООО “Прогресс”

“Хочу поделиться своими впечатлениями о 1С-Отчетность. Если вы работаете в 1С, сдавать отчетность в других программах не вижу смысла. Я сама работаю в 1С:Бухгалтерия, всю настройку мне произвели ребята с тех. поддержки, причем удаленно.

avatar

Клавдия Петрова
ИП Макарова Е

“Устанавливается раз плюнуть, даже не пришлось вызывать специалиста, поставили сами за десять минут. Отправка отчетности происходит на раз-два”

avatar

Олег
ЗАО “ИНФОРМ”

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

avatar

Евгений
ООО “Новое решение”

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

avatar

Екатерина
ИП Филимонова А.

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

avatar

Галина Макарова
ООО «Луч»

“Сменился главный бухгалтер в компании, в тот же день отправили заявление на выдачу ЭП на нового сотрудника. Процесс получения новой подписи прошел быстро»

avatar

Надежда Нефедова
ООО “Принт”

“Все отправляю сразу из программы. Не надо ничего выгружать в файлы, также через этот сервис заказываю сверки, выписку из ЕГРЮЛ и отвечаю на пояснения для налоговой”

avatar

Марина Борисовна
ЗАО “ФОР-Т”

КриптоПро

Что такое КриптоПро

КриптоПро — это программное обеспечение (ПО) для защиты информации при передаче её в сети посредством преобразования данных, к доступу которых требуется ключ для расшифровки. Данное средство криптографической защиты информации (СКЗИ) использует технические, математические, алгоритмические и программные методы шифрования, защиты информации и хранения секретных ключей.

Для чего необходимо КриптоПро

Программное обеспечение КриптоПро незаменимый инструмент для работы с электронной цифровой подписью (ЭЦП). Программа создаёт, шифрует и проверяет ЭЦП при работе с юридически значимым электронным документооборотом (ЮЗЭДО). Гарантирует подлинность, целостность и авторство подписанного документа. Защищает документ от несанкционированных изменений, закладок, модификаций ПО и вирусов. Конфиденциальность данных при этом происходит путём осуществления криптографической защиты (cryptography service provider — CSP).

Последняя версия ПО КриптоПро CSP 5.0 поддерживает зарубежные криптографические алгоритмы, может использовать ключи, хранящиеся на облачном сервисе, может работать с носителями с неизвлекаемыми ключами. Поддерживает популярные ключевые носители Рутокен ЭЦП 2.0, JaCarta-2 ГОСТ и InfoCrypt VPN-Key-TLS. В составе ПО появилось приложение «Инструменты КриптоПро» — в понятном интерфейсе представлены основные функции и дополнительные возможности, что облегчает понимание принципа работы для новых пользователей.

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

Принцип работы

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

Как купить КриптоПро

Чтобы приобрести продукцию и актуальную лицензию КриптоПро, достаточно выполнить несколько шагов:

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

ООО “КЕЙ ТРЕЙД”

  • Краснодарский Край

ООО "КЕЙ ТРЕЙД"

  • Удостоверяющий центр
  • Выпуск сертификатов ключей электронной подписи (ЭП)
  • Электронная отчетность
  • Поставка и сопровождение программного обеспечения и СКЗИ
  • Оказание консультационно-сопроводительных услуг
  • Сопровождение в торговых процедурах
  • Банковские гарантии
  • Открытие спец. Счета
  • Тендерный кредит
  • Страница для печатиСтраница для печати

Купить

Вход

Услуги УЦ

Услуги СЭП

Подписка

Ключ для КриптоПро 4. 0 9944 и варианты лицензий

В зависимости от вида лицензии, продавец предоставляет определенный ключ для КриптоПро 4.0 9944 или других версий программы. Стоимость и функции разрешения также зависят от его типа. Виды лицензий:

  1. По типу операционной системы: разрешения, которые подбирают в зависимости от ОС компьютера покупателя. Например, CSP 4 релиза подходит для 32- и 64-разрядных Windows версии XP, Vista, 7, 8, 8.1 и 10.
  2. По длительности периода действия: с ограниченным сроком (на год) и бессрочные.
  3. По применению: серверная — устанавливают на сервер, разрешено применение для неограниченного количества пользователей. Клиентская или автономная — разрешение для одного ПК. Встроенная — реализуется в составе электронной подписи на носителе.

Применять можно на любом ПК, так как самостоятельная установка не нужна, но только в комплекте с ЭП.

За 30 минут настроим ЭЦП для работы под ключ.

Оставьте заявку и получите консультацию в течение 5 минут.

Как получить и ввести ключ КриптоПро 4. 0 9944, если программа уже установлена

При первом скачивании демонстрационного ПО пользователю предоставляют тестовый период — 3 месяца. По его истечении клиенту нужно приобрести лицензию и активировать ее. Скачать демо-версию утилиты можно на сайте разработчика в разделе «Продукты» — «Загрузка файлов».

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

Далее указать параметры установки, подтвердить действие и завершить процесс.

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

1 способ

Если номер ключа уже есть, то открыть «Пуск», найти меню «Программы» — «КриптоПро» — «Крипто Про PKI». В диалоговом окне консоли двойным нажатием левой кнопки мыши открыть пункт «Управление лицензиями» в списке найти «КриптоПро CSP», кликнуть левой кнопкой и в выпадающем меню выбрать пункт «Все задачи» — «Ввести серийный номер».

криптопро кей

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

криптопро кей

2 способ

Если пользователю предоставлено разрешение в виде файла формата .lic, то следует открыть по описанному выше пути меню управления лицензиями и выбрать: «Установить лицензионный файл». Система выведет окно, в котором будут указаны данные лицензии. Проверить их или возможности обновления также можно на сайте КриптоПро.

Когда во время ввода ключа появляется сообщение об ошибке, нужно проверить, совпадает ли версия установленного ПО с версией, для которой предоставлен ключ.

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

Подберем электронную подпись для вашего бизнеса за 5 минут!

Оставьте заявку и получите консультацию.

Оцените, насколько полезна была информация в статье?

Наш каталог продукции

У нас Вы найдете широкий ассортимент товаров в сегментах кассового, торгового, весового, банковского и офисного оборудования.

Посмотреть весь каталог

Бессрочный серийный номер КриптоПро 4. 0 9944

Лицензия КриптоПро 4.0 9944 имеет бессрочный серийный номер — это значит, что разрешение не ограничено периодом действия, и его не нужно обновлять. Пользователю достаточно один раз установить программу и оплатить ключ. Устанавливать утилиту можно только на один компьютер. Она имеет ряд преимуществ по сравнению с предыдущими версиями ПО:

  1. Установлен диверсификационный алгоритм KDF_TREE_GOSTR3411_2012_256 для симметрического формирования ключей CALG.
  2. Полностью поддерживает алгоритмы проверки и генерации ЭЦП по ГОСТам Р 34.10-2001, Р 34.10-2012, Р 34.11-94, Р 34.11-2012 и 28147-89.
  3. Расширен список совместимости с носителями, как Esmart, eToken, Рутокен, JaCarta и т. д.

Описание и списки возможностей опубликованы на сайте разработчика в таблице сравнения версий ПО.

Серийный номер для КриптоПро 4. 0 сборка 9944

Лицензия или серийный номер КриптоПро — это ключ, который пользователь вводит для активации купленной версии программы. То есть пользоваться программной компонентой можно в период действия ключа, аналогично антивирусному ПО, лицензию на которое мы приобретаем на определенный период. По истечении срока действия софт становится неактивным, и, чтобы возобновить подписку, нужно купить новый ключ для активации функций программного модуля.

Рассмотрим, как указать серийный номер для КриптоПро 4.0 9944 при установке платной версии. Чтобы пользоваться сервисами компании, необходима регистрация на портале. Для этого предстоит заполнить онлайн-форму, где следует указать: e-mail, номер телефона, имя и фамилию.

Приобрести утилиту можно на сайте разработчика или у официальных партнеров компании. Нужно заполнить онлайн-заявку и оплатить выставленный счет. Для физических лиц возможна оплата банковскими картами, для юридических и ИП — безналичный расчет.

После оплаты клиент получает доступ к ссылке на портале для установки программы. Организации могут забрать ПО только в офисе компании или оформить доставку. Как программу устанавливают на ПК:

  1. Запустить Мастер установки.
  2. Ознакомиться с пунктами договора и принять условия.
  3. В меню «Сведения о пользователе» указать в соответствующих графах название компании и имя пользователя. В третью графу ввести номер ключа — указан в лицензионном бланке, который предоставит продавец с дистрибутивом программы. Его также могут прислать по почте, после оформления онлайн-покупки ПО.
  4. Далее ввести параметры для установки программы (выборочная или стандартная).
    Подтвердить инсталляцию и нажать «Готово» по завершении процесса.

Обратите внимание, если лицензия ограничена по сроку действия, то отсчет периода ее использования начинается с даты первой инсталляции утилиты.

Мы готовы помочь!

Задайте свой вопрос специалисту в конце статьи. Отвечаем быстро и по существу. К комментариям

Файл header. key

Из этого файла нам потребуется параметры электронной подписи CryptoProParamSet (подчеркнуто красным).

  • GostR3410_2001_CryptoPro_A_ParamSet — 1.2.643.2.2.35.1
  • GostR3410_2001_CryptoPro_B_ParamSet — 1.2.643.2.2.35.2
  • GostR3410_2001_CryptoPro_C_ParamSet — 1.2.643.2.2.35.3
  • GostR3410_2001_CryptoPro_XchA_ParamSet — 1.2.643.2.2.36.0
  • GostR3410_2001_CryptoPro_XchB_ParamSet — 1.2.643.2.2.36.1

А также первые 8 байт открытого ключа (подчеркнуто) для контроля правильности чтения закрытого.

header.key

Токены для электронной подписи

Токены для ЭП от ФНС — это USB-носители для хранения ключей
электронной подписи

Рутокен Lite

Устройства Рутокен Lite —
защищенные носители
закрытых
ключей электронной подписи для электронного документооборота

криптопро кей

Хранение секретных ключей или цифровых
идентификаторов. Считывать их при необходимости по предъявлении пользователем
PIN-кода

Цена: 1 500₽

Jacarta LT

JaCarta LT – USB-токен для
безопасного хранения
ключевых контейнеров сертифицированных российских СКЗИ, ключей, профилей и паролей
пользователей, а также лицензионной информации независимых разработчиков ПО

криптопро кей

Хранение ключевых контейнеров всех
популярных
программных СКЗИ (КриптоПро CSP, VipNet CSP и др.)

криптопро кей

Двухфакторная аутентификация при
использовании программных СКЗИ или JaCarta SecurLogon

Цена: 1 450₽

Рутокен ЭЦП 2. 2100

Рутокен ЭЦП 2.0 — защищенные
носители закрытых ключей электронной подписи для электронного документооборота. Он
обеспечивает двухфакторную аутентификацию в компьютерных системах

криптопро кей

Сертификаты ФСТЭК и ФСБ России

криптопро кей

Поддержка отечественных криптографических
стандартов: ГОСТ Р 34.10-2012

криптопро кей

Безопасное хранение ключей электронной
подписи во встроенной защищенной памяти без возможности их экспорта

Цена: 2 100₽

Читаем закрытый ключ и конвертируем

Файл privkey.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <openssl/pem.h>
#include <openssl/cms.h>
#include <openssl/err.h>
#include "gost_lcl.h"

/* Convert little-endian byte array into bignum */
BIGNUM *reverse32bn(char *b, BN_CTX *ctx)
{
	BIGNUM *res;
	char buf[32];
	BUF_reverse(buf, b, 32);
	res = BN_bin2bn(buf, 32, BN_CTX_get(ctx));
	OPENSSL_cleanse(buf, sizeof(buf));
	return res;
}

void xor_material(char *buf36, char *buf5C, char *src)
{
	int i;
	for(i = 0; i < 32; i++)
	{
		buf36[i] = src[i] ^ 0x36;
		buf5C[i] = src[i] ^ 0x5C;
	}
}

int make_pwd_key(char *result_key, char *start12, int start12_len, char *passw)
{
	int result;
	int i;
	char pincode4[1024];
	int pin_len;
	char current[32];
	char material36[32];
	char material5C[32];
	char hash_result[32];
	gost_hash_ctx ctx;
	init_gost_hash_ctx(&ctx, &GostR3411_94_CryptoProParamSet);
	memset(pincode4, 0, sizeof(pincode4));
	pin_len = strlen(passw);
	if (pin_len*4 > sizeof(pincode4)) {	result = 1;	goto err; }
	for(i = 0; i < pin_len; i++)
		pincode4[i*4] = passw[i];

	start_hash(&ctx);
	hash_block(&ctx, start12, start12_len);
	if (pin_len) 
		hash_block(&ctx, pincode4, pin_len * 4);
	finish_hash(&ctx, hash_result);

	memcpy(current, (char*)"DENEFH028.760246785.IUEFHWUIO.EF", 32);

	for(i = 0; i < (pin_len?2000:2); i++)
	{
		xor_material(material36, material5C, current);
		start_hash(&ctx);
		hash_block(&ctx, material36, 32);
		hash_block(&ctx, hash_result, 32);
		hash_block(&ctx, material5C, 32);
		hash_block(&ctx, hash_result, 32);
		finish_hash(&ctx, current);
	}

	xor_material(material36, material5C, current);

	start_hash(&ctx);
	hash_block(&ctx, material36, 32);
	hash_block(&ctx, start12, start12_len);
	hash_block(&ctx, material5C, 32);
	if (pin_len) 
		hash_block(&ctx, pincode4, pin_len * 4);
	finish_hash(&ctx, current);

	start_hash(&ctx);
	hash_block(&ctx, current, 32);
	finish_hash(&ctx, result_key);

	result = 0; //ok
err:
	return result;
}

BIGNUM *decode_primary_key(char *pwd_key, char *primary_key, BN_CTX *bn_ctx)
{
	BIGNUM *res;
	char buf[32];
	gost_ctx ctx;
	gost_init(&ctx, gost_cipher_list->sblock);
	gost_key(&ctx, pwd_key);
	gost_dec(&ctx, primary_key, buf, 4);
	res = reverse32bn(buf, bn_ctx);
	OPENSSL_cleanse(buf, sizeof(buf));
	return res;
}

BIGNUM *remove_mask_and_check_public(char *oid_param_set8, BIGNUM *key_with_mask, BIGNUM *mask, char *public8, BN_CTX *ctx)
{
	int result;
	EC_KEY *eckey = NULL;
	const EC_POINT *pubkey;
	const EC_GROUP *group;
	BIGNUM *X, *Y, *order, *raw_secret, *mask_inv;
	char outbuf[32], public_X[32];
	ASN1_OBJECT *obj;
	int nid;

	order = BN_CTX_get(ctx);
	mask_inv = BN_CTX_get(ctx);
	raw_secret = BN_CTX_get(ctx);
	X = BN_CTX_get(ctx);
	Y = BN_CTX_get(ctx);
	if (!order || !mask_inv || !raw_secret || !X || !Y) { result = 1; goto err; }

	obj = ASN1_OBJECT_create(0, oid_param_set8+1, *oid_param_set8, NULL, NULL);
	nid = OBJ_obj2nid(obj);
	ASN1_OBJECT_free(obj);

	if (!(eckey = EC_KEY_new())) { result = 1; goto err; }
	if (!fill_GOST2001_params(eckey, nid)) { result = 1; goto err; }
	if (!(group = EC_KEY_get0_group(eckey))) { result = 1; goto err; }
	if (!EC_GROUP_get_order(group, order, ctx)) { result = 1; goto err; }

	if (!BN_mod_inverse(mask_inv, mask, order, ctx)) { result = 1; goto err; }
	if (!BN_mod_mul(raw_secret, key_with_mask, mask_inv, order, ctx)) { result = 1; goto err; }

	if (!EC_KEY_set_private_key(eckey, raw_secret)) { result = 1; goto err; }
	if (!gost2001_compute_public(eckey)) { result = 1; goto err; }
	if (!(pubkey = EC_KEY_get0_public_key(eckey))) { result = 1; goto err; }
	if (!EC_POINT_get_affine_coordinates_GFp(group, pubkey, X, Y, ctx)) { result = 1; goto err; }

	store_bignum(X, outbuf, sizeof(outbuf));
	BUF_reverse(public_X, outbuf, sizeof(outbuf));
	if (memcmp(public_X, public8, 8) != 0) { result = 1; goto err; }

	result = 0; //ok
err:
	if (eckey) EC_KEY_free(eckey);
	if (result == 0) return raw_secret;
	return NULL;
}

int file_length(char *fname)
{
	int len;
	FILE *f = fopen(fname, "rb");
	if (f == NULL) return -1;
	fseek(f, 0, SEEK_END);
	len = ftell(f);
	fclose(f);
	return len;
}

int read_file(char *fname, int start_pos, char *buf, int len)
{
	int read_len;
	FILE *f = fopen(fname, "rb");
	if (f == NULL) return 1;
	if (start_pos) fseek(f, start_pos, SEEK_SET);
	read_len = fread(buf, 1, len, f);
	fclose(f);
	if (read_len != len) return 1;
	return 0; //ok
}

int get_asn1_len(unsigned char *buf, int *size_hdr)
{
	int n, i, res;
	int pos = 0;
	if ((buf[pos]&0x80) == 0) {
		*size_hdr = 1;
		return buf[pos];
	}
	n = buf[pos++]&0x7f;
	res = 0;
	for(i = 0; i < n; i++) {
		res = res*256 + buf[pos++];
	}
	*size_hdr = n+1;
	return res;
}

#define MAX_HEADER 20000
int read_container(char *fpath, int flag2, char *salt12, char *primary_key, char *masks_key, char *public8, char *oid_param_set8)
{
	int result;
	char primary_path[1024+30];
	char masks_path[1024+30];
	char header_path[1024+30];
	char header_buf[MAX_HEADER];
	int header_len;
	int i, len, pos, size_hdr;

	if (strlen(fpath)>1024) { result = 1; goto err; }

	sprintf(header_path, "%s/header.key", fpath);
	if (flag2 == 0)
	{
		sprintf(primary_path, "%s/primary.key", fpath);
		sprintf(masks_path, "%s/masks.key", fpath);
	}
	else
	{
		sprintf(primary_path, "%s/primary2.key", fpath);
		sprintf(masks_path, "%s/masks2.key", fpath);
	}

	if (read_file(primary_path, 4, primary_key, 32)) { result = 1; goto err; }
	if (read_file(masks_path, 4, masks_key, 32)) { result = 1; goto err; }
	if (read_file(masks_path, 0x26, salt12, 12)) { result = 1; goto err; }

	header_len = file_length(header_path);
	if (header_len < 0x42 || header_len > MAX_HEADER) { result = 1; goto err; }
	if (read_file(header_path, 0, header_buf, header_len)) { result = 1; goto err; }

//------------- skip certificate ---------------------------
	pos = 0;
	for(i = 0; i < 2; i++)
	{
		get_asn1_len(header_buf+pos+1, &size_hdr);
		pos += size_hdr+1;
		if (pos > header_len-8) { result = 2; goto err; }
	}

//------------------ get oid_param_set8 -----------------------
#define PARAM_SET_POS 34
	if (memcmp(header_buf+pos+PARAM_SET_POS, "\x6\x7", 2) != 0) { result = 2; goto err; }
	memcpy(oid_param_set8, header_buf+pos+PARAM_SET_POS+1, 8);

//------------------ get public8 -----------------------
	result = 2; //not found
	pos += 52;
	for(i = 0; i < 3; i++)
	{
		len = get_asn1_len(header_buf+pos+1, &size_hdr);
		if (len == 8 && memcmp(header_buf+pos, "\x8a\x8", 2) == 0)
		{
			memcpy(public8,header_buf+pos+2,8);
			result = 0; //ok
			break;
		}
		pos += len+size_hdr+1;
		if (pos > header_len-8) { result = 2; goto err; }
	}
err:
	OPENSSL_cleanse(header_buf, sizeof(header_buf));
	return result;
}

#define START_OID 0x12
#define START_KEY 0x28
unsigned char asn1_private_key[72] = {
	0x30,0x46,2,1,0,0x30,0x1c,6,6,0x2a,0x85,3,2,2,0x13,0x30,0x12,6,7,0x11,
	0x11,0x11,0x11,0x11,0x11,0x11,6,7,0x2a,0x85,3,2,2,0x1e,1,4,0x23,2,0x21,0
};

int main(int argc, char **argv)
{
	int result;
	char *container_path;
	char *passw;
	char salt12[12];
	char primary_key[32];
	char masks_key[32];
	char public8[8];
	char oid_param_set8[8];
	BN_CTX *ctx;
	BIGNUM *key_with_mask;
	BIGNUM *mask;
	BIGNUM *raw_key;
	char pwd_key[32];
	char outbuf[32];

	ctx = BN_CTX_new();

	if (argc == 2)
	{
		container_path = argv[1];
		passw = "";
	}
	else
	if (argc == 3)
	{
		container_path = argv[1];
		passw = argv[2];
	}
	else
	{
		printf("get_private container_path [passw]\n");
		result = 1;
		goto err;
	}

	if (read_container(container_path, 0, salt12, primary_key, masks_key, public8, oid_param_set8) != 0 &&
		read_container(container_path, 1, salt12, primary_key, masks_key, public8, oid_param_set8) != 0)
	{
		printf("can not read container from %s\n", container_path);
		result = 2;
		goto err;
	}

	make_pwd_key(pwd_key, salt12, 12, passw);
	key_with_mask = decode_primary_key(pwd_key, primary_key, ctx);
	OPENSSL_cleanse(pwd_key, sizeof(pwd_key));
	mask = reverse32bn(masks_key, ctx);
	raw_key = remove_mask_and_check_public(oid_param_set8, key_with_mask, mask, public8, ctx);

	if (raw_key)
	{
		BIO *bio;
		store_bignum(raw_key, outbuf, sizeof(outbuf));
		memcpy(asn1_private_key+START_OID, oid_param_set8, 8);
		memcpy(asn1_private_key+START_KEY, outbuf, 32);
		//bio = BIO_new_file("private.key", "w");
		bio = BIO_new_fp(stdout, BIO_NOCLOSE | BIO_FP_TEXT);
		PEM_write_bio(bio, "PRIVATE KEY", "", asn1_private_key, sizeof(asn1_private_key));
		BIO_free(bio);
		OPENSSL_cleanse(outbuf, sizeof(outbuf));
		OPENSSL_cleanse(asn1_private_key, sizeof(asn1_private_key));
		result = 0; //ok
	}
	else
	{
		printf("Error check public key\n");
		result = 3;
	}

err:
	BN_CTX_free(ctx);
	OPENSSL_cleanse(salt12, sizeof(salt12));
	OPENSSL_cleanse(primary_key, sizeof(primary_key));
	OPENSSL_cleanse(masks_key, sizeof(masks_key));
	return result;
}

Небольшой комментарий.

Основную работу выполняют следующие 3 функции:

1. Создаем ключ хранения исходя из 12-ти байтовой «соли» и пароля.

make_pwd_key(pwd_key, salt12, 12, passw);

2. Расшифровываем основной ключ на ключе хранения.

key_with_mask = decode_primary_key(pwd_key, primary_key, ctx);

3. Делим ключ с маской на маску.

raw_key = remove_mask_and_check_public(oid_param_set8, key_with_mask, mask, public8, ctx);

Но так как в библиотеке OpenSLL операция деления по модулю традиционно отсутствует, пользуемся операцией взятия обратного числа и умножением.

if (!BN_mod_inverse(mask_inv, mask, order, ctx)) { result = 1; goto err; }
if (!BN_mod_mul(raw_secret, key_with_mask, mask_inv, order, ctx)) { result = 1; goto err; }

Читайте также:  Электронная подпись — виды, способы применения и получения
Оцените статью
ЭЦП Эксперт
Добавить комментарий