Перейти к содержанию

Перенос контейнера закрытого ключа под требуемую операционную систему

Для примера рассмотрим наиболее часто встречающуюся задачу переноса контейнера закрытого ключа из операционной системы Windows под Linux или OS X.

Если в операционной системе Windows сертификат и закрытый ключ могут находится в локальном хранилище Crypto API, то для работы под операционными системами Linux или OS X его нужно импортировать в специальное системное хранилище.

Важно, чтобы у закрытого ключа должен быть установлен флаг «Экспортируемый»

Перенос выполняется в два шага – экспорт контейнера и сертификата, импорт контейнера и установка сертификата в личное хранилище:

В операционной системе Windows скопировать контейнер закрытого ключа можно следующим образом:

Откройте приложение КриптоПро CSP и перейдите на вкладку Сервис. На вкладке выберите команду Скопировать контейнер закрытого ключа. Введите пароль для ключевого контейнера и задайте имя ключевого контейнера (например, test). Сохраните контейнер на диск или флешку. После этого откройте диалог Сертификаты (должна запуститься консоль MMC), перейдите в раздел Личное, Реестр, Сертификаты и экспортируйте сертификат без закрытого ключа с помощью мастера. Сохраните его в файл (например, test.cer).

Для импорта сертификата под операционными системами Linux (OS X) выполните следующие действия.

Скопируйте контейнер закрытого ключа (директорию /test/ в формате 8.3) и файл сертификата (test.cer) из корня дискеты или флешки в директорию /var/opt/cprocsp/keys/имя_пользователя. При этом необходимо проследить чтобы: владельцем файлов был пользователь, в директории с именем которого расположен контейнер (от его имени будет осуществляться работа с ключами); на директорию с ключами были выставлены права, разрешающие владельцу всё, остальным ничего; на файлы были выставлены права, разрешающие владельцу по крайней мере чтение и запись, остальным ничего.

Проверить, отображается ли контейнер можно командой

/opt/cprocsp/bin//csptest -keyset -enum_cont -fqcn -verifycontext

Привязать сертификат к закрытому ключу можно командой

/opt/cprocsp/bin//certmgr -inst -store uMy -file /var/opt/cprocsp/keys/<сертификат>.cer -cont '\.\HDIMAGE\test' –pin *****

Выполнить проверку привязки сертификата к закрытому ключу можно через команду

/opt/cprocsp/bin//certmgr -list -store uMy

В результате выполнения предыдущей команды должно быть выведено сообщение

PrivateKey Link: Yes. Container: HDIMAGE\test.000.

В приведенных выше командах подразумевается один из следующих идентификаторов платформы: ia32 - для 32-разрядных систем Linux; amd64 - для 64- разрядных систем Linux; не указывается - для OS X.