...
JaCarta SF/ГОСТ – продукт предназначен для безопасного хранения и транспортировки информации ограниченного доступа (ДСП, гостайнагосударственная тайна) и состоит из:
аппаратного средства, выполненного в форм-факторе USB-токена (далее - токен);
ПО для ввода в эксплуатацию, управления и администрирования.
...
- ПО из репозиториев Astra Linux:
- библиотека libccid;
- пакет libpcsclite1;
- пакет pcscd;
- пакет opensc;
пакет pcsc-tools (необязательно);
- ПО, предоставляемое производителем аппаратного средстватокена:
- библиотека libjcPKCS11-2 (пакет jcPKCS11-2);
...
- Загрузить файл с пакетом: jcPKCS11-2_2.4.0.2946_amd64.deb (или скачать более новую версию пакета с web-сайта Аладдин: https://www.aladdin-rd.ru/support/downloads/jacarta). ;
Установить загруженный пакет:
Command sudo dpkg -i jcPKCS11-2_2.4.0.2946_amd64.deb
Проверка работы
...
токена в системе
...
Для проверки работы JaCarta токена подключить устройство его к компьютеру.
Проверка с помощью команды pcs_scan
Ввеcти Ввести команду:
Command |
---|
pcsc_scan |
Проверка с помощью команды pkcs11-tool
...
См. XCA: графический интерфейс для работы с токенами
Инициализация токена
...
...
Предупреждение |
---|
Внимание! Инициализация устройства удалит все данные на JaCarta PKI токене без возможности восстановления. |
...
Command |
---|
pkcs11-tool --slot 0x1ffff --init-token --so-pin 00000000 --label 'JaCarta PKI' --module /usr/lib/libjcPKCS11-2.so |
Задать ПИНPIN-код пользователя командой:
...
Информация | ||
---|---|---|
| ||
--slot 0x1ffff — указывает в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д; |
Изменение PIN-кода
...
токена
...
Для
...
изменения
...
PIN-кода
...
токена ввести
...
команду:
Command |
---|
pkcs11-tool --module /usr/lib/libjcPKCS11-2.so --login --pin ваш_старый_пин --change-pin --new-pin ваш_новый_пин |
...
Блок кода |
---|
Using slot 0 with a present token (0x0) PIN successfully changed |
Проверка наличия сертификатов и ключевых пар
...
в токене
...
Чтобы проверить наличие сертификатов и ключевых пар на токене JaCarta выполнить команду:
Command |
---|
pkcs11-tool --module /usr/lib/libjcPKCS11-2.so -O -l |
В результате в окне терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на токене JaCarta:
Блок кода |
---|
Using slot 0 with a present token (0x0)
Public Key Object; RSA 2048 bits
label: Test
ID: 45
Usage: encrypt, verify, wrap
Certificate Object, type = X.509 cert
label: Test
ID: 45 |
...
Command |
---|
|
Вместо <id> указать идентификатор (ID), полученный при проверке наличия сертификатов.
...
Примечание | ||
---|---|---|
Расположение библиотеки pkcs11.so может отличаться в различных обновлениях ОС. Для того, чтобы определить расположение библиотеки ввести команду:
Приведенные ниже команды должны быть неразрывны и выполнены в одной сессии командной оболочки openssl, иначе openssl не сможет обратиться к закрытому ключу. Номер слота указывается в десятичной системе счисления. Число 131071 в шестнадцатеричной системе = 0x1ffff. |
Выполнить команду:
Command openssl
При выполнении команды будет запущена командная оболочка openssl;В командной оболочке openssl выполнить команду для подключения библиотеки jcPKCS11-2:
Блок кода engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/libjcPKCS11-2.so
Блок кода $ openssl OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/libjcPKCS11-2.so (dynamic) Dynamic engine loading support [Success]: SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so [Success]: ID:pkcs11 [Success]: LIST_ADD:1 [Success]: LOAD [Success]: MODULE_PATH:/usr/lib/libjcPKCS11-2.so Loaded: (pkcs11) pkcs11 engine
Примечание В Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 пакет pkcs11 libengine-pkcs11-openssl версии 1.0.2 несовместим с библиотекой libjcPKCS11-2.so. Для корректного функционирования токенов следует:
- Либо загрузить и установить подписанный пакет libengine-pkcs11-openssl1.1 версии 0.4.4-4 для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6): libengine-pkcs11-openssl1.1_0.4.4-4_amd64.deb;
- Либо установить Оперативные обновления для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6);
В командной оболочке openssl выполнить команду:
Блок кода req -engine pkcs11 -new -key 131071:45 -keyform engine -x509 -out название_сертификата.crt -outform DER
Предупреждение В поле Common Name указать имя пользователя ОС (в примере ниже - и далее используется имя Astra-user).
Блок кода OpenSSL> req -engine pkcs11 -new -key 131071:45 -keyform engine -x509 -out название_сертификата.crt -outform DER engine "pkcs11" set. Enter PKCS#11 token PIN for Rutoken ECP <no label>: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:RU State or Province Name (full name) [Some-State]:Moscow Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Rusbitech Organizational Unit Name (eg, section) []: Astra Common Name (e.g. server FQDN or YOUR name) []:Astra-user Email Address []:Astra-user@astralinux.ru
Выйти из командной оболочки openssl выполнив команду:
Блок кода exit
...
Регистрация сертификата в системе
Конвертировать ранее созданный сертификат в текстовый формат:
Command openssl x509 -
in
название_сертификата.crt-out название_сертификата.pem -inform DER -outform PEM
где название_сертификата.pem - имя файла сертификата из токена в текстовом формате;
Прочитать с токена сертификат с нужным идентификатором (ID);
Записать полученный сертификат в файл доверенных сертификатов, для чего:
Создать в домашнем каталоге пользователя подкаталог .eid. Для примера используется имя пользователя Astra-user:
Command sudo mkdir ~Astra-user/.eid
Назначить созданному подкаталогу права доступа:
Command sudo chmod 0755 ~Astra-user/.eid
Добавить в файл
.eid
/authorized_certificates
сертификат (если файл не существует, то он будет создан):Command cat
сертификат_из_токена.pem | sudo tee -a ~Astra-user/.eid
/authorized_certificates
Установить права доступа на файл:
Command sudo chmod 0644 ~/.eid/authorized_certificates
Если пользователю разрешено самому модифицировать свой список доверенных сертификатов, то передать ему владение созданным подкаталогом и файлом:
Command sudo chown -R Astra-user:Astra-user ~/.eid
...
- Подключить токен к компьютеру;
Выполнить команду:
Command sudo login Astra-user - При выполнении команды вместо пароля пользователя будет запрошен <PIN пользователя>;
- После ввода PIN-кода пользователя вход в сессию этого пользователя должен быть выполнен успешно.
...