Как сделать импорт сертификата

Обновлено: 04.07.2024

Криптопровайдер КриптоПро на сегодняшний день является, пожалуй, самым популярным на рынке, по крайней мере в России. Я хочу рассказать, как быстро и удобно перенести большое количество контейнеров закрытых ключей CryptoPro и сертификатов к ним. Существует штатный механизм в самой программе, работает в ручном режиме и не подходит, когда надо перенести большое количество.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом "Administrator Linux. Professional" в OTUS. Курс не для новичков, для поступления нужно пройти .

Введение

Мне постоянно приходится иметь дело с сертификатами, токенами, закрытыми ключами, криптопровайдерами и прочим. Сейчас все завязано на это - банкинг, сдача отчетности в разные гос органы, обращения опять же в эти органы, в том числе и физ лиц. В общем, с этой темой рано или поздно придется познакомиться многим. Для того, чтобы перенести все это хозяйство с одного компьютера на другой, иногда приходится прилично повозиться, особенно тем, кто не в теме. Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:

Я опишу оба этих способа, но подробно остановлюсь именно на втором способе. В некоторых ситуациях он является единственно возможным.

Важное замечание. Я буду переносить контейнеры закрытого ключа, которые хранятся в реестре. Если вы храните их только на токене, то переносить контейнеры вам не надо, только сертификаты.

Копирование закрытого ключа через оснастку КриптоПро

Копирование закрытого ключа сертификата через оснастку КриптоПро

Далее вы выбираете текущий контейнер, который хотите скопировать. Это может быть либо токен, либо реестр компьютера. Затем новое имя и новое расположение контейнера. Опять же, это может быть как реестр, так и другой токен.

Выбор контейнер для экспорта

Ошибка копирования контейнера

Но тут есть важный нюанс. Если во время создания закрытого ключа он не был помечен как экспортируемый, скопировать его не получится. У вас будет ошибка:

Ошибка копирования контейнера

Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии. Либо вы просто не сможете его выбрать для копирования, если у вас последняя версия CryptoPro. Он будет неактивен:

Неэкспортируемый контейнер

Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему. Отдельно расскажу, как скопировать сертификат и закрытый ключ к нему в файл, чтобы перенести на другой компьютер без использования токена. Делаем это там же на вкладке Сервис в оснастке CryptoPro. Нажимаем Посмотреть сертификаты в контейнере.

Посмотреть список сертификатов в системе

Выбираем необходимый сертификат и нажимаем Посмотреть свойства сертификата.

Выбор сертификата

Далее переходим на вкладку Состав в информации о сертификате и нажимаем Копировать в файл.

Сохранение сертификата КриптоПро в файл

Если у вас после слов "Экспортировать закрытый ключ вместе с сертификатом" нет возможности выбрать ответ "Да, экспортировать закрытый ключ", значит он не помечен как экспортируемый и перенести его таким способом не получится. Можно сразу переходить к другому способу, который описан ниже.

Невозможно экспортировать закрытый ключ

Если же такая возможность есть, то выбирайте именно этот пункт и жмите Далее. В следующем меню ставьте все галочки, кроме удаления. Так вам будет удобнее и проще в будущем, если вдруг опять понадобится копировать ключи уже из нового места.

Формат экспортируемого ключа

Укажите какой-нибудь пароль и запомните его! Без пароля продолжить нельзя. В завершении укажите имя файла, куда вы хотите сохранить закрытый ключ. Теперь вам нужно скопировать сам сертификат. Только что мы копировали закрытый ключ для него. Не путайте эти понятия, это разные вещи. Опять выбираете этот же сертификат в списке из оснастки Crypto Pro, жмёте Копировать в файл, экспортировать БЕЗ закрытого ключа. И выбираете файл формата .CER.

