Установка cryptopro jcp linux

Установка cryptopro jcp linux

Начиная с версии КриптоПро JCP 2.0.39738 (2018-04-11), в состав дистрибутива JCP интегрирован собственный модуль поддержки рутокена Rutoken.jar, использующий пакет java smartcardio. Модуль добавлен для замены другого устаревшего модуля поддержки, предлагаемого на сайте производителя – компании «Актив». Модуль Rutoken.jar устанавливается автоматически при установке JCP и не имеет отдельной вкладки для настройки в панели управления JCP, как модуль поддержки «Актив».

N.B. начиная с КриптоПро JCP 2.0.42644 (2022-05-20) модуль рутокен поставляется в составе дистрибутива, но не устанавливается автоматически. Инсталлировать его потребуется отдельно при необходимости.

Хранилище с именем RutokenStore доступно программно и на вкладке «Хранилища ключей и сертификатов» панели управления JCP только в случае, если рутокен виден java-процессу с помощью smartcardio. Если рутокенов несколько, то имена хранилищ будут отображаться в виде RutokenStore_. Отдельная установка модуля Rutoken.jar не требуется: он устанавливается вместе с остальными библиотеками JCP, входящими в состав дистрибутива.

Если рутокен подключен, но не отображается в панели управления JCP на вкладке «Хранилища ключей и сертификатов», скорее всего, java (пакет smartcardio) не обнаруживает библиотеки libpcsclite.so, необходимой для работы с рутокеном. Java самостоятельно определяет положение указанной библиотеки (см. «17.3. Настройка и использование модуля поддержки» руководства администратора безопасности), но бывает так, что ее нет.

Добавление libpcsclite для поддержки рутокена.

Установка pcsc и создание симлинка на libpcsclite.so:
1. установить pcscd

sudo apt install -y pcsc

2. найти, куда установилась библиотека libpcsclite:

find /usr -name libpcsc*

в выводе будут строки вида:

/usr/lib/x86_64-linux-gnu/libpcsclite.so.1
/usr/lib/x86_64-linux-gnu/libpcsclite.so.1.0.0
sudo ln -s /usr/lib/x86_64-linux-gnu/libpcsclite.so.1 /usr/lib64/libpcsclite.so

p.s. в некоторых дистрибутивах директории /usr/lib64 нет. в данном случае ее необходимо предварительно создать

sudo mkdir /usr/lib64

4. запустить панель управления JCP. Теперь при подключенном рутокене на вкладке «Хранилища ключей и сертификатов» должно отображаться хранилище RutokenStore.

В macOS необходимо использовать параметр sun.security.smartcardio.library со значением / System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC

Например, панель JCP 2.0 необходимо запускать следующим образом:

/bin/java -Dsun.security.smartcardio.library=/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC ru.CryptoPro.JCP.ControlPane.MainControlPane

Источник

CryptoPro JCP на Linux. Как легко и безболезненно перейти на новый стандарт шифрования

С 2020 года использование шифрования по ГОСТ Р 34.10—2001 окажется под запретом, а значит, все организации, которые взаимодействуют с госструктурами, вынуждены срочно внедрять следующий стандарт — 2012 года. Если ты работаешь в одной из них, то не проходи мимо: в этой статье мы поговорим о том, как решить проблему, используя сервер на CentOS 7 и пакет CryptoPro JCP.

Читайте также:  Linux centos system requirements

Если же ты впервые слышишь обо всем этом, то вот небольшая историческая справка.

В 1994 году в ФСБ разработали ряд стандартов и мер, призванных защитить обмен документами между организациями и другими участниками этого процесса. Одной из таких мер безопасности стала электронная цифровая подпись документов, а одним из стандартов — ГОСТ Р 34.10—94, где описан алгоритм формирования и проверки электронной цифровой подписи. Принятый и введенный в действие постановлением Госстандарта России от 23 мая 1994 года за номером 154, он проработал до 2001 года.

На смену пришел всем известный ГОСТ Р 34.10—2001 — улучшенный стандарт, разработанный для обеспечения большей стойкости алгоритма. Но время не стоит на месте, меняются алгоритмы и методы криптозащиты, и спустя одиннадцать лет ГОСТ Р 34.10—2001 меняют на ГОСТ Р 34.10—2012.

В новом стандарте первый вариант требований к параметрам остался прежним. Длина секретного ключа составляет порядка 256 бит, и предусмотрено использование хеш-функции с длиной хеш-кода 256 или 512 бит. Главное же отличие нового стандарта — варианты с дополнительными параметрами и схемами, в том числе хешированием по стандарту ГОСТ Р 34.11—2012 «Стрибог».

INFO

Стрибог — бог древних славян, который покровительствует ветрам, погоде и всему, что связано с воздушным пространством. Возможно, и облачным технологиям тоже. Подробнее об этом шифре читай в статьях «Хешируем по ГОСТ 34.11—2012» и «Пишем простой локальный блокчейн с использованием „Стрибога“».

В феврале 2014 года ФСБ объявила о начале перехода на использование нового национального стандарта ГОСТ Р 34.10—2012 в средствах электронной подписи для информации, не содержащей сведений, составляющих государственную тайну. В свет вышел документ за номером 149/7/1/3-58 от 31 января 2014 года «О порядке перехода к использованию новых стандартов ЭЦП и функции хэширования», он устанавливал следующие требования.

  1. После 31 декабря 2013 года прекратить сертификацию средств электронной подписи на соответствие требованиям к средствам электронной подписи, утвержденным приказом ФСБ России от 27.12.2011 года № 796, если в этих средствах не предусматривается реализация функций в соответствии с ГОСТ Р 34.10—2012.
  2. После 31 декабря 2018 года запретить использование ГОСТ Р 34.10—2001 для формирования электронной подписи.
