Основано на Privkey2012
При экспорте из ViPNet CSP достаточно PFX с включенным в него приватным ключом.
При экспорте из КриптоПро CSP нужен PFX (не обязательно с ключом) и ключ (хранилище).
Хранилище это директория с файлами:
header.key
masks.key
masks2.key
name.key
primary.key
primary2.key
- В окне «ViPNet CSP» в разделе «Контейнеры ключей» выберите контейнер ключей, содержащий сертификат или сертификат и закрытый ключ, которые вы хотите экспортировать. Нажмите кнопку «Свойства» либо дважды щелкните нужный контейнер ключей.
- В окне «Свойства контейнера ключей» нажмите кнопку «Открыть».
- В окне «Сертификат» перейдите на вкладку «Состав» и нажмите кнопку «Копировать в файл».
- На странице приветствия мастера экспорта сертификатов нажмите кнопку «Далее».
- На странице «Экспортирование закрытого ключа» укажите, что хотите вместе с сертификатом экспортировать закрытый ключ.
- На странице «Формат экспортируемого файла» выберите формат PKCS #12 (.PFX).
- На странице «Пароль» задайте и подтвердите пароль доступа к экспортируемому закрытому ключу.
- На странице «Имя файла экспорта» укажите диреткторию, в которой вы хотите создать файл с экспортируемыми ключами, и задайте имя этого файла.
- На странице завершения работы мастера экспорта сертификатов нажмите кнопку «Готово».
- Перейти в Панель управления (ПУСК – Панель управления) найдите и запустить КриптоПро CSP.
- На вкладке сервис выбрать «Просмотреть сертификат в контейнере».
- Выбрать нужный контейнер и нажать «Далее». Если в контейнере присутствует сертификат, то отобразится информация о нём.
- Нажать «Свойства». Откроется сам сертификат.
- Перейти на вкладку «Состав». Нажать кнопку «Копировать в файл».
- Выбрать варианты: «Нет, не экспортировать закрытый ключ» и «Файл в DER-кодировке X509» (.CER)
- Указать путь для сохранения файла сертификата.
- На вкладке сервис выбрать «Скопировать».
- Выбрать нужный контейнер и нажать «Далее» и следуя мастеру, скопировать ключ на съемный носитель.
docker build -t zazmaster/gostpemextractor ./
Файл certificate.pfx и диреткория storage.001 находятся в текущей директории. При успехе в текущей директории создаются два файла certificate.crt.pem и certificate.key.pem Пример при наличии pfx файла и хранилища закрытого ключа:
docker run --rm -ti -v `pwd`:/work zazmaster/gostpemextractor -f certificate.pfx -p password -s storage.001
Пример при наличии только pfx файла с включенным в него приватным ключом:
docker run --rm -ti -v `pwd`:/work zazmaster/gostpemextractor -f certificate.pfx -p password
Пример команды для Windows:
docker run --rm -ti -v C:\temp\cert\1231:/work zazmaster/gostpemextractor -f certificate.pfx -p password -s storage.001
Доступно и на докерхабе https://hub.docker.com/r/zazmaster/gostpemextractor