Перенос сертификата

Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него. В итоге у вас должны получиться 2 файла с расширениями:

Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам нужно будет выбрать все параметры по умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер. Я описал первый способ переноса в ручном режиме. Им можно воспользоваться, если у вас немного сертификатов и ключей. Если их много и руками по одному переносить долго, то переходим ко второму способу.

Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер

В интернете достаточно легко находится способ переноса контейнеров закрытых ключей КриптоПро через копирование нужной ветки реестра, где это все хранится. Я воспользуюсь именно этим способом. А вот с массовым переносом самих сертификатов у меня возникли затруднения и я не сразу нашел рабочий способ. Расскажу о нем тоже. Для дальнейшей работы нам надо узнать SID текущего пользователя, у которого мы будем копировать или переносить сертификаты с ключами. Для этого в командной строке выполните команду:

Как узнать SID пользователя

В данном случай user - имя учетной записи, для которой узнаем SID. Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра (regedit.exe) и переходим в ветку:

где S-1-5-21-4126888996-1677807805-1843639151-1000 - SID пользователя, у которого копируем сертификаты. Выбираем папку Keys и экспортируем ее. Этот путь актуален для 64-х битных систем - Windows 7, 8, 10. В 32-х битных путь может быть немного другой. Я специально не проверял, но поиском по реестру вы при желании найдете его.

Массовый перенос закрытых ключей сертификатов с компьютера на компьютер

Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи. Теперь нам нужно скопировать сразу все сертификаты. В Windows 7, 8 и 10 они живут в директории - C:\Users\user\AppData\Roaming\Microsoft\SystemCertificates\My. Сохраняйте эту директорию. Для переноса ключей и сертификатов нам надо скопировать на другой компьютер сохраненную ветку реестра и директорию с сертификатами My.

После того, как перенесли файлы со старого компьютера на новый, открываем файл с веткой реестра в текстовом редакторе и меняем там SID пользователя со старого компьютера на SID пользователя нового компьютера. Можно прям в блокноте это сделать поиском с заменой.

Замена SID пользователя

После этого запускаем .reg файл и вносим данные из файла в реестр. Теперь скопируйте папку My с сертификатами в то же место в профиле нового пользователя. На этом перенос сертификатов и контейнеров закрытых ключей КриптоПро завершен. Можно проверять работу. Я не раз пользовался этим методом, на текущий момент он 100% рабочий. Написал статью, чтобы помочь остальным, так как сам не видел в интернете подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя таковой получилась.

КриптоПро CSP ошибка 0x80090010 Отказано в доступе

Иногда после переноса контейнеров закрытых ключей через экспорт - импорт ветки реестра с ключами можно увидеть ошибку доступа к контейнерам. Вроде бы все на месте, ключи есть в реестре. Их можно увидеть в останстке CryptoPro, но не получается прочитать. При попытке это сделать возникает ошибка:

КриптоПро CSP ошибка 0x80090010 Отказано в доступе

Права доступа в реестре на ключи

Убедитесь так же, что новые права наследовались на дочерние ветки с самими ключами. Обычно это так, но перепроверить на всякий случай непомешает. После этого ошибка с доступом к контейнеру закрытого ключа исчезнет.

Часто задаваемые вопросы по теме статьи (FAQ)

Очевидно, что предложенное в статье решение для этого не подойдет. Ведь тут идет речь о переносе сертификатов, которые хранятся в реестре, то есть уже были скопированы. Технические средства для копирования защищенных крипто контейнеров тоже существуют, но это не такое простое и очевидное решение.

Это не безопасно и в общем случае я не рекомендую это делать. USB токены для хранения сертификатов придуманы не просто так. Они реально защищают сертификаты от несанкционированного копирования. Если у вас нет объективной необходимости копировать сертификаты в реестр, лучше этого не делать. Если вам нужно сделать бэкап сертификата на случай поломки токена, то просто скопируйте его в зашифрованный архив и сохраните на флешке.

