Как создавать тестовый ключ в КриптоПро в Linux я уже писал: Создание тестового ключа в КриптоПро. Данный материал про то как установить в систему уже имеющийся ключ. Который, к примеру, был получен от удостоверяющего центра. Или который вам дал клиент для отладки проблем. Обычно «ключ» — это папка с произвольным именем с расширением .000, которая содержит шесть файлов с расширением .key.
Данный ключ необходимо установить в систему, чтобы в последующем им можно было воспользоваться.
Для начала рекомендую проверить что у текущего пользователя существует хранилище для сертифкатов:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
Будет выведен список сертификатов в хранилище в следующем формате:
\\.\HDIMAGE\cert1
\\.\HDIMAGE\cert2
Так же о наличии хранилища свидетельствует папка с именем пользователя в каталоге /var/opt/cprocsp/keys Команда ll /var/opt/cprocsp/keys выведет список пользователей у которых есть хранилища для ключей.
Если хранилища HDIMAGE нет, то его надо создать. Создается оно с правами пользователя root
/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -add HDIMAGE store
Теперь надо добавить имеющийся у нас ключ в хранилище. Предположим что есть папка newkeys.000, а ключ надо добавить для пользователя username
В этом случае надо скопировать папку вместе со всеми файлами в каталог /var/opt/cprocsp/keys/username
После копирования нужно установить права доступа.
chmod 700 /var/opt/cprocsp/keys/username/newkeys.000 chmod 600 /var/opt/cprocsp/keys/username/newkeys.000/*
Если в текущий момент мы находимся не под пользователем username, то надо сделать его владельцем файлов
chown -R username:username /var/opt/cprocsp/keys/username/newkeys.000
Но лучше все операции делать под пользователем.
После этого можно проверить, что в хранилище появился новый контейнер. Сделать это можно все той же командой
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
В результате вывода появится новый контейнер. Обычно его название совпадает с именем папки. Или же имя папки с ключами является префиксом к имени контейнера.
К примеру, вывод данной команды может стать следующим
\\.\HDIMAGE\cert1
\\.\HDIMAGE\cert2
\\.\HDIMAGE\newkeys_KEY_FOR_USER
Можно проверить данный контейнер и ключи в нем на корректность. Для этого можно выполнить следующую команду:
/opt/cprocsp/bin/amd64/csptest -keyset -check -cont '\\.\HDIMAGE\newkeys_KEY_FOR_USER'
Если ключ был установлен правильно и сам ключ корректен, то утилита выведет информационное сообщение о том что все в порядке.
Если вместе с файлами ключа был еще и файл сертифката, то сертификат тоже надо установить в контейнер. Сделать это можно с помощью команды:
/opt/cprocsp/bin/amd64/certmgr -inst -store uMy -file newkeys.crt -cont \\.\HDIMAGE\newkeys_KEY_FOR_USER'
Вывести список доступных сертификатов
/opt/cprocsp/bin/amd64/certmgr -list
После этого сертифкатом и ключем можно пользоваться как обычно.