Перенос контейнера закрытого ключа под требуемую операционную систему¶
Для примера рассмотрим наиболее часто встречающуюся задачу переноса контейнера закрытого ключа из операционной системы 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.