Нет, не подойдет. В статье описан способ переноса сертификатов CryptoPro. Другие криптопровайдеры хранят сертификаты по-другому. Универсального способа для всех не существует.

Есть ли какой-то очень простой способ скопировать сертификаты crypto pro? То, что описано в статье слишком сложно для меня.

Да, есть статья на сайте контура, в ней ссылка на утилиту для копирования контейнеров Certfix. Можете воспользоваться ей.

вопросы

Электронная подпись — это средство шифрования электронных документов. С помощью ЭЦП можно узнать, кто подписал документ, а также защитить его от нежелательных изменений. Электронную подпись можно приобрести в Удостоверяющем центре. УЦ выдаёт покупателю сертификат, который состоит из закрытого и открытого ключей, а также содержит информацию о владельце ЭЦП.

Сертификат электронной подписи хранится на физическом носителе — USB-токене, который внешне напоминает флешку. Но подписывать документы можно и без подключения носителя к компьютеру. Для этого нужно скопировать сертификат ЭЦП с флешки на компьютер. В статье — подробная инструкция, как это сделать.

Копируем сертификат ЭЦП через КриптоПро CSP

Этот способ подходит для ОС Windows.

Шаг 1 . Вставьте носитель в USB-разъём.

Копирование

Поиск контейнера ключа

Выберите нужный контейнер

Введите название контейнера

Шаг 8. Для того чтобы защитить вашу электронную подпись от использования посторонними, придумайте пароль и введите его в поля на экране.

Придумайте пароль

Информация об удачном копировании контейнера

Найдите свой новый контейнер

Нажмите «ОК

Проверьте правильность информации сертификата

Уведомление об успешной установке сертификата

Этот способ можно использовать на операционных системах Windows и MacOS.

Выберите носитель для сертификата

Выбор сохранения в реестр

Шаг 5. Когда появится уведомление о том, что сертификат успешно установлен, вытащите флешку из разъёма компьютера и проверьте, как работает ваша ЭЦП без токена.

ЭЦП можно установить на рабочий компьютер или ноутбук, и она будет работать без физического носителя. Вы можете сделать это самостоятельно или обратиться за помощью к нашим специалистам.


135 129

Часто к нам обращаются с вопросом, как установить сертификат через КриптоПpo CSP. Ситуации бывают разные: сменился директор или главбух, получили новый сертификат в удостоверяющем центре и т.п. Раньше все работало, а теперь нет. Рассказываем, что нужно делать, чтобы установить личный цифровой сертификат на компьютер.

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

Если на рабочем месте используется операционная система Windows 7 без SP1, то устанавливать сертификат следует по рекомендациям варианта № 2.

Чтобы установить сертификат:

1. Выберите Пуск -> Панель управления -> КриптоПро CSP -> вкладка Сервис и нажмите кнопку “Просмотреть сертификаты в контейнере”.

2. В открывшемся окне нажмите на кнопку “Обзор”. Выберите контейнер и подтвердите свой выбор кнопкой ОК.

3. В следующем окне нажмите “Далее”.

4. Если на вашем компьютере установлена версия “КриптоПро CSP” 3.6 R2 (версия продукта 3.6.6497) или выше, то в открывшемся окне нажмите на кнопку “Установить”. После этого согласитесь с предложением заменить сертификат.

Если кнопка “Установить” отсутствует, в окне “Сертификат для просмотра” нажмите кнопку “Свойства”.

5. В окне “Сертификат” - > вкладка “Общие” нажмите на кнопку “Установить сертификат”.

6. В окне “Мастер импорта сертификатов” выберите “Далее”.

7. Если у вас уставлена версия “КриптоПро CSP” 3.6, то в следующем окне достаточно оставить переключатель на пункте “Автоматически выбрать хранилище на основе типа сертификата” и нажать “Далее”. Сертификат будет автоматически установлен в хранилище “Личные”.

