Обновлено 09.03.2022
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами успешно настроили сеть на CentOS 7.6, двигаемся вперед. В сегодняшней публикации я вам хочу продемонстрировать, как вы можете выполнить экспорт сертификата или импорт сертификата из хранилища Windows. Уверен, что вы сами с легкостью можете найти кучу разных сценариев при которых вы можете использовать мою инструкцию.
Примеры сценариев при импорте и экспорте сертификата
Если вы мой постоянный читатель, то вам уже должны быть знакомы понятие SSL сертификата, его виды и назначение. Сейчас уже сложно себе представить работу юридических лиц, ИП и обычных граждан без сертификатов и ЭЦП. Многие программы используют их для шифрования трафика, например при документообороте или при доступе к сервису, очень частый пример, это кабинет клиент-банка.
В большинстве случаев у людей на компьютере установлена операционная система Windows, она не идеальна и бывают частые случаи ее выхода из строя. При таком раскладе у вас легко могла возникать ситуация по восстановлению вашего сертификата из хранилища Windows, или при обновлении вашего компьютера на более новый, где так же производили перенос сертификатов, я приводил такой пример для КриптоПРО. Переходим к практике.
Импорт сертификата в Windows
Ранее я вам рассказывал, где в операционной системе Windows хранятся сертификаты и вы помните, что там есть два глобальных контейнера:
- Первый, это для компьютера
- Второй для пользователя
Я в своем примере буду импортировать сертификат в раздел локального компьютера, в личное расположение. И так у меня есть Wildcard сертификат имеющий формат PFX архива. Существует два метода импорта сертификата в операционных системах Windows:
- Через графический мастер импорта сертификатов
- Через использование утилиты командной строки certutil
Давайте начнем с самого простого метода, через графический интерфейс. У меня есть файл pyatilistnik.pfx. Я щелкаю по нему двойным кликом и запускаю мастер импорта сертификатов.
Я указываю, что буду копировать сертификат в хранилище локального компьютера, нажимаю далее.
Мастер импорта сертификата попытается удостовериться, какой файл вы будите копировать, поддерживаются форматы PFX, P12, p7b и SST.
На следующем этапе вы указываете пароль от данного сертификата, при желании можете поставить галку «Пометить этот ключ как экспортируемый, что позволит сохранить резервную копию ключа и перемещать его». Данная галка полезна при использовании сертификата их реестра, ну и потом можно будет его при необходимости перенести, но это МЕНЕЕ БЕЗОПАСНО, не не смертельно если есть пароль.
Далее вы выбираете куда вы будите помещать сертификат при импорте, я выберу ручное помещение в личное хранилище.
Нажимаем далее.
Завершаем мастер импорта сертификатов.
В результате импортирование сертификата успешно выполнено.
Давайте удостоверимся, что у вас появился ваш сертификат, тут вы можете воспользоваться оснасткой mmc «сертификаты» или же утилитой certutil. Я покажу оба варианта, откройте командную строку или оболочку PowerShell и выполните:
В итоге у вас будет список всех ваших сертификатов, если знаете его CN, то можете отфильтровать по findstr. Второй вариант, это в окне выполнить открыть mmc и добавить там оснастку «Сертификаты» (Подробнее по ссылке выше про mmc).
В контейнере «Личное — Сертификаты» я вижу свой Wildcard SSL сертификат, и по значку я вижу, что в нем есть закрытый ключ. Я его удалю, чтобы импортировать его с помощью certutil.
Для импорта сертификата вам нужно через команду cd перейти в каталог, где хранится pfx архив. В моем примере, это каталог C:Tempwildcard.
Далее импортируем наш сертификат. пишем команду:
certutil -importPFX -p «12345678» my pyatilistnik.pfx
Где -p, это пароль, а pyatilistnik.pfx имя файла.
Все с копированием сертификата в ваше локальное хранилище мы разобрались, переходим к экспорту.
Экспорт сертификата Windows
Давайте теперь проделаем процедуру обратного порядка. Первым делом я произведу экспорт сертификата из графического интерфейса. В оснастке «Сертификаты» найдите нужный вам. Щелкните по нему правым кликом и выберите «Все задачи — Экспорт’.
У вас откроется окно мастера экспорта сертификатов, нажимаем далее.
Если есть возможно и закрытый ключ экспортируемый, то можете выставить режим «Да, экспортировать закрытый ключ».
Вам будет предложено выбрать формат выгрузки, тут могут быть расширения cer DER, cer Base-64, p7b, PFX. Так как у меня сертификат Wildcard, то я могу выгрузить в «Файл обмена личной информацией -PKCS # 12(.PFX)». Если вы планируете после экспорта удалить из личного хранилища ваш сертификат, то можете тут выставить соответствующую галку. Так же может выгрузить все расширения, после чего нажимаем далее.
Задаем обязательный пароль два раза, лучше сразу задавать стойкий пароль.
В следующем окне мастера по экспорту сертификатов, вы задаете его имя и где он будет сохранен.
Нажимаем далее.
Завершаем процедуру экспорта pfx архива из нашего хранилища сертификатов.
Экспорт успешно выполнен.
Теперь давайте произведем экспорт с помощью утилиты certutil. Перед тем, как это сделать, нам необходимо вычислить серийный номер сертификата.Для этого выполните команду:
Находим поле «Серийный номер» у нужного сертификата и копируем его.
Далее пишем команду для экспорта сертификата;
certutil -exportPFX -p «12345678» my 790000fa279f2bd96421c6e2bc00010000fa27 export-cert-2.pfx
Все успешно отработало.
На выходе я получил файл export-cert-2.pfx. Открыть архив с сертификатом вы легко сможете через утилиту keytool или Key Store Explorer.
На этом у меня все, мы с вами разобрали алгоритм и методы по импортированию и экспортированию сертификатов в операционной системе Windows. остались вопросы или пожелания, то я жду их в комментариях. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Данный материал является переводом оригинальной статьи «ATA Learning : Michael Soule : Manage Certs with Windows Certificate Manager and PowerShell».
Работа с сертификатами обычно является одной из тех дополнительных задач, которые вынужден брать на себя системный администратор Windows. Диспетчер Сертификатов Windows (Windows Certificate Manager) — это один из основных инструментов, который позволяет выполнять эту работу.
В этой статье мы рассмотрим работу с сертификатами применительно к операционной системе Windows. Если же вы хотите узнать больше о том, как работают сертификаты в целом, ознакомьтесь с сопутствующей статьей «Your Guide to X509 Certificates».
Понимание хранилищ сертификатов
В диспетчере сертификатов Windows все сертификаты находятся в логических хранилищах, называемых «хранилищами сертификатов». Хранилища сертификатов – это «корзины», в которых Windows хранит все сертификаты, которые в настоящее время установлены, и сертификат может находиться более чем в одном хранилище.
К сожалению, хранилища сертификатов — не самая интуитивно понятная концепция для работы. О том, как различать эти хранилища и как с ними работать, вы прочитаете ниже.
Каждое хранилище находится в Реестре Windows и в файловой системе. При работе с сертификатом в хранилище вы взаимодействуете с логическим хранилищем, не изменяя напрямую реестр или файловую систему. Этот более простой способ позволяет вам работать с одним объектом, в то время как Windows заботится о том, как представить этот объект на диске.
Иногда можно встретить хранилища сертификатов, называемые физическими или логическими хранилищами. Физические хранилища ссылаются на фактическую файловую систему или место в реестре, где хранятся разделы реестра и / или файл(ы). Логические хранилища — это динамические ссылки, которые ссылаются на одно или несколько физических хранилищ. С логическими хранилищами намного проще работать, чем с физическими хранилищами для наиболее распространенных случаев использования.
Windows хранит сертификаты в двух разных областях — в контексте пользователя и компьютера. Сертификат помещается в один из этих двух контекстов в зависимости от того, должен ли сертификат использоваться одним пользователем, несколькими пользователями или самим компьютером. В остальной части этой статьи сертификат в контексте пользователя и компьютера будет неофициально называться сертификатами пользователей и сертификатами компьютеров.
Сертификаты пользователей
Если вы хотите, чтобы сертификат использовался одним пользователем, то идеальным вариантом будет хранилище пользовательских сертификатов внутри Диспетчера сертификатов Windows. Это общий вариант использования процессов аутентификации на основе сертификатов, таких как проводной IEEE 802.1x.
Сертификаты пользователей находятся в профиле текущего пользователя и логически отображаются только в контексте этого пользователя. Сертификаты пользователей «сопоставлены» и уникальны для каждого пользователя даже в одних и тех же системах.
Компьютерные сертификаты
Если сертификат будет использоваться всеми пользователями компьютера или каким-либо системным процессом, его следует поместить в хранилище в контексте компьютера. Например, если сертификат будет использоваться на веб-сервере для шифрования связи для всех клиентов, размещение сертификата в контексте компьютера будет подходящим вариантом.
Вы увидите, что хранилище сертификатов компьютера логически сопоставлено для всех пользовательских контекстов. Это позволяет всем пользователям использовать сертификаты в хранилище сертификатов компьютера в зависимости от разрешений, настроенных для закрытого ключа.
Сертификаты компьютера находятся в кусте реестра локального компьютера и в подкаталогах ProgramData. Сертификаты пользователя находятся в кусте реестра текущего пользователя и в подкаталогах AppData. Ниже вы можете увидеть, где каждый тип хранилища находится в реестре и файловой системе.
Контекст | Путь реестра | Объяснение |
---|---|---|
User | HKEY_CURRENT_USER SOFTWAREMicrosoftSystemCertificates |
Физическое хранилище для пользовательских открытых ключей |
User | HKEY_CURRENT_USER SOFTWAREPoliciesMicrosoftSystemCertificates |
Физическое хранилище для пользовательских открытых ключей, установленных объектами групповой политики Active Directory (AD) (GPO) |
Computer | HKEY_LOCAL_MACHINE SOFTWAREMicrosoftSystemCertificates |
Физическое хранилище общедоступных ключей для всей машины |
Computer | HKEY_LOCAL_MACHINE SOFTWAREMicrosoftCryptographyServices |
Физическое хранилище ключей, связанных с определенной службой |
Computer | HKEY_LOCAL_MACHINE SOFTWAREPoliciesMicrosoftSystemCertificates |
Физическое хранилище открытых ключей для всей машины, установленных объектами групповой политики. |
Computer | HKEY_LOCAL_MACHINE SOFTWAREMicrosoftEnterpriseCertificates |
Физическое хранилище общедоступных ключей, установленных корпоративными контейнерами PKI в домене AD |
Контекст | Расположение файла | Объяснение |
---|---|---|
User | $env:APPDATAMicrosoftSystemCertificates | Физическое хранилище для пользовательских открытых ключей и указателей на закрытые ключи |
User | $env:APPDATAMicrosoftCrypto | Физическое хранилище для контейнеров закрытых ключей для конкретных пользователей |
Computer | $env:ProgramDataMicrosoftCrypto | Физическое хранилище для контейнеров закрытых ключей для всей машины |
Предварительные требования
В оставшейся части этой статьи вы найдете несколько примеров, демонстрирующих взаимодействие с хранилищами сертификатов Windows. Чтобы воспроизвести эти примеры, убедитесь, что выполняются следующие требования:
- Windows Vista, Windows Server 2008 или более новая операционная система. В показанных примерах используется Windows 10 Корпоративная версии 1903.
- Знакомство с PowerShell. Хотя это и не обязательно, этот язык будет использоваться для ссылки на сертификаты, где это необходимо. Все показанные примеры были созданы с помощью Windows PowerShell 5.1.
- Вам не потребуется устанавливать какие-либо специальные сертификаты, но использование самозаверяющего сертификата полезно.
Управление сертификатами в Windows
В Windows есть три основных способа управления сертификатами:
- Оснастка консоли управления Microsoft (MMC) сертификатов (certmgr.msc)
- PowerShell
- Инструмент командной строки certutil
В этой статье вы узнаете, как управлять сертификатами с помощью оснастки Certificates MMC и PowerShell. Если вы хотите узнать больше о том, как использовать certutil, ознакомьтесь с документацией Microsoft.
PowerShell против диспетчера сертификатов Windows
Поскольку в Windows можно управлять сертификатами несколькими способами, встаёт вопрос выбора, что лучше использовать — GUI (MMC) или командную строку с PowerShell.
Во-первых, рассмотрим жизненный цикл сертификата. Если вы собираетесь установить или удалить один сертификат только один раз, рассмотрите возможность использования MMC. Но если вы управляете несколькими сертификатами или выполняете одну и ту же задачу снова и снова, использование командной строки может оказаться правильным решением. Даже если вы не умеете писать сценарии PowerShell, вам стоит этому научиться, если у вас есть много разных сертификатов, которыми нужно управлять.
Давайте сначала посмотрим, как обнаружить сертификаты, установленные в Windows, с помощью диспетчера сертификатов и PowerShell.
Использование диспетчера сертификатов Windows (certmgr.msc)
Чтобы просмотреть сертификаты с помощью MMC, откройте Диспетчер сертификатов: откройте меню «Пуск» и введите certmgr.msc. Это вызовет Windows Certificates MMC. Это начальное представление предоставит обзор всех логических хранилищ, отображаемых в левом окне.
На снимке экрана ниже видно, что выбрано логическое хранилище доверенных корневых центров сертификации
Просмотр физических хранилищ
По умолчанию Диспетчер сертификатов Windows не отображает физические хранилища. Чтобы показать их, в верхнем меню оснастки выбирайте «View» > «Options«. Затем вы увидите варианты отображения физических хранилищ сертификатов. Включение этого параметра упрощает определение конкретных путей в Windows.
Теперь вы можете видеть, что дополнительные контейнеры показаны в примере логического хранилища доверенных корневых центров сертификации, показанном ранее. Сертификаты по-прежнему сгруппированы относительно их логических хранилищ, но теперь вы можете увидеть физическое хранилище «Реестр».
Проверка атрибутов в диспетчере сертификатов Windows
Есть много атрибутов сертификата, которые вы можете увидеть при просмотре их с помощью MMC. Например, вы, вероятно, захотите выбрать определенные сертификаты по их атрибутам. Самый простой способ сделать это — указать Serial Number сертификата или значение Thumbprint. Если сертификат был подписан центром сертификации (CA), при выдаче он будет иметь серийный номер. Thumbprint вычисляется каждый раз при просмотре сертификата.
Вы можете увидеть некоторые атрибуты сертификата, открыв его в MMC, как показано ниже.
Следует отметить одну важную особенность — встроенные закрытые ключи. Сертификаты в Windows также могут иметь соответствующий закрытый ключ. Эти закрытые ключи хранятся в соответствующих физических хранилищах в виде зашифрованных файлов.
Чтобы быстро отличать сертификаты с соответствующим закрытым ключом и без него, посмотрите на значок сертификата. В Диспетчере сертификатов Windows, если значок просто выглядит как лист бумаги с лентой, соответствующий закрытый ключ отсутствует. Если у сертификата есть закрытый ключ, вы увидите ключ на значке MMC, и ключ в нижней части вкладки «Общие» при открытии сертификата
Использование PowerShell по физическому хранилищу
Как и в случае с MMC, вы можете просматривать сертификаты и управлять ими с помощью PowerShell. Давайте сначала проверим сертификаты в их физических хранилищах (реестр и файловая система).
Используя PowerShell командлет Get-ChildItem, вы можете перечислить все ключи и значения внутри родительского пути в реестре. Приведенная ниже команда перечислит все сертификаты вошедшего в систему пользователя в логическом хранилище промежуточных центров сертификации.
Get-ChildItem -Path 'HKCU:SoftwareMicrosoftSystemCertificatesCACertificates'
Каждая запись в кусте реестра, который вы видите, будет соответствовать отпечатку сертификата доверенного центра сертификации и его сертификату в соответствующем свойстве. Вы можете увидеть пример вывода ниже.
Другое распространенное хранилище — это Personal store. Ваши сертификаты для этого хранилища находятся в файловой системе, а не в реестре. В следующих командах мы покажем эти различные физические пути и их цели.
Каждый файл в каталоге, возвращенный приведенной ниже командой, соответствует сертификату, установленному в личном хранилище текущего пользователя.
Get-ChildItem -Path $env:APPDATAMicrosoftSystemCertificatesMyCertificates
Каждый файл, возвращаемый в приведенной ниже команде, является ссылкой на объект для закрытого ключа, созданный поставщиком хранилища ключей (KSP). Имя файла соответствует идентификатору ключа субъекта сертификата. К каждому устанавливаемому вами закрытому ключу будет добавлен соответствующий файл.
Get-ChildItem -Path $env:APPDATAMicrosoftSystemCertificatesMyKeys
Каждый файл в каталоге, возвращаемый следующей командой, является уникальным контейнером для зашифрованного закрытого ключа, созданного KSP. Нет прямой связи между именем файла и сертификатом, но файл является целью указателя в предыдущей команде.
Get-ChildItem -Path $env:APPDATAMicrosoftCryptoKeys
Использование PowerShell по логическому хранилищу
Поскольку работа с сертификатами на их физических путях встречается редко, в остальных примерах вы будете работать с логическими хранилищами.
PowerShell может получить доступ к логическим хранилищам Windows с помощью PSDrive-объекта «Cert:«, который сопоставляет сертификаты с физическими хранилищами так же, как это делает MMC.
К сожалению, MMC и «Cert:» не маркируют логические хранилища одинаково. Ниже вы можете увидеть сравнительную таблицу общих хранилищ и их названий как в MMC, так и в «Cert:» PSDrive.
Cert: | Certificates MMC |
---|---|
My | Personal |
Remote Desktop | Remote Desktop |
Root | Trusted Root Certification Authorities |
CA | Intermediate Certification Authorities |
AuthRoot | Third-Party Root Certification Authorities |
TrustedPublisher | Trusted Publishers |
Trust | Enterprise Trust |
UserDS | Active Directory User Object |
Выбор сертификатов
Когда вы работаете с сертификатами, вам понадобится способ фильтрации и выбора сертификатов для выполнения определенных операций. В большинстве случаев вы будете фильтровать и выбирать сертификаты на основе значения определенного расширения.
Для следующих примеров вам нужно начать с перечисления всех установленных сертификатов в хранилище корневого ЦС.
Get-ChildItem -Path 'Cert:CurrentUserRoot'
Возвращенные объекты будут объектами сертификатов, которые вы можете использовать в следующих примерах.
Общие расширения уже доступны как свойства объектов сертификата. В приведенном ниже примере вы используете Get-Member для вывода списка всех свойств возвращаемых объектов.
Get-ChildItem -Path 'Cert:CurrentUserRoot' | Get-Member -MemberType Properties
Как видим, некоторые из этих расширений, например «Issuer», помогают найти сертификат, который вы ищете. Расширения предоставляют информацию о сертификате, например, кому он выдан, для чего его можно использовать и любые ограничения на него.
В более сложных случаях использования вам может понадобиться найти сертификаты других расширений, таких как используемый шаблон сертификата. Сложность в том, что значения этих расширений возвращаются как массив целых чисел. Эти целые числа соответствуют содержимому в кодировке ASN.1.
Покажем пример взаимодействия с свойствами типа ScriptProperty. В приведенной ниже команде вы извлекаете Key Usages.
((Get-ChildItem -Path 'Cert:CurrentUserRoot' | Select -First 1).Extensions | Where-Object {$_.Oid.FriendlyName -eq 'Key Usage'}).format($true)
Новая часть, которую мы вводим в приведенной выше команде, — это метод форматирования, который выполняет декодирование ASN.1. Вы передаете ему логическое значение (например, $true), чтобы определить, хотим ли мы, чтобы возвращаемый объект был однострочным или многострочным.
Попробуем использовать значение Thumbprint из сертификата в приведенной ниже команде. Значение Thumbprint устанавливается как переменная PowerShell и используется для выбора конкретного сертификата в приведенных ниже командах.
$thumb = "cdd4eeae6000ac7f40c3802c171e30148030c072"
Get-ChildItem -Path 'Cert:CurrentUserRoot' | Where-Object {$_.Thumbprint -eq $thumb}
Создание самозаверяющих (self-signed) сертификатов с помощью PowerShell
PowerShell может создавать самозаверяющие (self-signed) сертификаты с помощью командлета New-SelfSignedCertificate. Самозаверяющие сертификаты полезны для тестирования, поскольку они позволяют генерировать пару открытого и закрытого ключей без использования центра сертификации.
Теперь давайте создадим самозаверяющий сертификат в хранилищах текущего пользователя и локального компьютера, чтобы использовать его в примерах для следующих шагов.
В приведенном ниже примере PowerShell создает пару открытого и закрытого ключей, самозаверяющий сертификат и устанавливает их все в соответствующие хранилища сертификатов.
New-SelfSignedCertificate -Subject 'User-Test' -CertStoreLocation 'Cert:CurrentUserMy'
New-SelfSignedCertificate -Subject 'Computer-Test' -CertStoreLocation 'Cert:LocalMachineMy'
Использование самозаверяющих сертификатов для продуктивных сервисов не рекомендуется, поскольку не существует всех механизмов, основанных на доверии.
Импорт и экспорт сертификатов в MMC
Криптография с открытым ключом основана на широкой доступности открытого ключа. Учитывая это, вам нужны стандартные способы эффективного обмена сертификатами. Не менее важна безопасность ваших личных ключей. Хранение закрытых ключей на недоступных носителях или с материалами для аварийного восстановления — обычная практика для определенных закрытых ключей.
Оба они требуют способов хранения этих криптографических объектов в стандартных форматах. Экспорт предоставляет функции для сохранения этих объектов и обеспечения использования широко распространенных стандартных форматов файлов. Импорт позволяет вам переносить криптографические объекты в операционные системы Windows.
Экспорт сертификатов из MMC относительно прост. Чтобы экспортировать сертификат без закрытого ключа, щелкните сертификат в MMC, выберите меню «Все задачи», а затем «Экспорт».
Во время экспорта вам будет предложено указать формат файла, как показано ниже. Наиболее распространены варианты кодирования — DER или Base-64
Экспорт закрытых ключей
Чтобы экспортировать сертификат с соответствующим закрытым ключом, вы должны соответствовать двум критериям:
- Вошедшая в систему учетная запись должна иметь разрешение на закрытый ключ (только для сертификатов компьютеров);
- Закрытый ключ должен быть помечен как экспортируемый.
Чтобы проверить разрешения для закрытых ключей локального компьютера, вы можете выбрать сертификат с закрытым ключом, выбрать «Все задачи» и «Управление закрытыми ключами» в MMC «Сертификаты». В открывшемся диалоговом окне отображаются записи управления доступом для закрытых ключей.
Когда выше обозначенные условия выполнены, вы можете выбрать сертификат, щелкнуть «Все задачи», а затем «Экспорт», как если бы вы использовали сертификат только с открытым ключом. При экспорте теперь у вас должна присутствовать возможность выбора экспорта закрытого ключа («Yes, export the private key»), как показано ниже.
Когда вы экспортируете закрытый ключ в Windows, вы можете сохранить файл только как PFX. Этот и другие типы файлов и форматы кодирования подробно описаны в этом посте.
Для остальных параметров, отображаемых в мастере экспорта, вы можете использовать значения по умолчанию. В таблице ниже приводится краткое изложение каждого из них.
Настройка | Описание |
---|---|
Including all certificates in the certification path if possible | Помогает с переносимостью эмитентов сертификатов и включает все соответствующие открытые ключи в PFX. |
Delete the private key if the export is successful | Удаляет закрытый ключ из файла и имеет несколько распространенных вариантов использования, но одним из примеров является проверка доступа к закрытым ключам. |
Export all extended properties | Будет включать любые расширения в текущем сертификате, они относятся к сертификатам [конкретные настройки] для интерфейсов Windows. |
Enable certificate privacy | Обычно в экспортируемом PFX-файле шифруется только закрытый ключ, этот параметр шифрует все содержимое PFX-файла. |
Group or user names | Вы можете использовать участника безопасности группы или пользователя из Active Directory для шифрования содержимого файла PFX, но пароль является наиболее переносимым вариантом для устаревших систем или компьютеров, не присоединенных к тому же домену. |
Импорт сертификатов
Функция импорта одинакова для всех поддерживаемых типов файлов сертификатов. Единственная разница в том, что если файл содержит закрытый ключ, вы можете «Отметить этот ключ как экспортируемый», о чем вы узнаете подробнее ниже. Windows будет использовать мастер импорта сертификатов.
При использовании мастера импорта сертификатов для PFX вам потребуется указать пароль, используемый для шифрования закрытого ключа. Вот еще один обзор вариантов импорта.
Настройка | Описание |
---|---|
Enable strong private key protection | Требуется пароль для каждого доступа к закрытому ключу. Будьте осторожны с новыми функциями, поскольку они не будут поддерживаться во всех программах. |
Mark this key as exportable | Вы должны стараться избегать использования этого параметра в любой конечной системе, закрытые ключи следует рассматривать так же, как и хранение паролей. |
Protect private key using [virtualization-based security] | Этот параметр обеспечивает дополнительные функции безопасности для защиты закрытых ключей от сложных атак вредоносного ПО. |
Include all extended properties | Относится к тем же настройкам Windows, что и при экспорте. |
Сертификаты для подписи кода PowerShell — хороший вариант использования надежной защиты закрытого ключа.
С автоматическим размещением сертификатов следует проявлять осторожность. Скорее всего, вы получите наилучшие результаты, выбрав хранилище сертификатов вручную.
Импорт и экспорт сертификатов в PowerShell
Теперь с помощью PowerShell экспортируйте один из самозаверяющих сертификатов, которые вы создали ранее. В этом примере вы выбираете сертификат в личном логическом хранилище CurrentUser, который был самозаверяющим.
$certificate = Get-Item (Get-ChildItem -Path 'Cert:CurrentUserMy' | Where-Object {$_.Subject -eq $_.Issuer}).PSPath
Теперь, когда вы выбрали сертификат, вы можете использовать команду Export-Certificate, чтобы сохранить файл в кодировке DER, используя команду ниже.
Export-Certificate -FilePath $env:USERPROFILEDesktopcertificate.cer -Cert $certificate
Теперь давайте посмотрим на экспорт закрытого ключа. Ниже вы проверяете, что у выбранного сертификата есть закрытый ключ. Если он не возвращает True, то команда Get-Item, скорее всего, выбрала неправильный сертификат.
$certificate.HasPrivateKey
Ниже вы установите пароль, который будет использоваться для шифрования закрытого ключа. Затем экспортируйте выбранный сертификат в файл PFX и используйте пароль, который вы ввели ранее, чтобы зашифровать файл.
$pfxPassword = "ComplexPassword!" | ConvertTo-SecureString -AsPlainText -Force
Export-PfxCertificate -FilePath $env:USERPROFILEDesktopcertificate.pfx -Password $pfxPassword -Cert $certificate
В случае, если необходимо выполнить импорт, как и при экспорте, есть две команды. Одна команда для импорта сертификатов и одна для импорта файлов PFX.
Ниже команда Import-Certificate импортирует файл в формате DER, который вы экспортировали ранее, в личное хранилище текущего пользователя.
Import-Certificate -FilePath $env:USERPROFILEDesktopcertificate.cer -CertStoreLocation 'Cert:CurrentUserMy'
Допустим, вы тоже хотите установить закрытый ключ этого сертификата.
$pfxPassword = "ComplexPassword!" | ConvertTo-SecureString -AsPlainText -Force
Import-PfxCertificate -Exportable -Password $pfxPassword -CertStoreLocation 'Cert:CurrentUserMy' -FilePath $env:USERPROFILEDesktopcertificate.pfx
Имейте в виду, что пароль должен быть защищенной строкой. Кроме того, если вы импортируете в хранилище локального компьютера (например, «Cert:LocalMachine«), вам нужно будет запустить команду из командной строки администратора с повышенными привилегиями.
В приведенном выше примере вы также используете параметр -Exportable с командой, отмечая закрытый ключ как экспортируемый в будущем. По умолчанию (без указания этого параметра) экспорт не используется. Экспортируемые закрытые ключи – отельный аспект информационной безопасности, заслуживающий отдельного внимания.
Удаление сертификатов с помощью PowerShell
При удалении сертификатов помните, что понятие «Корзина Windows» в этом случае отсутствует. Как только вы удалите сертификат, он исчезнет! Это означает, что очень важно подтвердить, что вы удаляете правильный сертификат, путем проверки уникального идентификатора, такого как серийный номер или значение расширения Thumbprint.
Как и выше, в приведенной ниже команде мы выбираем самозаверяющий сертификат из личного хранилища текущего пользователя.
$certificate = Get-Item (Get-ChildItem -Path 'Cert:CurrentUserMy' | Where-Object {$_.Subject -eq $_.Issuer}).PSPath
Ниже вы можете увидеть свойства отпечатка, серийного номера и темы для выбранного сертификата, чтобы убедиться, что это именно тот сертификат, который вы собираетесь выбрать.
$certificate.Thumbprint
$certificate.SerialNumber
$certificate.Subject
Убедитесь, что вы выбрали правильный сертификат, который собираетесь удалить.
Приведенная ниже команда удаляет все выбранные объекты сертификата, используйте с осторожностью! Передав объект $certificate через конвейер в командлет Remove-Item в приведенной ниже команде, вы удалите все содержимое сертификата без каких-либо запросов на проверку.
$certificate | Remove-Item
Резюме
На протяжении всей этой статьи вы работали с сертификатами в Windows, изучая, как получить к ним доступ, и некоторые инструменты, которые можно использовать при работе с ними. По этой теме можно изучить гораздо больше, в том числе о том, как связать установленные сертификаты с конкретными службами или даже о том, как реализовать инфраструктуру закрытого открытого ключа (PKI) путем развертывания собственных центров сертификации (CA).
Содержание
- Введение
- Что такое сертификат PFX
- Логические хранилища
- Модуль PKI
- Поиск и выбор сертификата
- Создание сертификата
- Установка сертификата pfx
- Добавление сертификата в список доверенных
- Проверка наличия дубликата сертификата
- Экспорт и импорт сертификата
- Экспорт сертификата pfx
- Импорт сертификата pfx
- Как экспортировать сертификат cer из pfx
- Удаление сертификата
- Удаление с помощью thumbprint
- Поиск и удаление сертификата с помощью сопоставления значений
- Диспетчер сертификатов Windows
Введение
Сертификат – это контейнер для открытого ключа. Он включает в себя такую информацию как значение открытого ключа, имя сервера или пользователя, некоторую дополнительную информацию о сервере или пользователе, а также содержит электронную подпись, сформированную издающим центром сертификации (ЦС). Ранее мы уже писали о работе с сертификатами pfx с помощью openssl, теперь рассмотрим использование встроенных средств, а именно powershell.
Что такое сертификат PFX
Файл .pfx, который не следует путать с .cer, представляет собой архив PKCS#12; это пакет, который может содержать несколько объектов с дополнительной защитой паролем. Обычно он содержит сертификат (возможно, со своим набором цепочки сертификатов верхнеуровневых УЦ) и соответствующий закрытый ключ. В то время как PFX может содержать в себе несколько сертификатов, файл .cer содержит один единственный сертификат без пароля и закрытого ключа. В Windows все сертификаты находятся в логических местах хранения, называемых хранилищами сертификатов.
Одним из самых распространенных областей применения сертификатов PFX является подпись кода (code signing). Также, в случае защиты надежным паролем pfx можно передавать по открытым каналам связи.
Логические хранилища
Логические хранилища – это виртуальные месторасположения, в которых которых локально храняться сертификаты как для пользователя так и для компьютера. Powershell использует Cert PSDrive для сопоставления сертификатов с физическими хранилищами. Наименование логических хранилищ Certificates Microsoft Management Console (MMC) отличается от маркировки хранилища Cert PSDrive. В таблице ниже показано сравнение между ними:
CERT: | CERTIFICATES MMC |
---|---|
My | Личные |
Remote Desktop | Удаленный рабочий стол |
Root | Доверенные корневые центры сертификации |
CA | Промежуточные центры сертификации |
AuthRoot | Сторонние корневые центры сертификации |
TrustedPublisher | Доверенные издатели |
Trust | Доверительные отношения в предприятии |
UserDS | Объект пользователя Active Directory |
Модуль PKI
Утилита MakeCert.exe, входящая в состав Microsoft .NET Framework SDK и Microsoft Windows SDK, используется для создания самоподписанного сертификата. В системе, где не установлен Windows SDK, для управления сертификатами используются команды модуля Powershell PKI.
Чтобы перечислить все команды, доступные в модуле PKI, выполните следующую команду:
Get-Command -Module PKI
Командлеты, используемые в этой статье, описаны ниже:
Export-PfxCertificate
Командлет Export-PfxCertificate экспортирует сертификат или объект PFXData в файл Personal Information Exchange (PFX). По умолчанию экспортируются расширенные свойства и вся цепочка.
Get-Certificate
КомандлетGet-Certificate можно использовать для отправки запроса на сертификат и установки полученного сертификата, установки сертификата из запроса на сертификат, а также для регистрации в службе каталогов протокола LDAP.
Get-PfxData
Командлет Get-PfxData извлекает содержимое файла Personal Information Exchange (PFX) в структуру, содержащую сертификат конечного субъекта, любые промежуточные и корневые сертификаты.
Import-PfxCertificate
КомандлетImport-PfxCertificate импортирует сертификаты и закрытые ключи из файла PFX в локальное хранилище.
New-SelfSignedCertificate
Командлет New-SelfSignedCertificate создает самоподписанный сертификат. С помощью параметра CloneCert указанный сертификат может быть создан на основе существующего сертификата с копированием всех параметров из оригинального сертификата, за исключением открытого ключа.
Поиск и выбор сертификата
В Powershell Cert: PSDrive используется для вывода списка сертификатов в определенном хранилище. Чтобы вывести оба хранилища в Cert: PSDrive, выполните следующую команду:
Get-ChildItem -Path Cert:
Будут показаны месторасположения сертификатов для CurrentUser и LocalMachine. Чтобы перечислить сертификаты для доверенных корневых центров сертификации LocalMachine, выполните следующую команду:
Get-ChildItem -Path Cert:LocalMachineRoot
Возвращаемый объект будет представлять собой сертификаты, которые можно изменить, удалить или экспортировать.
Команду Get-ChildItem можно комбинировать с Where-Object для поиска конкретных сертификатов. Приведенная ниже команда найдет сертификат, предположительно выданный Microsoft, проверяя свойство Subject сертификатов:
Get-ChildItem -Path Cert:LocalMachineRoot | Where-Object {$_.Subject.Contains("Microsoft")}
У выведенных в сертификатов часть значения Subject будет содержать Microsoft.
Создание сертификата
Для создания сертификата необходимо указать значения -DnsName (имя DNS-сервера) или -Subject и -CertStoreLocation (хранилище сертификатов, в которое будет помещен созданный сертификат). Чтобы создать сертификат для DNS itsecforu-test.com и установить его в список Личные сертификаты в системе, выполните следующую команду:
New-SelfSignedCertificate -DnsNameitsecforu-test.com -CertStoreLocation cert:CurrentUserMy
Команда генерирует новый сертификат и устанавливает его в личное хранилище пользователя. При открытии certmgr.msc ( certlm.msc – для локального компьютера соответственно ) сертификат появится в разделе Personal. В выводе будут показаны сведения о только что созданном сертификате, включая его отпечаток:
По умолчанию самоподписанный сертификат генерируется со следующими настройками:
- Криптографический алгоритм: RSA;
- Длина ключа: 2048 бит;
- Допустимое использование ключа: Проверка подлинност клиента и Проверка подлинности сервера;
- Сертификат может быть использован для цифровой подписи, шифрования ключей;
- Срок действия: 1 год.
Срок действия сгенерированного сертификата ограничен одним годом. Для увеличения срока действия сертификата необходимо указать соответствующий атрибут Date с увеличенным значением срока действия с помощью ключа -notafter. Чтобы выпустить сертификат на 5 лет, выполните приведенную ниже команду:
$expiry_year = (Get-Date).AddYears(5)
New-SelfSignedCertificate -DnsName itsecforu-test.com -notafter $expiry_year -CertStoreLocation Cert:CurrentUserMy
Новые сертификаты могут быть созданы только в личных хранилищах Cert:LocalMachineMy или Cert:CurrentUserMy. Выполните приведенную ниже команду help для просмотра всех остальных параметров, принимаемых командой New-SelfSignedCertificate:
help New-SelfSignedCertificate -Full
Установка сертификата pfx
Сертификат может быть установлен в различные места хранения, каждое место хранения имеет свое определенное назначение, но в этой статье мы будем устанавливать в четыре места Cert:CurrentUserMy, Cert:LocalMachineMy, Cert:CurrentUserRoot и Cert:LocalMachineRoot. Расположение My является личным хранилищем для ненадежных приложений, а Root – хранилищем для доверенных сертификатов.
Команда, используемая для установки общего сертификата, отличается от команды для установки сертификата PFX. Для установки сертификата pfx используется команда Powershell Import-PfxCertificate.
Чтобы установить сертификат PFX в личное хранилище текущего пользователя, используйте следующую команду:
Import-PfxCertificate -FilePath ./itsecforu.pfx -CertStoreLocation Cert:CurrentUserMy -Password P@sw0rd
Для установки в личное местоположение системы измените местоположение хранилища в команде выше с Cert:CurrentUserMy на Cert:LocalMachineMy.
Чтобы установить PFX сертификат в доверенное хранилище текущего пользователя, используйте следующую команду:
Import-PfxCertificate -FilePath ./itsecforu.pfx -CertStoreLocation Cert:CurrentUserRoot -Password P@sw0rd
При установке в корневое расположение текущего пользователя появится диалоговое окно для подтверждения установки сертификата, но при установке в системное корневое расположение никакого диалога не появится. Для установки в системное доверенное место измените расположение хранилища в команде выше с Cert:CurrentUserRoot на Cert:LocalMachineRoot.
Добавление сертификата в список доверенных
Недоверенный сертификат гораздо опаснее и подозрительнее, чем отсутствие сертификата вообще, поэтому важно добавить наш сертификат в доверенные корневые сертификаты.
Сертификаты могут быть созданы только в хранилище Cert:LocalMachineMy или Cert:CurrentUserMy . Поскольку любой сертификат в этом месте по умолчанию помечен как недоверенный, чтобы сделать его легитимным, необходимо его переместить из Cert:LocalMachineMy или Cert:CurrentUserMy в Cert:LocalMachineRoot и Cert:CurrentUserRoot соответственно.
Move-Item -Path$cert-Destination "Cert:LocalMachineRoot"
Проверка наличия дубликата сертификата
Чтобы избежать повторного добавления уже существующего сертификата в хранилище сертификатов, перед добавлением нового сертификата с тем же значением Subject следует проверить и удалить уже имеющийся сертификат. Powershell автоматически создает путь виртуального диска для метки cert: и ведет себя как обычный каталог. В приведенном ниже фрагменте проверяется путь cert:LocalMachineMy хранилища сертификатов, чтобы найти сертификат по значению Subject.
$cert_name = "itsecforu-test.com" ForEach ($cert in (ls cert:CurrentUserMy)) { If ($cert.Subject -eq "CN=$cert_name") { //the certificate can be deleted or edited in here } }
Экспорт и импорт сертификата
Команды для импорта и экспорта pfx-сертификата отличаются от команд для экспорта и импорта обычного сертификата. Команда Import-PfxCertificate используется для импорта запароленного сертификата pfx, а команда Export-PfxCertificate – для экспорта сертификата из места хранения в новое местоположение файла.
Экспорт сертификата pfx
Для экспорта сертификата pfx необходим пароль для шифрования закрытого ключа. В приведенном ниже примере мы используем значение Subject для поиска экспортируемого сертификата, выбрав сертификат, значение Subject которого равно itsecforu-test.com
$certificate = Get-ChildItem -Path Cert:CurrentUserMy | Where-Object {$_.Subject -match "itsecforu-test.com"} После выбора сертификата его можно экспортировать из места хранения в папку с помощью приведенной ниже команды: $pass= "Qwerty123" | ConvertTo-SecureString -AsPlainText -Force Export-PfxCertificate -Cert $certificate -FilePath $env:USERPROFILEDocumentsitsecforu-test.com.pfx -Password $pass
Импорт сертификата pfx
Скаченные или экспортированные сертификаты pfx можно установить с помощью команды Import-PfxCertificate. Для импорта требуется пароль для сертификата и местоположение.
Команда ниже импортирует сертификат pfx, который мы экспортировали ранее:
$password= "Qwerty123" | ConvertTo-SecureString -AsPlainText -Force Import-PfxCertificate -Exportable -Password $password -CertStoreLocation Cert:CurrentUserMy -FilePath $env:USERPROFILEDocumentsitsecforu-test.com.pfx
Параметр -Exportable отмечает закрытый ключ как экспортируемый.
Как экспортировать сертификат cer из pfx
Для экспорта сертификата из файла pfx используется комбинированная команда Get-PfxCertificate и Export-Certificate. Get-PfxCertificate используется для поиска сертификата pfx, а Export-Certificate – для экспорта указанного сертификата в FilePath. Требуется ввод пароля от pfx контейнера Ниже приведенная команда экспортирует сертификат в кодировке DER (двоичный) из файла pfx.
Get-PfxCertificate -FilePath "C:certsTest.pfx" | Export-Certificate -FilePath "C:certsTest.cer" -Type CERT
Обратите внимание на параметр-Type, который используется для указания типа экспортируемого сертификата, в данном примере это сертификат CERT в кодировке DER (двоичный). Существуют и другие типы, они перечислены ниже.
-Type <CertType> Указывает тип выходного файла для экспорта сертификатов следующим образом. -- SST: формат файла Microsoft serialized certificate store (.sst), который может содержать один или несколько сертификатов. Это значение по умолчанию для нескольких сертификатов. -- CERT: формат файла .cer, который содержит один сертификат в DER-кодировке. Это значение по умолчанию для одного сертификата. -- P7B: формат файла PKCS#7, который может содержать один или несколько сертификатов.
Удаление сертификата
Для удаления сертификата можно использовать команду Remove-Item в Powershell. Перед удалением сертификата необходимо узнать его значение thumbprint (отпечатка) или определить сам объект сертификата.
Удаление с помощью thumbprint
В приведенном ниже фрагменте для удаления используется отпечаток сертификата…
Get-ChildItem Cert:CurrentUserMy7da4d700318ee2a08f96aab9bc71990ca6376053| Remove-Item
Поиск и удаление сертификата с помощью сопоставления значений
Сертификат можно искать в хранилище с помощью команды Where-Object, которая принимает условный оператор, соответствующий искомому сертификату.
Get-ChildItem Cert:CurrentUserMy | Where-Object { $_.Subject -match 'itsecforu-test.com' } | Remove-Item
Обратите внимание, что мы используем значения поля сертификата Subject , другие возможные параметры – Thumbprint и SerialNumber.
Диспетчер сертификатов Windows
Диспетчер сертификатов Windows (certmgr.msc) – это приложение с графическим интерфейсом Windows для управления сертификатами. Найдите certmgr в меню Пуск, чтобы открыть Windows Certificates MMC или введите certmgr.msc в командной строке. Вид консоли предоставляет собой обзор всех локальных хранилищ.
Сертификаты можно устанавливать, удалять, импортировать и экспортировать из диспетчера сертификатов Windows.
Поддержка GlobalSign
- Откройте MMC (Пуск> Выполнить> MMC).
- Перейдите в File> Add / Remove Snap In.
- Дважды щелкните Сертификаты.
- Выберите Учетная запись компьютера.
- Выберите «Локальный компьютер»> «Готово».
- Щелкните OK, чтобы закрыть окно Snap-In.
- Щелкните [+] рядом с «Сертификаты»> «Личные»> «Сертификаты».
- Щелкните правой кнопкой мыши «Сертификаты» и выберите «Все задачи»> «Импорт».
Как установить сертификат вручную?
Установите промежуточные сертификаты или корневые сертификаты вручную
- Нажмите «Пуск», затем выберите «Выполнить» и введите mmc.
- Щелкните Файл и выберите Добавить / удалить привязку.
- Выберите «Добавить», выберите «Сертификаты» в списке «Автономная оснастка» и нажмите «Добавить».
- Выберите «Учетная запись компьютера» и нажмите «Далее».
- Выберите «Локальный компьютер» и нажмите «Готово».
Как установить сертификат?
Установить сертификат
- Откройте приложение «Настройки» вашего телефона.
- Коснитесь Security Advanced. Шифрование и учетные данные.
- В разделе «Хранилище учетных данных» нажмите «Установить сертификат». Сертификат Wi-Fi.
- В левом верхнем углу нажмите на значок.
- В разделе «Открыть из» нажмите, где вы сохранили сертификат.
- Коснитесь файла. …
- Введите имя сертификата.
- Нажмите «ОК».
Как вручную добавить сертификаты в локальное хранилище сертификатов?
Как я могу импортировать сертификаты в хранилище сертификатов локального компьютера MS Windows?
- Введите Пуск | Беги | MMC.
- Щелкните Файл | Добавить / удалить оснастку.
- В окне «Добавить или удалить оснастки» выберите «Сертификаты» и нажмите «Добавить».
- При появлении запроса выберите переключатель Учетная запись компьютера и нажмите Далее.
Как мне найти сертификаты на моем компьютере?
Для просмотра сертификатов текущего пользователя
- В меню «Пуск» выберите «Выполнить» и введите certmgr. msc. Появится инструмент диспетчера сертификатов для текущего пользователя.
- Чтобы просмотреть свои сертификаты, в разделе «Сертификаты — текущий пользователь» на левой панели разверните каталог для типа сертификата, который вы хотите просмотреть.
Как загрузить самозаверяющий сертификат?
Скачивание и импорт самозаверяющего сертификата
- Щелкните в области ошибки сертификата.
- Щелкните Просмотр сертификата.
- Щелкните вкладку Details.
- Проверить сертификат.
- Выберите Копировать в файл…
- Используйте мастер экспорта сертификатов, чтобы сохранить сертификат как файл X. 64 в кодировке Base-509.
Как установить URL-адрес сертификата?
Google Chrome
- Нажмите кнопку «Безопасность» (замок) в адресной строке.
- Щелкните Сертификат (действительный).
- Перейдите на вкладку Details.
- Нажмите кнопку «Копировать в файл…».
- Нажмите кнопку Далее.
- Выберите «X с кодировкой Base-64».
- Укажите имя файла, в который вы хотите сохранить сертификат SSL.
- Нажмите кнопки «Далее» и «Готово».
Как мне вручную установить сертификат Securly SSL в Windows?
В окне консоли управления Microsoft щелкните «Сертификаты (локальный компьютер)». Щелкните правой кнопкой мыши «Надежный корень. Сертификация Полномочия »на левой панели и выберите« Все задачи », а затем« Импорт ». Нажмите «Далее» в «Мастере импорта сертификатов». Найдите место, где вы сохранили сертификат Securly, и выберите его.
Как вручную установить сертификат Securly SSL в Chrome?
Безопасная ручная установка SSL-сертификата в Chrome
- Нажмите «Показать дополнительные настройки», выделенные ниже.
- В разделе HTTPS / SSL нажмите Управление сертификатами.
- Щелкните вкладку «Авторитеты».
- Нажмите на Импорт.
- Импортируйте файл «securly_self_signed_cert_exp_20200130.pem», выбрав файл и нажав «Открыть».
Как включить SSL-сертификат?
Включить SSL / TLS в Google Chrome
- Откройте Google Chrome.
- Нажмите Alt + f и выберите настройки.
- Выберите опцию Показать дополнительные настройки.
- Прокрутите вниз до раздела «Сеть» и нажмите кнопку «Изменить настройки прокси».
- Теперь перейдите на вкладку Advanced.
- Прокрутите вниз до категории «Безопасность».
- Теперь установите флажки для вашей версии TLS / SSL.
Как установить корневой сертификат?
Установите корневые сертификаты на Android
- Подключите телефон к ПК с помощью USB-кабеля.
- Щелкните Продолжить на веб-сайт.
- В адресной строке щелкните сертификат правой кнопкой мыши и выберите Просмотреть сертификаты.
- В диалоговом окне сертификата щелкните вкладку «Подробности».
- Щелкните Копировать в файл.
- В мастере выберите двоичный код X в кодировке Base-64.
Как экспортировать закрытый ключ из сертификата?
Перейдите в: Сертификаты> Личные> Сертификаты. Щелкните правой кнопкой мыши сертификат, который вы хотите экспортировать, перейдите в раздел «Все задачи» и нажмите «Экспорт». Нажмите «Далее» в мастере экспорта сертификатов, чтобы начать процесс. Выберите «Да, экспортировать закрытый ключ» и нажмите «Далее».
Как добавить доверенный сертификат в Windows?
Разверните Политики> Параметры Windows> Параметры безопасности> Политики открытого ключа. Щелкните правой кнопкой мыши Trusted Root Certification. Полномочия и выберите Импорт. Нажмите «Далее» и «Обзор», чтобы выбрать сертификат ЦС, который вы скопировали на устройство. Щелкните Готово, а затем ОК.
Где сертификат локального компьютера?
Это хранилище сертификатов находится в реестр под корнем HKEY_LOCAL_MACHINE. Этот тип хранилища сертификатов является локальным для учетной записи пользователя на компьютере.
Как добавить сертификат в связку ключей на моем компьютере?
Щелкните значок, чтобы запустить приложение, затем щелкните меню «Файл» и «Импортировать элементы». Найдите файл корневого сертификата и выберите «Система» в раскрывающемся списке «Целевая связка ключей».вниз по меню. Введите свой пароль, если будет предложено это сделать, и войдите в систему и выйдите из нее, или перезагрузите его.
ЕСЛИ вы хотите сэкономить время на интернет-запросах и процедурах, мы покажем вам, как установить и экспортировать цифровой сертификат под ОС Windows 10.
Некоторые действия, которые мы часто выполняем в Интернете, требуют, чтобы мы идентифицировали себя, чтобы убедиться, что мы имеем право на такие действия.
Здесь на помощь приходят цифровые сертификаты, которые представляют собой записи, содержащие информацию, такую как данные и сертификаты, которые идентифицируют человека и разрешают ему или ей выполнять определенные онлайн-процедуры или запросы .
Его утилиты разнообразны, например, для идентификации на правительственных страницах, в банках и т. Д. А также электронная подпись цифровые документы безопасным способом.
При установке этих сертификатов в Windows 10 файлы сохраняются в защищенном каталоге операционной системы и будут использоваться приложениями, которые их запрашивают.
Перед установкой сертификатов
Установка сертификат в Windows 10 предназначен для хранения файлов, содержащих учетные данные цифрового человека в операционной системе.
Перед выполнением этой установки рекомендуется проверить, что версия более актуальная Windows 10 установлен , если у вас его нет, лучше всего обновить.
При установке сертификата лучше не менять пользователь или браузер , чтобы избежать конфликта и остановить процесс. Иногда такие установки обнаруживаются антивирусом как подозрительная активность, лучше на мгновение отключить.
. файлы цифровые сертификаты обычно есть .pfx или .p12, хотя есть и другие варианты. Найдите файл и дважды щелкните его, чтобы запустить мастер установки.
Вы также можете запустить процесс, набрав certmgr.msc в строке поиска меню «Пуск». Первое, что нужно сделать, это определить, какие пользователи могут использовать этот сертификат.
Если к вашему компьютеру имеет доступ много людей, лучше всего авторизовать только вашего пользователя, но вы можете авторизовать столько, сколько захотите.
Ensuite, выберите путь где вы хотите разместить файлы. Затем вам необходимо ввести пароль, предоставленный авторизованным сайтом при загрузке файла.
Выберите желаемый вариант экспорта. Если вы выберете Включить защиту секретного ключа, вы будете получать уведомление при каждом использовании сертификата.
Пока вариант Marquer этот ключ как экспортируемый позволит вам сделать столько копий сертификата, сколько захотите. Имейте в виду, что вы не сможете изменить эту конфигурацию позже.
Чтобы продолжить процесс установки, необходимо выбрать параметр «Включить все расширенные свойства». Оставьте путь установки, который операционная система выбирает по умолчанию, тогда, когда приложение запрашивает это разрешение, оно будет иметь правильный путь.
После установки вы увидите сводку процесса, убедитесь, что все правильно, и нажмите кнопку Заканчивать. Ваш сертификат будет установлен и готов к использованию.
Экспорт цифрового сертификата в Windows 10
Обычно экспорт Цифровой сертификат включает сохранение этой информации, чтобы использовать ее на другом компьютере или установить в другой операционной системе.
Этот процесс выполняется через браузер, который вы используете на своем компьютере. Хотя процессы довольно похожи, они могут отличаться на некоторых этапах.
Чтобы экспортировать цифровой сертификат в Гугл Хром, иди на путь Конфигурация> Расширенная конфигурация> Конфиденциальность и безопасность> Управление сертификатами.
Во всплывающем окне выберите нужный сертификат и нажмите кнопку «Экспорт», чтобы запустить мастер экспорта.
Выберите параметры закрытого ключа и желаемый формат. Будет создан файл с необходимой информацией; назначить имя и место для завершения.
В браузере Internet Explorer перейдите в Инструменты> Свойства обозревателя и выберите опцию Содержимое. Коснитесь параметра «Сертификаты» и выберите вкладку «Личные». Вы должны продолжить процесс с тем же мастером, что и в Chrome.
Если вы используете Mozilla Firefox, путь будет следующим: Параметры> Конфиденциальность и безопасность> Сертификаты> Просмотр сертификатов. Выберите желаемый сертификат и нажмите Сделать копию.
Назначьте имя и местонахождение для сохранения резервной копии, если сертификат имеет закрытый ключ, вы должны ввести его для завершения.
Если вы хотите экспортировать цифровой сертификат на USB-накопитель, чтобы импортировать его на другой компьютер, эта статья для вас.
Содержание
- Как экспортировать сертификат ЭЦП из КриптоПро и импортировать его на другой компьютер
- Способы переноса
- Копирование с помощью средств КриптоПро
- Копирование сертификата и ключа в файл
- Массовый перенос сертификатов и ключей на новый компьютер
- Копирование
- Перенос и установка
- Как выполнить экспорт или импорт сертификатов и ключей Windows
- Импорт сертификата и закрытого ключа
- Экспорт сертификата и закрытого ключа
- Перенос контейнеров закрытых ключей и сертификатов CryptoPro
- Копирование закрытого ключа через оснастку КриптоПро
- Ошибка копирования контейнера
- Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
- Как скопировать корневые сертификаты с одного компьютера на другой
- Когда нужно переносить сертификаты в другое место?
- Как видите предпосылок и вариантов переноса сертификатов из реестра на другой компьютер, предостаточно.
- Перенос сертификатов в виде пошаговой инструкции
- Копирование закрытого ключа из КриптоПро
- Перенос сертификатов из реестра без КриптоПРО
- Массовый перенос ключей и сертификатов CryptoPro на другой компьютер
- Как скопировать контейнер с сертификатом на другой носитель
- Копирование средствами Windows
- Копирование на профиле Диагностики
- Массовое копирование
- Копирование с помощью КриптоПро CSP
- Экспорт PFX-файла и его установка
- Копирование контейнера из реестра другого пользователя
Как экспортировать сертификат ЭЦП из КриптоПро и импортировать его на другой компьютер
Криптопровайдер КриптоПро предназначен для работы с криптографическими операциями. Это нужно при работе с интернет-банкингом, ЭЦП, электронной подачей отчетов в налоговую инспекцию и другие государственные органы. Тем, кто часто работает с токенами, сертификатами, закрытыми ключами и прочими криптопрограммами с помощью КриптоПро, часто приходится переносить и копировать большое количество контейнеров. Криптопровайдер имеет штатный механизм для этого, но он работает только в ручном режиме и крайне неудобен при работе с большими массивами данных. Поэтому если требуется сменить рабочий компьютер или воспользоваться сервисом с другого рабочего места, приходится иногда устраивать настоящие «пляски с бубном». Однако есть способы, как ускорить эту процедуру.
Способы переноса
Всего в КриптоПро предусмотрено два варианта копирования ключей и сертификатов:
Далее рассмотрены будут оба способа, но особое внимание будет уделяться именно второму. Дело в том, что иногда он — единственный доступный способ сделать работающую копию. Также уточним, что речь будет идти о переносе лишь тех контейнеров ключа, которые вписаны в реестр Windows. При хранении на токене копировать ключи не нужно, потребуются на новом компьютере лишь сертификаты.
Копирование с помощью средств КриптоПро
Штатный способ копирования контейнеров и сертификатов в КриптоПро таков:
Алгоритм прост, но есть один момент, который портит всю картину: работает метод лишь в том случае, если еще на этапе создания ключа он получил отметку «Экспортируемый». Если такого флага не было проставлено, система выдаст сообщение: «Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии».
При получении такого сообщения можно смело переходить ко второму способу копирования ключей.
Копирование сертификата и ключа в файл
Если необходимо сделать копию для работы на другом компьютере, но нет возможности использовать токен, придется слегка повозиться: КриптоПро сам по себе не дает возможности переносить закрытый ключ в виде файла.
Здесь надо действовать так:
Для установки контейнера ключа и сертификата надо дважды щелкнуть по каждому файлу мышью. Откроется программа-мастер по установке, после этого достаточно указать для каждого параметра «По умолчанию» — и можно просто щелкать «Далее», пока процедура установки не завершится.
Массовый перенос сертификатов и ключей на новый компьютер
Второй способ копирования состоит в том, что на новом компьютере в реестре создается новая ветка — точная копия аналогичной на исходной машине. Тогда после переноса ключей и сертификатов к ним они оказываются рабочими и изначально активированными. Однако при использовании этого способа нужно вначале убедиться, что на обоих компьютерах стоит одна и та же версия Windows: попытка перенести данные с «семерки» на «десятку» может кончиться тем, что система придет в нерабочее состояние.
Копирование
Вначале необходимо скопировать сами данные. Делается это в несколько этапов:
1) Для того, чтобы это сделать, нужно прежде всего узнать SID — идентификатор безопасности текущего пользователя (напоминаем, что на каждом компьютере может быть не один пользователь, и что опытные люди из-под учетной записи админа без острой необходимости не работают). Для этого нужно открыть командную строку и ввести в ней следующую комбинацию:
wmic useraccount where name=’polzovatel’ get sid
Вместо polzovatel нужно вводить то имя пользователя, для которой нужно узнать идентификатор. Полученный результат надо записать или скопировать в «Блокнот».
2) Следующий шаг — это копирование контейнеров в файл. Здесь нужно зайти в редактор реестра и отыскать в нем следующую ветку:
Здесь S-1-23-4500… — это тот самый SID, который удалось установить раньше.
3) В ветке нужно найти и экспортировать папку Keys. После этого следует скопировать ту ветку реестра, с которой работали, в отдельный файл. На выходе получим копию, в которой уже хранятся закрытые ключи.
4) Ключи готовы, но к ним нужны сертификаты. Для этого в Windows версий с 7 по 10 нужно найти директорию по адресу:
C:Users polzovatelAppDataRoamingMicrosoftSystemCertificatesMy
Найденную директорию надо скопировать.
Перенос и установка
Чтобы на новом компьютере ключи и сертификаты встали на место, надо перенести на него два файла:
После этого необходимо сделать следующее:
Все, процедура завершена. С этого момента операционная система «считает», что каждый закрытый ключ и сертификат с него были изначально правильно установлены в штатном порядке.
Источник
Как выполнить экспорт или импорт сертификатов и ключей Windows
Чтобы воспользоваться сертификатом на своем или другом компьютере под управлением Windows, его нужно импортировать или экспортировать, соответственно.
Импорт сертификата и закрытого ключа
Если вам кто-то прислал сертификат или вы передали его с одного компьютера на другой, сертификат и закрытый ключ необходимо импортировать, прежде чем пользоваться ими. Импорт сертификата предполагает его размещение в соответствующую папку сертификатов.
Экспорт сертификата и закрытого ключа
Чтобы создать резервную копию сертификата или воспользоваться им на другом компьютере, сертификат сначала следует экспортировать.
Экспорт сертификата предполагает преобразование сертификата в файл, который затем можно передать с одного компьютера на другой или поместить в безопасное место. Рекомендуется экспортировать сертификаты на съемный носитель, например диск или USB флеш-память.
Примечание: Выбор нужного формата будет зависеть от того, как будет использоваться сертификат. Например, для сертификата с закрытым ключом следует выбирать формат обмена личными сведениями. Если нужно переместить несколько сертификатов с одного компьютера на другой одним файлом, следует выбирать стандарт Cryptographic Message Syntax. Если сертификат будет использоваться в нескольких операционных системах, следует выбирать формат в DER-кодировке X.509.
Источник
Перенос контейнеров закрытых ключей и сертификатов CryptoPro
Мне постоянно приходится иметь дело с сертификатами, токенами, закрытыми ключами, криптопровайдерами и прочим. Сейчас все завязано на это — банкинг, сдача отчетности в разные гос органы, обращения опять же в эти органы, в том числе и физ лиц. В общем, с этой темой рано или поздно придется познакомиться многим. Для того, чтобы перенести все это хозяйство с одного компьютера на другой, иногда приходится прилично повозиться, особенно тем, кто не в теме.
by zerox https://serveradmin.ru/perenos-konteynerov-zakryityih-klyuchey-i-sertifikatov-cryptopro/
Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:
Я опишу оба этих способа, но подробно остановлюсь именно на втором способе. В некоторых ситуациях он является единственно возможным. Важное замечание. Я буду переносить контейнеры закрытого ключа, которые хранятся в реестре. Если вы храните их только на токене, то переносить контейнеры вам не надо, только сертификаты.
Копирование закрытого ключа через оснастку КриптоПро
Для того, чтобы скопировать контейнер для хранения закрытого ключа сертификата штатным средством, необходимо в Панели управления открыть оснастку CryptoPro, перейти в раздел Сервис и нажать Скопировать.
Далее вы выбираете текущий контейнер, который хотите скопировать. Это может быть либо токен, либо реестр компьютера. Затем новое имя и новое расположение контейнера. Опять же, это может быть как реестр, так и другой токен.
Ошибка копирования контейнера
Но тут есть важный нюанс. Если во время создания закрытого ключа он не был помечен как экспортируемый, скопировать его не получится. У вас будет ошибка:
Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии.
Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему.
Отдельно расскажу, как скопировать сертификат и закрытый ключ к нему в файл, чтобы перенести на другой компьютер без использования токена. Штатные возможности CryptoPro не позволяют скопировать закрытый ключ в файл.
Запускаем Internet Explorer, открываем его настройки и переходим на вкладку Содержание. Там нажимаем на Сертификаты.
Выбираем нужный сертификат и нажимаем Экспорт.
Если у вас после слов «Экспортировать закрытый ключ вместе с сертификатом» нет возможности выбрать ответ «Да, экспортировать закрытый ключ«, значит он не помечен как экспортируемый и перенести его таким способом не получится. Можно сразу переходить к другому способу, который описан ниже.
Если же такая возможность есть, то выбирайте именно этот пункт и жмите Далее. В следующем меню ставьте все галочки, так вам будет удобнее и проще в будущем, если вдруг опять понадобится копировать ключи уже из нового места.
Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него.
В итоге у вас должны получиться 2 файла с расширениями:
Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам достаточно будет выбрать все параметры по-умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер.
Я описал первый способ переноса в ручном режиме. Им можно воспользоваться, если у вас немного сертификатов и ключей. Если их много и руками по одному переносить долго, то переходим ко второму способу.
Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
В интернете достаточно легко находится способ переноса контейнеров закрытых ключей КриптоПро через копирование нужной ветки реестра, где это все хранится. Я воспользуюсь именно этим способом. А вот с массовым переносом самих сертификатов у меня возникли затруднения и я не сразу нашел рабочий способ. Расскажу о нем тоже.
Для дальнейшей работы нам надо узнать SID текущего пользователя, у которого мы будем копировать или переносить сертификаты с ключами. Для этого в командной строке выполните команду:
В данном случай zerox — имя учетной записи, для которой узнаем SID.
Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра и переходим в ветку:
где S-1-5-21-4126079715-2548991747-1835893097-1000 — SID пользователя, у которого копируем сертификаты. Выбираем папку Keys и экспортируем ее.
Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи.
Теперь нам нужно скопировать сразу все сертификаты. В Windows 7, 8 и 10 они живут в директории — C:UserszeroxAppDataRoamingMicrosoftSystemCertificatesMy. Сохраняйте эту директорию.
Для переноса ключей и сертификатов нам надо скопировать на другой компьютер сохраненную ветку реестра и директорию с сертификатами My. Открываем файл с веткой реестра в текстовом редакторе и меняем там SID пользователя со старого компьютера на SID пользователя нового компьютера. Можно прям в блокноте это сделать поиском с заменой.
Я не раз пользовался этим методом, на текущий момент он 100% рабочий. Написал статью,чтобы помочь остальным, так как сам не видел в интернете подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя таковой получилась.
Источник
Как скопировать корневые сертификаты с одного компьютера на другой
Когда нужно переносить сертификаты в другое место?
И так давайте рассмотрим по каким причинам у вас может появиться необходимость в копировании ваших ЭЦП в другое место.
Как видите предпосылок и вариантов переноса сертификатов из реестра на другой компьютер, предостаточно.
Какие есть варианты по копированию контейнеров закрытых ключей?
Перенос сертификатов в виде пошаговой инструкции
Первые два пункта я описывать тут не стану, так как я уже это подробно рассказывал, посмотрите по ссылкам. Я расскажу, об остальных методах и начнем мы с классического КриптоПРО.
Копирование закрытого ключа из КриптоПро
Это самый простой способ, и будет актуальным при небольшом количестве контейнеров с закрытыми ключами. Чтобы выполнить перенос сертификатов из реестра, откройте ваш КриптоПРО, вкладка «Сервис», нажимаем кнопку «Сервис», далее через кнопку «Обзор», откройте «Выбор ключевого контейнера» и укажите, какой сертификат вы будите переносить. В моем примере это контейнер «Копия сертификата в реестре (Семин Иван)».
Нажимаем «Далее», вас попросят задать новое имя контейнера с закрытым ключом, введите понятное для себя, для удобства.
У вас откроется окно с выбором носителей, вы можете выбрать либо токен, либо флешку для переноса на другое место. У меня это внешний жесткий диск Z:.
Задаем обязательно пароль, с точки зрения безопасности, так как файлы в таком виде просто скомпрометировать.
Все, на выходе я получил папку со случайным названием и набором ключей в формате key.
Связана такая ситуация, что в целях псевдобезопасности, удостоверяющие центры выпускают закрытые ключи без возможности экспорта, и таким образом увеличивают свою прибыль, так как в случае утери или поломки токена, вам придется его перевыпускать, а так как экспорт запрещен, то бэкапа вы сделать не сможете.
Перенос сертификатов из реестра без КриптоПРО
Существуют методы экспортировать закрытый ключ и без изспользования утилиты КриптоПРО. Представим себе ситуацию, что у вас на него кончилась лицензия и вы не успели ее купить. Вам нужно сдать отчетность в СБИС. Вы развернули CryptoPRO на другом компьютере, так как он позволяет 3 месяца бесплатного использования, осталось для СБИС выполнить перенос сертификатов, которые у вас в реестре Windows.
У нас два варианта:
Теперь нам необходимо его экспортировать, в оснастке «Сертификаты», через правый клик, это можно сделать, в Internet Explorer, сразу видно кнопку, экспорт.
У вас откроется мастер переноса сертификатов, на первом шаге, просто нажимаем далее. После чего вас спросят, что вы хотите экспортировать, выбираем пункт «да, экспортировать закрытый ключ вместе с сертификатом»
Если ваш закрытый ключ запрещено экспортировать, то эта кнопка будет не активна, и можете сразу закрывать данный метод и переходить к следующему.
Следующим этапом в мастере экспорта сертификатов, вам необходимо выбрать формат выгрузки, это будет PFX архив.
Далее вы задаете обязательно пароль и указываете имя и место, где будите сохранять ваш переносимый контейнер с зарытым ключом в формате pfx.
Мастер экспорта сертификатов, выведет вам сводные данные, нажимаем «Готово».
Отрываем локацию, куда вы его выгрузили, и найдите свой pfx архив.
Теперь вам нужно еще выгрузить открытый ключ в формате cer, для этого так же зайдите в мастер экспорта, но на этот раз выберите «Нет, не экспортировать закрытый ключ».
Выберите формат файла «X.509 (.CER) в кодировке DEP», задайте ему имя и место сохранения. На выходе у вас появятся два файла.
Одни открытый ключ в формате cer и закрытый ключ в формате pfx. Этого набора вам будет достаточно, чтобы перенести сертификаты СБИС, Контура и остальных программ на другой компьютер.
Теперь перенесите эти файлы на другое рабочее место и просто запустите, через простой двойной клик. У вас откроется мастер импорта сертификатов, на первом окне выберите нужное вам хранилище, я в своем примере оставлю «Текущий пользователь».
На втором шаге проверяем импортируемый сертификат.
Указываем пароль, который задавали при выгрузке.
Оставляем автоматический выбор хранилища на основе типа сертификатов.
Готово. Со вторым файлом то же самое. После чего у вас будут перенесены нужные вам ключи и сам сертификат, можно работать.
Массовый перенос ключей и сертификатов CryptoPro на другой компьютер
Выше описанные методы хороши, когда у вас один или 5 ключиков в реестре, а как быть если их десятки. Помню лет 5 назад, когда я еще был младшим администратором, то я очень часто устанавливал электронные цифровые подписи главбуху, так как она работала в СБИС++ и сдавала там постоянно отчетность по огромному количеству организаций, по типу рога и копыта. Держать кучу токенов было не вариант, и для таких вещей у нее все хранилось в реестре и копия сертификатов была на флешке в сейфе. Флешку потом потеряли, встал вопрос сделать резервную копию всего и плюс обновить систему, в виду нового компьютера, на операционной системе Windows 8.1. ЭЦП было штук 50, а так как я ценю свое время, то и искал методы, выполнить это быстрее, к счастью я его нашел.
Заключался метод переноса сертификатов из реестра, в выгрузке веток и подмене SID значения, но обо всем по порядку. О том, как посмотреть SID пользователя и что это такое я рассказывал.
Открываете командную строку cmd и вводите команду:
Вот это S-1-5-21-551888299-3078463796-888888888-46162 и есть SID, вашей учетной записи. Теперь когда вы его знаете, то вам нужно выгрузить ваши закрытые ключи из реестра Windows. Для этого откройте вот такую ветку:
В контейнере Keys, вы найдете все ваши закрытые ключи от ЭЦП. С правой стороны вы увидите файлы:
* header.key
* masks.key
* masks2.key
* name.key
* primary.key
* primary2.key
Щелкаем правым кликом по контейнеру Keys и экспортируем его.
Сохраняем нашу ветку реестра с контейнерами закрытых ключей. Далее нам нужно скопировать открытые ключи, которые лежат по пути:
Не забывайте только подставить своего пользователя, эта папка может быть скрытой, поэтому включите скрытые папки и файлы в вашей ОС. Все содержимое этой папки вам нужно перенести на другой компьютер, только уже в папку другого, нужного пользователя.
Как только вы поместили на новом компьютере папку Key, вы можете перенести реестровую выгрузку. Сохраненный файл в формате reg, вы должны открыть в любом текстовом редакторе.
Как я показывал выше, определите SID нового пользователя, скопируйте его полностью и замените им значение в файле reg, я отметил это стрелками.
Все сохраняйте файл и запускайте его, у вас будет начат перенос сертификатов (закрытых ключей), подтверждаем действие.
Как видите импорт успешно завершен. Все теперь ваши закрытые и открытые ключи на месте и вы можете работать с вашими ЭЦП, и можно считать, что перенос сертификатов с одного компьютера на другой в массовом масштабе, осуществлен успешно. Если остались вопросы, то жду их в комментариях.
Источник
Как скопировать контейнер с сертификатом на другой носитель
Копирование средствами Windows
Если для работы используется дискета или flash-накопитель, скопировать контейнер с сертификатом можно средствами Windows (этот способ подходит для версий КриптоПро CSP не ниже 3.0). Папку с закрытым ключом (и, если есть, файл сертификата — открытый ключ) поместите в корень дискеты / flash-накопителя (если поместить не в корень, то работа с сертификатом будет невозможна). Название папки при копировании рекомендуется не изменять.
В папке с закрытым ключом должно быть 6 файлов с расширением.key. Как правило, в закрытом ключе присутствует открытый ключ (файл header.key в этом случае будет весить больше 1 Кб). В этом случае копировать открытый ключ необязательно. Пример закрытого ключа — папки с шестью файлами и открытого ключа — файла с расширением.cer.
Закрытый ключ Открытый ключ
Копирование на профиле Диагностики
1. Зайдите на профиль Диагностики «Копирования» по ссылке.
2. Вставьте носитель, на который необходимо скопировать сертификат.
3. На нужном сертификате нажмите на кнопку «Скопировать».
Если на контейнер был задан пароль — появится сообщение «Введите пароль для устройства с которого будет скопирован сертификат».
Введите пароль и нажмите на кнопку «Далее».
4. Выберите носитель, куда необходимо скопировать сертификат и нажмите «Далее».
5. Задайте имя новому контейнеру и нажмите на кнопку «Далее».
6. Должно появиться сообщение об успешном копировании сертификата.
Массовое копирование
4. После копирования нажмите внизу слева кнопку « Обновить ».
Если хотите работать со скопированными контейнерами — необходимо установить сертификаты.
Копирование с помощью КриптоПро CSP
Выберите «Пуск» > «Панель управления» > «КриптоПро CSP». Перейдите на вкладку « Сервис » и кликните по кнопке « Скопировать».
В окне « Копирование контейнера закрытого ключа » нажмите на кнопку « Обзор » .
Выберите контейнер, который необходимо скопировать, и кликните по кнопке «Ок», затем «Далее». Если вы копируете с рутокена, то появится окно ввода, в котором следует указать pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.
В окне « Вставьте чистый ключевой носитель » выберите носитель, на который будет помещен новый контейнер.
На новый контейнер будет предложено установить пароль. Рекомендуем установить такой пароль, чтобы вам было легко его запомнить, но посторонние не могли его угадать или подобрать. Если вы не хотите устанавливать пароль, можно оставить поле пустым и нажать «ОК».
Не храните пароль/pin-код в местах, к которым имеют доступ посторонние. В случае утери пароля/pin-кода использование контейнера станет невозможным.
Если вы копируете контейнер на смарт-карту ruToken, сообщение будет звучать иначе. В окне ввода укажите pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.
После копирования система вернется на вкладку «Сервис» КриптоПро CSP. Копирование завершено. Если вы планируете использовать для работы в Экстерне новый ключевой контейнер, установите его через Крипто Про.
Экспорт PFX-файла и его установка
Экспорт сертификата с закрытым ключом
1. Откройте оснастку работы с сертификатами:
— Пуск → Все программы → КриптоПро → Сертификаты
либо
— Internet Explorer → Сервис → Свойства обозревателя → вкладка Содержание → Сертификаты.
2. Откройте сертификат, который нужно скопировать. На вкладке «Состав» нажмите «Копировать в файл».
3. В «Мастере экспорта сертификтов» нажмите «Далее» и выберите пункт «Да, экспортировать закрытый ключ». Нажмите «Далее».
4. На следующем этапе поставьте галочки у пунктов «Включить по возможности все сертификаты в путь сертификации» и «Экспортировать все расширенные свойства», остальные галочки необходимо убрать. Нажмите «Далее».
5. Обязательно задайте пароль для экспортируемого файла. Данный пароль не рекомендуется сообщать по электронной почте. Нажмите «Далее».
6. Укажите имя файла, выберите путь сохранения и нажмите «Далее», затем нажмите «Готово».
7. Экспортируйте открытый ключ сертификата (см. Экспорт открытого ключа).
Установка сертификата с закрытым ключом
2. Укажите хранилище «Текущий пользователь» и нажмите «Далее», затем снова «Далее».
3. Введите пароль, который указывали при экспорте и поставьте галочку на пункте «Пометить этот ключ как экспортируемый…», иначе наче контейнер нельзя будет скопировать в дальнейшем. Нажмите «Далее».
4. Выберите пункт «Поместить все сертификаты в следующее хранилище», нажмите на кнопку «Обзор», выберите «Личное» и нажмите на кнопку «ОК». Нажмите «Далее», а затем «Готово».
5. В окне КриптоПро выберите носитель, на который хотите сохранить контейнер. При необходимости задайте пароль.
6. Для корректной работы сертификата со встроенной лицензией переустановите сертификат в контейнер (см. Как установить личный сертификат в КриптоПро).
Копирование контейнера из реестра другого пользователя
1. Необходимо найти ветку реестра с нужным контейнером. Ветки реестра, в которых может быть контейнер закрытого ключа:
2. После того, как нашли нужную ветку, нажмите правой кнопкой мыши на ветку с контейнером и выберите «Экспортировать».
3. Введите имя файла и нажмите на кнопку «Сохранить».
4. Скопируйте файл на тот компьютер, где будете работать с электронной подписью обычными средствами Windows.
6. Как диагностика закончится, нажмите на ссылку «Показать результаты».
7. В списке результатов выберите «Информация о Windows». Скопируйте оттуда SID текущего пользователя.
8. Откройте экспортированный файл реестра с помощью «Блокнота».
9. Замените SID пользователя на скопированный ранее.
Если ветка реестра экспортируется из 32-битной ОС в 64-битную ОС, добавьте в путь ветки реестра параметр Wow6432Node как на скриншоте:
10. Сохраните изменения и закройте файл.
11. Снова нажмите на файл правой кнопкой мыши и выберите «Слияние». В появившемся окне нажмите «Да».
Должно появиться сообщение о том, что данные успешно внесены в реестр. Нажмите «ОК».
Если появляется сообщение «Ошибка при доступе к реестру», необходимо еще раз проверить все пути в файле на корректность. Также проверьте, чтобы в пути не было лишних пробелов, знаков.
12. После того, как данные будут внесены в реестр, необходимо вручную установить сертификат (см. Как установить личный сертификат).
Источник
На сайте требуют прикрепить файл сертификата ЭЦП, но вы не знаете что делать и где его искать? В данной статье мы расскажем, как быстро экспортировать сертификат любой ЭЦП. Речь пойдет об экспорте открытой части ключа ЭЦП (сертификата). Если вам требуется скопировать закрытую часть ключа ЭЦП (контейнер), то предлагаем перейти к другой статье: «Как скопировать контейнер закрытого ключа ЭЦП на компьютер?».
Если возникнет проблема с экспортом сертификатов или с настройкой рабочего места, вы всегда можете обратиться к нам за помощью. Мы поможем вам экспортировать сертификаты ЭЦП и загрузим их на сайты, которые вы укажите.
Первый способ: экспорт сертификата ЭЦП с помощью программы «Инструменты КриптоПро»
По умолчанию начнем с самого простого и удобного способа. Единственное, что требуется для экспорта сертификата — наличие установленного на компьютере КриптоПро CSP. Если у вас не установлена эта программа, сразу переходите ко второму способу.
- Откройте «Инструменты КриптоПро».
Как открыть “Инструменты КриптоПро” на компьютере c Windows?
Наша подробная инструкция поможет вам найти и запустить программу.
- В меню слева выберите раздел «Сертификаты». После этого откроется окно со всеми личными сертификатами, установленными и доступными на компьютере и (или) носителе, если он подключен в порт USB.
- Выберите сертификат, который необходимо экспортировать.
- Нажмите кнопку «Экспортировать сертификаты».
- В открывшемся окне, в поле «Имя файла» введите любое наименование будущего сертификата.
- Нажмите на раскрывающийся список доступных вариантов в поле «Тип файла». Выберите «Сертификат X.509 в DER (*.cer)», как показано на скриншоте ниже.
- Далее выберите путь сохранения, например, на Рабочий стол, в папку «Загрузки» или «Документы».
- Нажмите кнопку «Сохранить».
- После выполнения указанных выше действий сертификат ключа ЭЦП будет экспортирован. Вы сможете использовать полученный файл на любых сайтах, где он потребуется.
Второй способ: экспорт сертификата ЭЦП с помощью системной утилиты «Сертификаты»
- Нажмите на клавиатуре клавиши Windows + R.
- В открывшемся окне программы «Выполнить» введите следующую команду:
certmgr.msc
и нажмите кнопку «ОК» или клавишу Enter.
- В левом меню программы откройте папку «Личное», а затем подпапку «Сертификаты».
- В окне справа выберите сертификат, который необходимо экспортировать, и нажмите по нему два раза левой кнопкой мыши.
- Перейдите во вкладку «Состав» после того, как откроется окно вашего сертификата.
- Затем нажмите кнопку «Копировать в файл».
- После этого откроется «Мастер экспорта сертификатов». Просто нажмите кнопку «Далее».
- Далее выберите «Нет, не экспортировать закрытый ключ», чтобы экспортировать только открытую часть ключа ЭЦП (сертификат), и нажмите кнопку «Далее». Если у вас выбор из двух вариантов недоступен, значит закрытую часть ключа ЭЦП экспортировать запрещено.
- После этого выберите формат файла. По умолчанию сертификат создается в формате X.509 (*.cer) в кодировке DER. Изменять кодировку мы не рекомендуем, если к сертификату не предъявляются требования по кодировке Base-64.
- Затем нажмите кнопку «Обзор» для выбора местоположения будущего файла сертификата.
- В открывшемся окне выберите место сохранения и наименование файла, а затем нажмите кнопку «Сохранить».
- После этого вам потребуется только нажать кнопку «Далее».
- После выполнения всех вышеперечисленных действий перед вами откроется «Завершение мастера экспорта сертификатов». Тут вы сможете проверить ранее выбранные параметры будущего сертификата. Для продолжения нажмите кнопку «Готово».
- Теперь файл сертификата (открытого ключа ЭЦП) был сохранен в выбранном ранее месте. В новом окне, сообщающем, что экспорт выполнен успешно, нажмите кнопку «ОК».
Получилось ли у вас экспортировать сертификат или возникли трудности?
Расскажите в комментариях 😉