- Как установить сертификат криптопро linux
- Работа с КриптоПро на linux сервере
- Ссылки
- Лицензия
- Корневые сертификаты
- Сертификаты
- Список установленных сертификатов
- Добавление реального сертификата
- Добавление реального сертификата с привязкой к закрытому ключу и возможностью подписывать документы
- Способ с дискетой или флешкой
- С жесткого диска
- Проверка успешности установки закрытого ключа
- Добавление тестового сертификата
- Удаление сертификата
- Проверка сертификата
- Просмотр всех атрибутов сертификата
- Экспорт сертификатов на другую машину
- Подписание документа ЭЦП
- Проверка подписи ЭЦП
- Получение исходного файла
- 1С и Linux
- пятница, 14 декабря 2018 г.
- Установка сертификатов используя КриптоПРО в Linux
- Установка и настройка подписи ЭЦП через КриптоПро CSP на Linux(Ubuntu)
Как установить сертификат криптопро linux
Далее описан процесс настройки и проверки работоспособности на примере Ubuntu 20.04 LTS
1. Установка КриптоПро CSP версии 5.0.
1.1. Выполните регистрацию на сайте нашей компании. Если Вы уже зарегистрированы – выполните вход (необходимо ввести адрес электронной почты и пароль, которые Вы указывали при регистрации).
1.3. Ознакомьтесь с условиями лицензионного соглашения и нажмите кнопку «Я согласен с лицензионным соглашением. Перейти к загрузке».
1.4. Нажмите кнопку «Скачать для Linux», для загрузки дистрибутива актуальной версии КриптоПро CSP.
1.5. Распакуйте загруженный архив: tar -xvf linux-amd64_deb.tgz && cd linux-amd64_deb
1.6. Установите основные пакеты КриптоПро CSP: sudo ./install.sh
1.7. Установите дополнительные пакеты:
2.1. Установка «облачного» сертификата электронной подписи (через графический интерфейс пользователя).
2.1.1. Запустите приложение «Инструменты КриптоПро»: /opt/cprocsp/bin/amd64/cptools
2.1.2. Перейдите на вкладку «Облачный провайдер».
2.1.3. Укажите адрес сервера авторизации (1) и сервера DSS (2). Данные адреса необходимо получить в организации, предоставившей Вам «облачный» сертификат электронной подписи. Поле «Уникальное имя» (3) заполнится автоматически. Затем нажмите кнопку «Установить сертификаты» (4).
Обратите внимание! Если на вкладке «Облачный провайдер» уже будут указаны адреса https://dss.cryptopro.ru/STS/oauth и https://dss.cryptopro.ru/SignServer/rest (адреса тестового сервиса электронной подписи DSS, который не предназначен для хранения квалифицированных сертификатов электронной подписи и выполнения юридически значимых операций) — необходимо открыть выпадающий список под кнопкой «Выберите сервер» и выбрать пункт «Использовать новый сервер».
2.1.4. Введите логин пользователя для доступа к «облачному» сертификату, а затем нажмите кнопку «ОК».
2.1.5. Введите пароль пользователя для доступа к «облачному» сертификату, а затем нажмите кнопку «ОК».
2.1.6. При появлении уведомления о необходимости подтвердить операцию входа – выберите один из доступных методов аутентификации.
2.1.7. После этого Вы будете возвращены к интерфейсу программы «Инструменты КриптоПро». Чуть ниже кнопки «Установить сертификаты» появится уведомление об успешной установке.
2.2. Установка «облачного» сертификата электронной подписи (без использования графического интерфейса пользователя).
2.2.1. Выполните команду:
/opt/cprocsp/bin/amd64/csptest -cloud -register -login -save -unique -auth -rest -user -password
— — идентификатор сервера DSS. Можете задать любой, удобный для Вас идентификатор;
— — адрес сервера авторизации (необходимо получить в организации, предоставившей Вам «облачный» сертификат электронной подписи);
— — адрес сервера DSS (необходимо получить в организации, предоставившей Вам «облачный» сертификат электронной подписи);
— — логин пользователя для доступа к «облачному» сертификату;
— пароль пользователя для доступа к «облачному» сертификату.
2.2.2. Появление статуса [ErrorCode: 0x00000000] означает, что установка была выполнена успешно.
Обратите внимание! Установку сертификатов без использования графического интерфейса можно выполнить только в случае, если операция входа в центр идентификации DSS не требует вторичной аутентификации.
3.1. Проверка работоспособности (через графический интерфейс пользователя).
3.1.1. Перейдите на вкладку «Создание подписи».
3.1.2. Выберите Ваш «облачный» сертификат из списка (1), выберите любой файл для подписи (2) и нажмите кнопку «Подписать» (3).
3.1.3. Повторите действия из п. 2.1.4 – 2.1.6.
3.1.4. В случае успешного формирования подписи чуть ниже кнопки «Подписать» появится уведомление об успешном создании подписи.
3.2. Проверка работоспособности (без использования графического интерфейса пользователя).
3.2.1. Выполните команду:
/opt/cprocsp/bin/amd64/cryptcp -sign /path/to/file /path/to/signature.sig –q
— /path/to/file – путь до подписываемого файла;
— /path/to/signature.sig – путь до подписанного файла.
3.2.2. Если у Вас установлено несколько сертификатов электронной подписи – после выполнения команды нужно будет ввести порядковый номер требуемого сертификата.
3.2.3. Появление статуса [ErrorCode: 0x00000000] означает, что файл был успешно подписан.
Обратите внимание! Подписать файл без использования графического интерфейса можно только в случае, если операции входа и подписи не требует вторичной аутентификации.
Источник
Работа с КриптоПро на 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 |
Получение исходного файла
Получение исходного файла (сообщения):
Будет ругаться на сертификат (так как не будет проверки), но подпись удалит. Вариант с проверкой:
Источник
1С и Linux
Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.
пятница, 14 декабря 2018 г.
Установка сертификатов используя КриптоПРО в Linux
Для установки в uRoot админиских прав больше не нужно. Ради этого их с mRoot и разделили. Работает так: если ставить в uRoot — видно будет только текущему пользователю, даже если он root, но права не нужны и будет диалог с предупреждением. Если ставить в mRoot, то нужны права, видно будет всем и предупреждения не будет.
Установка корневого сертификата удостоверяющего центра:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/ .cer -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/guts_2012.cer -store uRoot
Просмотор корневых сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uRoot
Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -delete -all -store uRoot
Установка списка отозванных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -inst -crl -file
Установка цепочки промежуточных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/ .p7b -store uca
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/fk_2012.cer -store uca
Просмотор промежуточных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uca
Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete -store uca
Установка сертификата с рутокена:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cont ‘ ‘ -store uMy
Установка сертификата из контейнера:
$ /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont ‘\\.\HDIMAGE\test’
Просмотор личных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uMy
Просмотр контейнеров, рутокенов
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum -verifycontext -fqcn
Экспорт в файл сертификата из хранилища
$ /opt/cprocsp/bin/amd64/certmgr -export -cert -dn «CN=» -dest ‘cert.crt’
$ /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df
$ /opt/cprocsp/bin/amd64/cryptcp -verify -f cert.crt cert.txt
$ /opt/cprocsp/bin/amd64/cryptcp -verify -u
/cert.txt
$ /opt/cprocsp/bin/amd64/cryptcp -verify -u
/cert.txt | iconv -f cp1251
$ /opt/cprocsp/bin/amd64/cryptcp -verify -errchain -f
/cert.txt | iconv -f cp1251
Установка сертификатов zakupki.gov.ru
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ‘Сертификат Головного удостоверяющего центра.cer’ -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ‘Сертификат Удостоверяющего центра Федерального казначейства.cer’ -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file root2013.cer -store uRoot
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df
Источник
Установка и настройка подписи ЭЦП через КриптоПро CSP на Linux(Ubuntu)
1. Чтобы установить КриптоПро CSP: 1. Зарегистрируйтесь на сайте http://cryptopro.ru/products/csp/downloads, скачайте программу установки и разархивируйте ее.
Информация по установке
Выполните предварительно команды в терминале под суперпользователем:
Для обновления списка доступных пакетов до последних изменений в репозитариях набрать следующее:
sudo apt-get update
Для обновления всех установленных пакетов программ:
sudo apt-get upgrade
Скачанные пакеты необходимо разархивировать:
После при помощи команды установить пакеты:
sudo sh install_gui.sh
При котором откроется терминал с возможностью установки через GUI.
Лучше поставить пакеты вручную:
sudo dpkg -i lsb-cprocsp-devel_4.0.0-5_all.deb
sudo dpkg -i cprocsp-curl-64_4.0.0-4_amd64.deb
sudo apt-get install libpangox-1.0-dev
sudo dpkg -i cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb
sudo dpkg -i cprocsp-rdr-rutoken-64_4.0.0-4_amd64.deb
sudo dpkg -i ifd-rutokens_1.0.1_amd64.deb
sudo dpkg -i lsb-cprocsp-base_4.0.0-4_all.deb
sudo dpkg -i lsb-cprocsp-capilite-64_4.0.0-4_amd64.deb
2. Скачать утилиту администрирования Рутокен по ссылке: https://www.rutoken.ru/support/download/drivers-for-nix/
Прямая ссылка: https://www.rutoken.ru/support/download/get/rtDrivers-x64-deb.html
Для того чтобы установить драйверы Рутокен для Linux(Ubuntu), загрузите установочный файл. После завершения процесса установки подключите Рутокен к компьютеру.
2.1 Произвести установку в систему.
Для deb-based систем (Debian, Ubuntu, Linux Mint и др.) это библиотека libccid не ниже 1.3.11, пакеты pcscd и libpcsclite1. Для установки указанных пакетов запустите терминал и выполните команду:
sudo apt-get install libccid pcscd libpcsclite1
После выполнить установку пакета утилиты администрирования рутокен:
sudo dpkg -i ifd-rutokens_1.0.4_amd64.deb
Информация по установке
В редких случаях если не определяется Рутокен в утилите администрирования, необходимо перезагрузить систему, после данных манипуляций Рутокен должен определиться в системе.
Для обеспечения работоспособности электронных идентификаторов Рутокен ЭЦП ряде дистрибутивов GNU/Linux, может потребоваться добавить запись об устройстве в конфигурационный файл libccid. Расположение Info.plist в файловой системе:
GNU/Linux: /usr/lib/pcsc/drivers/ifd-ccid-bundle/Contents/Info.plist
Info.plist представляет собой текстовый файл, который открывается любым текстовым редактором с правами суперпользователя.
Для работы электронных идентификаторов Рутокен ЭЦП необходимо добавить в файл следующие строки (данные строки стандартно уже прописаны в Linux(Ubuntu), необходимо проверить есть ли такие данные, если нет то прописать):
Массив () Добавленная строка
ifdFriendlyName Aktiv Rutoken ECP
Установите утилиту pcsc_scan (обычно она входит в пакет pcsc-tools) и запустите ее. Если устройство работает корректно, то в логе утилиты присутствует устройство Aktiv Rutoken ECP:
sudo apt-get install pcsc-tools
3. Программа КриптоПро ЭЦП Browser plug-in предназначена для создания и проверки электронной подписи на веб-страницах. Чтобы установить КриптоПро ЭЦП Browser plug-in:
3.1 Скачайте необходимый архив с пакетами установки, в зависимости от разрядности и версии используемой ОС, с сайта http://www.cryptopro.ru/products/cades/downloads.
3.2 Разархивируйте пакеты с помощью команды:
3.3 Установить пакеты с помощью соответствующей команды:
Информация по возможным проблемам:
Если во время установки возникнут проблемы или ошибки, то выполнить: dpkg —force-overwrite -i .deb
Проблема возникала с данным ниже пакетом, устраняется вводом команды в терминал:
dpkg —force-overwrite -i cprocsp-pki-cades_2.0.0_amd64.deb
Установить пакет alien:
sudo apt-get install alien
sudo alien -kci cprocsp-pki-2.0.0-amd64-cades.rpm
sudo alien -kci cprocsp-pki-2.0.0-amd64-plugin.rpm
При необходимости, раздать права на пакеты через команды в терминале:
sudo chmod 777 .deb
Для пакетов установки:
sudo chmod 777 cprocsp-pki-2.0.0-amd64-cades.deb
sudo chmod 777 cprocsp-pki-2.0.0-amd64-plugin.deb
3.4 Также необходимо выполнить:
sudo dpkg -i cprocsp-pki-2.0.0-amd64-cades.deb
sudo dpkg -i cprocsp-pki-2.0.0-amd64-plugin.deb
Сертификат лучше получить через терминал вручную, так как поддержки ActiveX нет в UNIX
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
sudo /opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -provtype 80 -cont ‘\\.\HDIMAGE\Test’
/opt/cprocsp/bin/amd64/cryptcp -creatrqst -dn «INN=007814508921, E=andrew@ya.ru, C=RU, CN=Ахунов Азат ААа, SN=Ахунов» -nokeygen -both -ku -cont ‘Test’ cert.req
Содержимое полученного файла cert.req, вносим https://www.cryptopro.ru/certsrv/certrqxt.asp и скачиваем полученный сертификат. Его добавляем в наш контейнер
sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uRoot -file certnew.p7b
4. Cертификат тестового ключа подписи, который возможно получить на странице тестового центра, по ссылке: https://www.cryptopro.ru/certsrv/certrqma.asp
4.1 Нажать кнопку выдать и необходимо чтобы Рутокен был подключен к устройству на которое выдается ключ и сертификат.
Выбрать устройство Рутокен:
Набрать Pin-код на устройство Рутокен, стандартные пароли к контейнеру 87654321 или 12345678.
Сформировать случайные числа при помощи нажатия клавиш и движениями мыши над этим окном:
4.2 Проверить сообщение об успешной установке.
5. Проверка работы плагина в браузере
Google Chrome Версия 61.0.3163.79 (Официальная сборка), (64 бит)
Проверка ключа сертификата возможна по ссылке: https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html
6. При подписывании в системе РМИС, выходит окно с подтверждением и с выбором сертификата:
6.1 Необходимо выбрать сертификат и нажать кн. Подписать.
6.2 Выйдет уведомление о успешном подписании: Выполнено! Отчет успешно подписан.
Где возможно через кнопку Загрузить, загрузить выбранный подписанный документ.
Файл протокола, который подписан возможно проверить через средства приложения VipNet CryptoFile (Windows) , нажать в приложении Открыть выбрать открыть подписанный файл в формате .pdf и выбрать протокол в формате .sig пример:
6.3 Сформировать отчет: Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider
Отчет о проверке ЭП
Время создания отчета: 01.03.17 22:54
- Проверены файлы: C:/Users/skygb/Downloads/protocol.sig и C:/Users/skygb/Downloads/protocol.pdf
- ЭП: ВЕРНА
Время подписи: 01.03.17 22:55
Статус сертификата: ДЕЙСТВИТЕЛЕН
Сведения о сертификате
Кому выдан: Булат
Кем выдан: CRYPTO-PRO Test Center 2
Серийный номер: 01D292C2940768F00000000D00050001
Источник