КриптоПро
Материал из ALT Linux Wiki
(→Проверка лицензии) |
(→Установка пакетов) |
||
Строка 40: | Строка 40: | ||
2. Установите пакет {{pkg|cryptopro-preinstall}}: | 2. Установите пакет {{pkg|cryptopro-preinstall}}: | ||
- | + | <source lang="text" highlight="1"># apt-get install cryptopro-preinstall</source> | |
Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП). | Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП). | ||
Строка 79: | Строка 79: | ||
Под правами пользователя root установите базовые пакеты: | Под правами пользователя root установите базовые пакеты: | ||
- | + | <source lang="text" highlight="1"># apt-get install cprocsp-curl* lsb-cprocsp-base* lsb-cprocsp-capilite* lsb-cprocsp-kc1* lsb-cprocsp-rdr*</source> | |
для поддержки токенов (Рутокен S и Рутокен ЭЦП): | для поддержки токенов (Рутокен S и Рутокен ЭЦП): | ||
- | + | <source lang="text" highlight="1"># apt-get install cprocsp-rdr-gui-gtk* cprocsp-rdr-rutoken* cprocsp-rdr-pcsc* lsb-cprocsp-pkcs11* pcsc-lite-rutokens pcsc-lite-ccid</source> | |
'''Примечания:''' | '''Примечания:''' |
Версия 11:37, 5 июля 2016
Содержание |
О КриптоПро
КриптоПро — линейка криптографических утилит (вспомогательных программ) — так называемых криптопровайдеров. Они используются во многих программах российских разработчиков для генерации ЭЦП, работы с сертификатами, организации структуры PKI и т.д.
Сайт: http://www.cryptopro.ru/
Если читатель думает, что, установив КриптоПро, он может без проблем входить на сайты электронных торговых площадок и подписывать ЭЦП документы, то это не совсем так:
«Работать на платформах, отличных от windows, с данными площадками Вы к сожалению не сможете. Разрабатываемый Ростелекомом плагин для госуслуг не поддерживает работу с нашим криптопровайдером на linux\MacOS. Если же посмотреть в перечень ПО для работы с закрытой частью сайта закупки.гов.ру, то там требуется установка некоего компонента подписи (разраб. Ланит) и использование IE.»[1]
Совместимость
По информации разработчика, с ALT Linux совместимы следующие продукты КриптоПро:
- КриптоПро CSP
- КриптоПро JCP
- КриптоПро HSM
- КриптоПро TSP
- КриптоПро OCSP
- КриптоПро ЭЦП Browser plug-in
- КриптоПро SSF
- КриптоПро Stunnel
- Браузер КриптоПро Fox
Установка
Загрузка
Архив с программным обеспечением (КриптоПро CSP 4.0) можно загрузить после предварительной регистрации:
- linux-ia32.zip (18 МБ, для i586)
- linux-amd64.zip (18 МБ, для x86_64)
Установка пакетов
1. Распакуйте архив и перейдите в распакованную папку
2. Установите пакет cryptopro-preinstall:
# apt-get install cryptopro-preinstall
Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП).
Пакет | Описание |
---|---|
Базовые пакеты: | |
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-pcsc | Компоненты PC/SC для ридеров КриптоПро CSP |
lsb-cprocsp-pkcs11 | Поддержка PKCS11 |
ifd-rutokens | Конфигурация Рутокеновских карт (или можно взять pcsc-lite-rutokens из репозитория) |
3. Установите пакеты КриптоПро:
Под правами пользователя root установите базовые пакеты:
# apt-get install cprocsp-curl* lsb-cprocsp-base* lsb-cprocsp-capilite* lsb-cprocsp-kc1* lsb-cprocsp-rdr*
для поддержки токенов (Рутокен S и Рутокен ЭЦП):
# apt-get install cprocsp-rdr-gui-gtk* cprocsp-rdr-rutoken* cprocsp-rdr-pcsc* lsb-cprocsp-pkcs11* pcsc-lite-rutokens pcsc-lite-ccid
Примечания:
- Можно установить пакет newt52 и запустить ./install_gui.sh в распакованном каталоге
- Для КриптоПро CSP 3.6 R2 потребуется установить пакет cprocsp-compat-altlinux-1.0.0-1.noarch.rpm
- Для установки cprocsp-rdr-gui может понадобиться libXm.so.3 (libopenmotif3) и для вывода кириллицы fonts-bitmap-cyr_rfx-iso8859-5.
- Для установки cprocsp-rdr-gui-gtk потребуется предварительно установить libpangox-compat.
Прописывание путей к исполняемым файлам
Чтобы каждый раз не вводить полный путь к утилитам КриптоПро:
- установите пакет cryptopro-preinstall и начните новый сеанс в консоли
или
- выполните:
export PATH="$(/bin/ls -d /opt/cprocsp/{s,}bin/*|tr '\n' ':')$PATH"
Проверка лицензии
Проверить срок истечения лицензии можно командой (обратите внимание на строки Expires:):
$ cpconfig -license -viewLicense validity:
4040E-G0037-EK8R3-C6K4U-HCXQG
Expires: 2 month(s) 23 day(s)
License type: Server.
Для установки другой лицензии выполните (под root):
$ cpconfig -license -set <серийный_номер>
Работа с КриптоПро
Управление ридерами
Ридеры (readers) — устройства размещения контейнеров (аппаратные токены, каталог для размещения файлов).
Просмотр доступных ридеров:
csptest -enum -info -type PP_ENUMREADERS | iconv -f cp1251
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX. CryptAcquireContext succeeded.HCRYPTPROV: 6679203 GetProvParam(...PP_ENUMREADERS...) until it returns false Len Byte NickName/Name _____________________________ 0x012a 0x72 ACS ACR38U-CCID 00 00 All PC/SC readers 0x012a 0x72 Aktiv Co. Rutoken S 00 00 All PC/SC readers 0x012a 0x58 FLASH FLASH 0x012a 0x18 HDIMAGE Структура дискеты на жестком диске Cycle exit when getting data. 4 items found. Level completed without problems. Total: SYS: 0,000 sec USR: 0,170 sec UTC: 0,190 sec [ErrorCode: 0x00000000]
Ридер HDIMAGE размещается на /var/opt/cprocsp/keys/<имя пользователя>/
Инициализация ридера HDIMAGE (под правами root):
# cpconfig -hardware reader -add HDIMAGE store Adding new reader: Nick name: HDIMAGE Succeeded, code:0x0
Управление контейнерами
Создание контейнера
Создадим контейнер с именем «test» в локальном ридере HDIMAGE.
csptest -keyset -provtype 75 -newkeyset -cont '\\.\HDIMAGE\test'
При установленном пакете cprocsp-rdr-gui-gtk будет показано графическое окно, где предложат двигать курсором мыши:
После показа окна будет предложено указать пароль на контейнер (можно указать пустой, тогда пароль запрашиваться не будет) и снова предложат двигать курсором мыши.
CSP (Type:75) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 6679219 GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 KC1 CSP Container name: "card" Signature key is not available. Attempting to create a signature key... a signature key created. Exchange key is not available. Attempting to create an exchange key... an exchange key created. Keys in container: signature key exchange key Extensions: OID: 1.2.643.2.2.37.3.9 OID: 1.2.643.2.2.37.3.10 Total: SYS: 0,030 sec USR: 0,160 sec UTC: 22,910 sec [ErrorCode: 0x00000000]
Просмотр доступных контейнеров
csptest -keyset -enum_cont -fqcn -verifyc
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 6679203 \\.\HDIMAGE\test OK. Total: SYS: 0,000 sec USR: 0,070 sec UTC: 0,130 sec [ErrorCode: 0x00000000]
Локальный контейнер создан.
Удаление контейнера
csptest -keyset -deletekeyset -cont '\\.\HDIMAGE\test'
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX. Container \\.\HDIMAGE\test deleted. Total: SYS: 0,010 sec USR: 0,240 sec UTC: 0,260 sec [ErrorCode: 0x00000000]
Управление сертификатами
Создание
Для создания запроса потребуется:
- DN (cn=webserver)
- имя контейнера (в локальном хранилище hdimage: \\.\hdimage\webserver)
- имя файла запроса (webserver.csr)
Во время работы программы потребуется нажимать любые кнопки (после запроса «Press keys») и дважды указать пароль на контейнер (после запроса «Password:»).
# cryptcp -creatrqst -dn 'cn=webserver' -cont '\\.\hdimage\webserver' webserver.csr CryptCP 3.40 (c) "Crypto-Pro", 2002-2012. Command prompt Utility for file signature and encryption. Press keys... [........................................] CryptoPro CSP: Set password on produced container "webserver". Password: Retype password: Request is saved in file. [ReturnCode: 0]
Откройте в браузере ссылку http://www.cryptopro.ru/certsrv/certrqxt.asp (тестовый удостоверяющий центр КриптоПро). вставьте в поле «Base-64-шифрованный запрос сертификата» содержимое файла webserver.csr и нажмите кнопку «Выдать». Затем сохраните файл по ссылке «Загрузить сертификат» (по умолчанию предлагается имя certnew.cer).
Установите сертификат (введите пароль на контейнер при запросе):
# cryptcp -instcert -cont '\\.\hdimage\webserver' certnew.cer CryptCP 3.40 (c) "Crypto-Pro", 2002-2012. Command prompt Utility for file signature and encryption. CryptoPro CSP: Type password for container "webserver" Password: Certificate is installed. [ReturnCode: 0]
Просмотр
# certmgr -list Certmgr 1.0 (c) "CryptoPro", 2007-2010. program for managing certificates, CRLs and stores ============================================================================= 1------- Issuer : E=info@cryptopro.ru, C=RU, O=CRYPTO-PRO, CN=Test Center CRYPTO-PRO Subject : CN=webserver Serial : 0x28840500020011AA2550 SHA1 Hash : 0x744fdc41b8d1b9132120a2bdc706b46cfb6d9e8c Not valid before : 29/10/2013 09:32:21 UTC Not valid after : 04/10/2014 07:09:41 UTC PrivateKey Link : Yes. Container : HDIMAGE\\webserve.000\D0FF ============================================================================= [ErrorCode: 0x00000000]
Удаление
Удаление сертификата
certmgr -delete 1
Удаление контейнера:
certmgr -delete -cont '\\.\hdimage\webserver'
Размещение контейнеров
Контейнеры HDIMAGE: /var/opt/cprocsp/keys/<имя пользователя>/
Сохранение сертификата в файле
# cryptcp -CSPcert -cont '\\.\hdimage\webserver' -df CERT.cer CryptCP 3.40 (c) "Crypto-Pro", 2002-2012. Command prompt Utility for file signature and encryption. Openning container... Certificate's been copied. [ReturnCode: 0]
Плагин Cades
Плагин проверки ЭЦП для браузера требует установленного КриптоПро CSP. Инструкция на сайте производителя: http://www.cryptopro.ru/cadesplugin/Manual.aspx
1. Скачиваем архив по ссылке http://www.cryptopro.ru/products/cades/plugin/get
2. Распаковываем архив, устанавливаем пакеты:
- сначала из дистрибутива КриптоПро:
apt-get install lsb-cprocsp-cades-3.6.1-4.i486.rpm \ lsb-cprocsp-ocsp-util-3.6.1-4.i486.rpm \ lsb-cprocsp-tsp-util-3.6.1-4.i486.rpm
- затем сам плагин:
apt-get install cprocsp-npcades-*.rpm
3. Копируем библиотеки:
на 32-битной системе:
cp /opt/cprocsp/lib/ia32/libncades.so* /usr/lib/browser-plugins/
на 64-битной системе:
cp /opt/cprocsp/lib/amd64/libncades.so* /usr/lib64/browser-plugins/
4. В Mozilla Firefox или Chromium перезапустите браузер и откройте адрес about:plugins. Убедитесь, что плагин установлен. На странице http://www.cryptopro.ru/cadesplugin/Manual.aspx справа вверху должна появится надпись:
Плагин загружен
и появится ссылка «Демо-страница».
На странице работает только усовершенствованная подпись при следующих условиях:
- для tsputil и ocsputil есть валидные коммерческие лицензии (запустите программы с командой license, установка лицензии с параметрами license -s <серийный номер>)
При создании обычной подписи показывается ошибка[2]:
Не удалось создать подпись из-за ошибки: Internal error. (0x800B010A)
КриптоПро JCP
- Для установки КриптоПро JCP нужно установить Oracle Java 1.7.0 (через собственную сборку или пакеты для Fedora)
- Распакуйте архив и перейдите в каталог
- Выполните
./install.sh /usr/java/jre1.7.0_51 XXXXX-XXXXX-XXXXX-XXXXX-XXXXX "Your Company"
Поддержка Рутокена
- Загрузите драйвер для JCP http://www.rutoken.ru/support/download/rutoken-for-cp/ и распакуйте его
- Выполните:
java -jar rtjlib.jar -install -rutoken
Запуск контрольной панели
./ControlPane.sh /usr
(требует графического дисплея)
Используемая литература
- ЖТЯИ.00050-03 90 02-02. СКЗИ «КриптоПро CSP». Руководство администратора безопасности. Использование СКЗИ под управлением ОС Linux (из электронной документации по КриптоПро; доступно для скачивания с демонстрационной версией)
- ЖТЯИ.00050-03 90 07. КриптоПро CSP. Приложение командной строки
- Инструкция по установке Крипто-Про УЭК