Читайте также:  Отладка процессов в linux

Министерство связи даже создало план по переходу на стандарт (PDF). Однако на практике оказалось, что все не так просто, и переход пришлось отложить аж до 31 декабря 2019 года. Причины следующие.

  1. Многие государственные и муниципальные органы не готовы перейти на использование нового стандарта электронной подписи ГОСТ-2012 из-за отсутствия поддержки на уровне ПО.
  2. Чтобы выпускать сертификаты нового образца, необходимо оборудование, которое поддерживает новый ГОСТ, и сертификат Головного удостоверяющего центра, сформированный с использованием ГОСТ-2012. Удостоверяющие центры получили его только летом 2018 года. Необходимо дополнительное время, чтобы выпустить сертификаты для всех пользователей.

Сейчас в ходу два стандарта криптозащиты для работы ЭЦП, но тем, кто использует ГОСТ-2001, срочно нужно что-то предпринимать. Зима, как говорится, близко, а это значит, что нас ждет череда испытаний при внедрении поддержки ГОСТ-2012.

CryptoPro JCP на Linux. Как легко и безболезненно перейти на новый стандарт шифрования

WWW

Ссылки на официальную документацию:

Я расскажу, как развернуть сертифицированное ФСБ средство СКЗИ (CryptoPro JCP) на сервере Linux под управлением Java JDK. Кстати, если ты до сих пор используешь ГОСТ-2001, на сайте CryptoPro есть замечательная статья, советую тебе ее прочесть, лишним не будет.

Весь документооборот между участниками обмена происходит по принципу СМЭВ (система межведомственного электронного взаимодействия). Приложение может быть участником такой системы, но может и не быть им вовсе, принцип обмена документами от этого не меняется. Для простоты понимания я нарисовал небольшую схему.

CryptoPro JCP на Linux. Как легко и безболезненно перейти на новый стандарт шифрования

Цены

Как всегда, встает вопрос о лицензировании программного решения. CryptoPro JCP недешев, и если одна рабочая станция обойдется в 1200 рублей, то серверные лицензии стоят значительно дороже — порядка 30 000 за каждое ядро (или два ядра процессора Intel с отключенным Hyper Threading).

Установка и настройка криптопровайдера

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

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

$ sudo useradd -d /opt/user -p -s /bin/bash user; sudo grep user /etc/passwd 

Правильно установим Java JDK. Скачиваем необходимый дистрибутив.

$ wget --header "Cookie: oraclelicense=a" --content-disposition http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz -O jdk-8u191-linux-x64.tar.gz 

Распаковываем архив и проверяем, готова ли папка с Java для копирования.

$ tar zxvf jdk-8u191-linux-x64.tar.gz; ls -al; 

Копируем папку в раздел для прикладного ПО. Я обычно использую /opt .

$ sudo cp -rf jdk1.8.0_191 /opt/ 

Проверяем, что скопировалось правильно. Если необходимо, меняем владельца папки на root.

$ ls -al /opt/jdk1.8.0_191/ $ sudo chown -R root:root /opt/jdk1.8.0_191/; cd /opt/jdk1.8.0_191/; ls -al; 

Прописываем переменные окружения для Java JDK для всех пользователей по умолчанию.

$ sudo vi /etc/profile.d/oracle.sh 
export JAVA_HOME=/opt/jdk1.8.0_191 export JRE_HOME=/opt/jdk1.8.0_191/jre export PATH=$PATH:/opt/jdk1.8.0_191/bin:/opt/jdk1.8.0_191/jre/bin 

Если на сервере стоит несколько версий Java JDK, то необходимо зарегистрировать альтернативы для новой версии.

$ sudo alternatives --install /usr/bin/java java /opt/jdk1.8.0_191/bin/java 2 $ sudo alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_191/bin/jar 2 $ sudo alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_191/bin/javac 2 $ sudo alternatives --set jar /opt/jdk1.8.0_181/bin/jar $ sudo alternatives --set jar /opt/jdk1.8.0_191/bin/jar $ sudo alternatives --set javac /opt/jdk1.8.0_191/bin/javac $ sudo alternatives --config java 

В меню выбираем опцию 2 (или ту, что приведет к использованию более новой версии Java). Не забываем поправить права на JRE systemPrefs.

$ sudo chmod 777 -R /opt/jdk1.8.0_191/jre/.systemPrefs 

Проверяем установленную версию Java.

Читайте также:  Архив rar в линукс

$ java -version
java version «1.8.0_191»
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

Копируем папку с дистрибутивом CryptoPro JCP в раздел для прикладного ПО.

$ sudo cp -rf jcp-2.0.40035 /opt/ 

Проверяем, что все скопировалось корректно.

Выдаем права на запуск скриптов.

$ sudo chmod +x /opt/jcp-2.0.40035/*.sh 

Проверяем владельца и права на папку, должен быть root. Переходим в нее.

$ ls -al /opt/jcp-2.0.40035/; cd /opt/jcp-2.0.40035/; 

Чтобы избежать проблем при инсталляции, проверь количество ядер на процессоре и сверься с лицензией. Узнать число ядер можно командой nproc .

Переходим к установке криптопровайдера JCP. Во время установки необходимо будет ответить на ряд вопросов.

Продолжение доступно только подписчикам

Материалы из последних выпусков можно покупать отдельно только через два месяца после публикации. Чтобы продолжить чтение, необходимо купить подписку.

Подпишись на «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Источник

Оцените статью
Adblock
detector