Для установки вам понадобится, собственно, сам файл сертификата (с расширением .cer). Он может находиться, например, на дискете, на токене или на жестком диске компьютера.

Чтобы установить сертификат:

1. Выберите Пуск -> Панель управления -> КриптоПро CSP -> вкладка Сервис и нажмите кнопку “Установить личный сертификат”.

2. В окне “Мастер установки личного сертификата” нажмите на кнопку “Далее”. В следующем окне, чтобы выбрать файл сертификата, нажмите “Обзор”.

3. Укажите путь к сертификату и нажмите на кнопку “Открыть”, затем “Далее”.

4. В следующем окне вы можете просмотреть информацию о сертификате. Нажмите “Далее”.

5. На следующем шаге введите или укажите контейнер закрытого ключа, который соответствует выбранному сертификату. Для этого воспользуйтесь кнопкой “Обзор”.

6. Выбрав контейнер, нажмите “Далее”.

7. Дальше вам необходимо выбрать хранилище, куда будет установлен сертификат. Для этого в окне “Выбор хранилища сертификатов” нажмите на кнопку “Обзор”.

Если у вас установлена версия КриптоПро CSP 3.6 R2 (версия продукта 3.6.6497) или выше, поставьте флаг “Установить сертификат в контейнер”.

8. Выберите хранилище “Личные” и нажмите ОК.

В этом случае нажмите “Да”.

Импорт сертификатов может понадобиться для выполнения следующих задач:

  • Установка сертификата, который был отправлен вам другим пользователем, компьютером или центром сертификации;
  • Восстановление поврежденного или утерянного сертификата, заархивированного ранее;
  • Установка сертификата и связанного с ним закрытого ключа с компьютера, на котором владелец сертификата его использовал ранее.




  • Выбрать криптопровайдер;
  • Выбрать из списка имя ключевого контейнера (перед этим вставьте ключевой носитель, на котором храниться данный контейнер);
  • Укажите, что введенное имя задает контейнер пользователя.


  • Автоматический (тип хранилища выбирается системой);
  • Для ручного выбора хранилища, в выпадающем меню выберите необходимое хранилище.

1. Откройте меню Пуск - Панель управления - КриптоПро CSP.

2. В окне программы КриптоПро CSP перейдите на вкладку Сервис и нажмите кнопку Просмотреть сертификаты в контейнере:


3. В следующем окне нажмите кнопку Обзор, чтобы выбрать контейнер для просмотра (в нашем примере контейнер находится на смарт-карте JaCarta):


4. После выбора контейнера нажмите кнопку Ок, затем Далее.

5. В окне Сертификат для просмотра нажмите кнопку Установить:




8. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.

Для установки сертификата этим способом Вам понадобится файл сертификата (файл с расширением.cer). Он может находиться, например, на съемном носителе или на жёстком диске компьютера (если Вы делали копию сертификата или Вам присылали его по электронной почте).

1. Откройте меню Пуск - Панель управления - КриптоПро CSP.


2. В окне программы КриптоПро CSP перейдите на вкладку Сервис и нажмите кнопку Установить личный сертификат:

3. В следующем окне нажмите кнопку Обзор, чтобы выбрать файл сертификата:


4. Укажите путь к файлу сертификата и нажмите кнопку Открыть (в нашем примере файл сертификата находится на Рабочем столе):


5. В следующем окне нажмите кнопку Далее; в окне Сертификат для установки нажмите Далее.



6. Поставьте галку в окне Найти контейнер автоматически (в нашем примере контейнер находится на смарт-карте JaCarta) и нажмите Далее:

7. В следующем окне отметьте пункт Установить сертификат (цепочку сертификатов) в контейнер и нажмите Далее:


8. В окне Завершение мастера установки личного сертификата нажмите Готово:



9. Если КриптоПро CSP запрашивает pin-код от контейнера, введите нужный код или попробуйте стандартные pin-коды носителей:


Читайте также: