- Работа с КриптоПро на linux сервере
- Ссылки
- Лицензия
- Корневые сертификаты
- Сертификаты
- Список установленных сертификатов
- Добавление реального сертификата
- Добавление реального сертификата с привязкой к закрытому ключу и возможностью подписывать документы
- Способ с дискетой или флешкой
- С жесткого диска
- Проверка успешности установки закрытого ключа
- Добавление тестового сертификата
- Удаление сертификата
- Проверка сертификата
- Просмотр всех атрибутов сертификата
- Экспорт сертификатов на другую машину
- Подписание документа ЭЦП
- Проверка подписи ЭЦП
- Получение исходного файла
- Криптопро csp linux просмотр лицензии
- 1. Скачиваем deb-пакет для установки КриптоПро в Ubuntu
- 2. Установка КриптоПро в графическом режиме
- 3. Ввод лицензионного кода
- 4. Установка дополнительных файлов поддержки КрптоПро
- 5. Установка драйверов Рутокен
- 6. Перезапуск службы pcscd
- 7. Проверка работоспособности Рутокена при помощи фирменных средств производителя
- 8. Проверка работоспособности Рутокена при помощи встроенных средств КриптоПро
- 9. Просмотр и Импорт в Личное хранилище сертификатов с Рутокена
- 10. Просмотр личных сертификатов в хранилище
- 11. Импорт коренвых сертификатов в хранилище доверенных корневых сертификатов
- 12. Установка КриптоПро ЭЦП Browser plug-in
- 13. Установка расширения браузера КриптоПро ЭЦП Browser plug-in
- 14. Тестирование работоспособности подписи
- 15. Доополнительное ПО для Рутокена
Работа с КриптоПро на linux сервере
Ссылки
Лицензия
Для установки другой лицензии (под root):
Корневые сертификаты
Просмотр корневых сертификатов
Добавление корневых сертификатов (под root) из файла cacer.p7b
Необходимо последовательно добавить все сертификаты
Сертификаты
Список установленных сертификатов
certmgr -list , например:
Добавление реального сертификата
Добавить только сертификат (только проверка ЭЦП):
Добавление реального сертификата с привязкой к закрытому ключу и возможностью подписывать документы
Закрытый ключ состоит из шести key-файлов:
Способ с дискетой или флешкой
Скопировать в корень дискеты или флэшки сертификат и приватный ключ (из каталога 999996.000 , 999996 — название (alias) контейнера):
Выполнить команду по копированию ключа с флэшки на диск, ключ попадет в пользовательское хранилище My .
gate@example.com — то, что прописано в поле E сертификата (можно посмотреть командой keytool —printcert -file /path/to/cert/client.cer ):
С жесткого диска
Скопировать приватный ключ в хранилище (контейнер), где — имя пользователя linux:
Поставить «минимальные» права:
Узнать реальное название контейнера:
Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище My :
Если следующая ошибка, нужно узнать реальное название контейнера (см. выше):
Установить сертификат УЦ из-под пользователя root командой:
Проверка успешности установки закрытого ключа
Добавление тестового сертификата
Ввести пароль на контейнер test123 .
Ввести пароль на контейнер. По-умолчанию: 12345678
Удаление сертификата
Проверка сертификата
Просмотр всех атрибутов сертификата
В cryptcp нет необходимых инструментов для получения всех атрибутов сертификата. Поэтому следует использовать openssl , но настроив его.
Получаем SHA 1 хеши:
В цикле извлекаем сертификаты:
Настройка openssl для поддержки ГОСТ:
В файл /etc/ssl/openssl.cnf
Экспорт сертификатов на другую машину
Закрытые ключи к сертификатам находятся тут: /var/opt/cprocsp/keys . Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.
Экспорт самих сертификатов (если их 14):
Переносим эти файлы на машину и смотрим, какие контейнеры есть:
И как обычно, связываем сертификат и закрытый ключ:
Если закрытый ключ и сертификат не подходят друг к другу, будет выведена ошибка:
Если все успешно:
Если нет закрытого ключа, то просто ставим сертификат:
Подписание документа ЭЦП
Пример создания ЭЦП (по SHA1 Hash):
[ReturnCode: x] | Описание | Возвращаемый код завершения в баше $? |
---|---|---|
0 | успешно | 0 |
0x8010006b | Введен неправильный PIN | 107 |
0x2000012d | Сертификат не найден | 45 |
0x20000065 | Не удалось открыть файл | 101 |
Проверка подписи ЭЦП
Для верифицирования сертификатов нужен сертификат удостоверяющего центра и актуальный список отзыва сертификатов, либо настроенный для этого revocation provider.
Корневой сертификат УЦ, список отзыва сертификата является одним из реквизитов самого сертификата.
Контрагенты когда открывают подписи в КриптоАРМ используют revocation provider, он делает проверки отзыва сертификата онлайн. Как реализована проверка в Шарепоинте не знаю. Знаю только что используется библиотека Крипто.Net
Проверка конкретной подписи из локального хранилища по его хешу:
Проверить, взяв сертификат из file1.sig , подпись файла file2.sig . Практически, надо использовать один и тот же файл:
[ReturnCode: x] | Текст | Описание | Возвращаемый код завершения в баше $? |
---|---|---|---|
0 | Успешно | 0 | |
0x80091004 | Invalid cryptographic message type | Неправильный формат файла | 4 |
0x80091010 | The streamed cryptographic message is not ready to return data | Пустой файл | 16 |
Получение исходного файла
Получение исходного файла (сообщения):
Будет ругаться на сертификат (так как не будет проверки), но подпись удалит. Вариант с проверкой:
Источник
Криптопро csp linux просмотр лицензии
Если кто-то уже ранее имел опыт установки КриптоПро на Windows, то спешу вас огорчить: дела с Linux обстоят гораздо хуже.
Почему? Дело в том, что версия КриптоПро для Linux почти лишена графической среды управления, так что даже импорт сертификатов придется выполнять консольными командами (за исключением последней 5-ой версии КриптоПро). Но если вы используете Linux, то данное обстоятельство вас не должно напугать.
Не буду ходить больше вокруг да около, а сразу приступлю к описанию процесса установки и настройки КриптоПро в Ubuntu 18.04. Все описанные далее инструкции справедливы для Rutoken Lite.
1. Скачиваем deb-пакет для установки КриптоПро в Ubuntu
Загрузка доступна с официального сайта КриптоПро в разделе Продукты. Отмечу лишь то, что надо скачивать обязательно сертифицированную версию. В данном материале описана установка и настройка КриптоПро CSP 4.0 R3.
Далее загруженный архив tgz необходимо распаковать.
2. Установка КриптоПро в графическом режиме
Переходим в папку с распакованным архивом и выбираем в контекстном меню команду Открыть в Терминале (в Kubuntu Действия / Открыть Терминал в этой папке). Для запуска установки в КриптоПро в графическом режиме вводим в терминале команду
Появится Мастер установки КриптоПро. Навигация в мастере установки осуществляется при помощи клавиши Tab, выбор чекбоксов осуществляется нажатием пробела. Жмем Next, отмечаем все доступные к установке компоненты, далее жмем Install.
В окне Терминала запустится процесс установки, следует проконтролировать отсутствие ошибок установки. В конце мастер сообщит об успешной установке, после чего следует нажать клавишу ОК.
Кратко о компонентах КриптоПро для Linux:
cprocsp-curl — Библиотека libcurl с реализацией шифрования по ГОСТ
lsb-cprocsp-base — Основной пакет КриптоПро CSP
lsb-cprocsp-capilite — Интерфейс CAPILite и утилиты
lsb-cprocsp-kc1 — Провайдер криптографической службы KC1
lsb-cprocsp-rdr — Поддержка ридеров и RNG
cprocsp-rdr-gui-gtk — Графический интерфейс для диалоговых операций
cprocsp-rdr-rutoken — Поддержка карт Рутокен
cprocsp-rdr-jacarta — Поддержка карт JaCarta
cprocsp-rdr-pcsc — Компоненты PC/SC для ридеров КриптоПро CSP
lsb-cprocsp-pkcs11 — Поддержка PKCS11
3. Ввод лицензионного кода
Далее мастер предложит ввести код лицензии. Делать это не обязательно. По умолчанию КриптоПро включает стандартную лицензию на три месяца. Проверить срок действия лицензии можно стандартной командой в Терминале
/opt/cprocsp/sbin/amd64/cpconfig -license -view
4. Установка дополнительных файлов поддержки КрптоПро
Если установка КриптоПро запущена не в графическом режиме или при установке выбраны не все компоненты, то следует в обязательном порядке установить следующие пакеты (найти их можно в папке установки КриптоПро с файломinstall_gui.sh):
5. Установка драйверов Рутокен
Rutoken Lite не требует установки дополнительных драйверов. Для установки других типов Рутокена потребуется посетить официальный сайт и установить необходимые драйвера.
Однако для полноценной работы Рутокена потребуется установить дополнительные библиотеки при помощи команды в Терминале:
sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc
Для Rutoken S, JaCarta PKI потребуется установка дополнительных драйверов. Пишите в комментариях, если кому-то нужно расписать данный момент.
6. Перезапуск службы pcscd
Перезапустить указанную службы легко при помощи команды
sudo service pcscd restart
7. Проверка работоспособности Рутокена при помощи фирменных средств производителя
Выполнив команду pcsc_scan в терминале, можно проверить работоспособность подключенного Рутокена. Если картинка такая же, как и на скриншоте, то все работает правильно.
8. Проверка работоспособности Рутокена при помощи встроенных средств КриптоПро
Средства КриптоПро также позволяют сразу же проверить работоспособность присоединенных носителей. Команда в терминале
/opt/cprocsp/bin/amd64/csptest -card -enum -v -v
9. Просмотр и Импорт в Личное хранилище сертификатов с Рутокена
Для просмотра личных сертификатов, имеющихся на подключенных контейнерах, выполняем команду в Терминале
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
Для импорта всех личных сертификатов со всех подключенных носителей выполняем команду в Терминале
/opt/cprocsp/bin/amd64/csptestf -absorb -cert
10. Просмотр личных сертификатов в хранилище
Убедиться в успешном импорте сертификатов с Рутокена в Личное хранилище сертификатов можно при помощи команды в терминале
/opt/cprocsp/bin/amd64/certmgr -list -store uMy
Для удаления сертификата из личного хранилища сертификатов следует выполнить команду в Терминале:
/opt/cprocsp/bin/amd64/certmgr -delete -store umy
Далее терминал предложит указать номер удаляемого сертификата.
На скриншоте выше вы видите, что удостоверяющим центром, который выпустил мой сертификат, является ООО «Компания Тензор». Вот для этой компании и надо искать и устанавливать корневые сертификаты. Как установить корневые сертификаты, читайте в следующем пункте.
11. Импорт коренвых сертификатов в хранилище доверенных корневых сертификатов
Вначале скопируем кореные сертификаты в отдельную папку. Затем в контекстном меню, перейдя в эту папку, выполним команду Открыть в терминале. Далее произведем установку командой в Теримнале:
sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file «uc_tensor_44-2017.cer»
sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file «uc_tensor-2018_gost2012.cer»
sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file «uc_tensor-2017.cer»
12. Установка КриптоПро ЭЦП Browser plug-in
Для установки КриптоПро ЭЦП Browser plug-in потребуется утилита alien. Установим ее командой:
sudo apt install alien
Далее скачиваем установочный пакет КриптоПро ЭЦП Browser plug-in с официального сайта КриптоПро.
Распаковываем архив cades_linux_amd64.zip и переходим перейти в каталог с распакованными файлами, выполним команду Открыть в терминале и далее выполним команды для преобразования rpm-пакетов в deb-пакеты:
alien -dc cprocsp-pki-2.0.0-amd64-cades.rpm
alien -dc cprocsp-pki-2.0.0-amd64-plugin.rpm
Далее устанавливаем deb-пакеты:
sudo alien -kci cprocsp-pki-cades_2.0.0-2_amd64.deb
sudo alien -kci cprocsp-pki-plugin_2.0.0-2_amd64.deb
Обратите внимание: при установке этих двух пакетов не должно быть ошибок.
13. Установка расширения браузера КриптоПро ЭЦП Browser plug-in
Далее необходимо в используемом вами браузере установить расширение КриптоПро ЭЦП Browser plug-in. Cсылка на расширение для Google Chrome
14. Тестирование работоспособности подписи
Если вы все сделали правильно, то КриптоПро настроен. Проверить подпись можно по ссылке
15. Доополнительное ПО для Рутокена
Если вам понадобятся дополнительные плагины или драйвера для Рутокена, то скачать вы всегда их сможете с официального сайта производителя по ссылке, которая указана ниже:
На этом все. Как выясняется, установка КриптоПро в Ubuntu Linux 18.04 не такая уж сложная.
Понравилась статья? Не очень? Тогда возможно, что вы напишите свою гораздо лучше. Просто перейдите по ссылке Размещение статей и ознакомьтесь с правилами публикации статей на сайте MultiBlog67.RU .
Источник