- Export certificate from windows
- Примеры сценариев при импорте и экспорте сертификата
- Импорт сертификата в Windows
- Экспорт сертификата Windows
- Как выполнить экспорт или импорт сертификатов и ключей Windows
- Импорт сертификата и закрытого ключа
- Экспорт сертификата и закрытого ключа
- Экспорт сертификата корневого сертификационного органа
- Советы
- How to export private key from Windows Certificate Manager?
- 4 Answers 4
- Recovering a certificate where the private key is marked as non-exportable
Export certificate from windows
Добрый день! Уважаемые читатели и гости одного из крупнейших 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:\Temp\wildcard.
Далее импортируем наш сертификат. пишем команду:
Где -p, это пароль, а pyatilistnik.pfx имя файла.
Все с копированием сертификата в ваше локальное хранилище мы разобрались, переходим к экспорту.
Экспорт сертификата Windows
Давайте теперь проделаем процедуру обратного порядка. Первым делом я произведу экспорт сертификата из графического интерфейса. В оснастке «Сертификаты» найдите нужный вам. Щелкните по нему правым кликом и выберите «Все задачи — Экспорт’.
У вас откроется окно мастера экспорта сертификатов, нажимаем далее.
Если есть возможно и закрытый ключ экспортируемый, то можете выставить режим «Да, экспортировать закрытый ключ».
Вам будет предложено выбрать формат выгрузки, тут могут быть расширения cer DER, cer Base-64, p7b, PFX. Так как у меня сертификат Wildcard, то я могу выгрузить в «Файл обмена личной информацией -PKCS # 12(.PFX)». Если вы планируете после экспорта удалить из личного хранилища ваш сертификат, то можете тут выставить соответствующую галку. Так же может выгрузить все расширения, после чего нажимаем далее.
Задаем обязательный пароль два раза, лучше сразу задавать стойкий пароль.
В следующем окне мастера по экспорту сертификатов, вы задаете его имя и где он будет сохранен.
Завершаем процедуру экспорта pfx архива из нашего хранилища сертификатов.
Экспорт успешно выполнен.
Теперь давайте произведем экспорт с помощью утилиты certutil. Перед тем, как это сделать, нам необходимо вычислить серийный номер сертификата.Для этого выполните команду:
Находим поле «Серийный номер» у нужного сертификата и копируем его.
Далее пишем команду для экспорта сертификата;
Все успешно отработало.
На выходе я получил файл export-cert-2.pfx. Открыть архив с сертификатом вы легко сможете через утилиту keytool или Key Store Explorer.
Как выполнить экспорт или импорт сертификатов и ключей Windows
Чтобы воспользоваться сертификатом на своем или другом компьютере под управлением Windows, его нужно импортировать или экспортировать, соответственно.
Импорт сертификата и закрытого ключа
Если вам кто-то прислал сертификат или вы передали его с одного компьютера на другой, сертификат и закрытый ключ необходимо импортировать, прежде чем пользоваться ими. Импорт сертификата предполагает его размещение в соответствующую папку сертификатов.
- Откройте Диспетчер сертификатов.
- Выберите папку, в которую следует импортировать сертификат. В меню Действие выберите пункт Все задачи и выберите команду Импорт .
- Нажмите кнопку Далее и следуйте инструкциям.
Примечание: Если поиск сертификата мастером импорта сертификатов выполняется с помощью кнопки Обзор , заметьте, что в диалоговом окне Открыть умолчанию отображаются только сертификаты X.509. Если нужно импортировать другой тип сертификата, выберите тип в диалоговом окне Открыть.
Экспорт сертификата и закрытого ключа
Чтобы создать резервную копию сертификата или воспользоваться им на другом компьютере, сертификат сначала следует экспортировать.
Экспорт сертификата предполагает преобразование сертификата в файл, который затем можно передать с одного компьютера на другой или поместить в безопасное место. Рекомендуется экспортировать сертификаты на съемный носитель, например диск или USB флеш-память.
- Откройте Диспетчер сертификатов.
- Щелкните правой кнопкой мыши сертификат, который следует экспортировать, выберите Все задачи и выберите команду Экспорт.
- В мастере экспорта сертификатов нажмите кнопку Далее .
- Если сертификат использоваться на другом компьютере, щелкните Да , экспортировать закрытый ключ (если нет, выберите Нет , не экспортировать закрытый ключ) и нажмите кнопку Далее . (Этот параметр отображается, только если разрешен экспорт закрытого ключа и вы к нему доступ).
- Выберите нужный формат и нажмите кнопку Далее .
Примечание: Выбор нужного формата будет зависеть от того, как будет использоваться сертификат. Например, для сертификата с закрытым ключом следует выбирать формат обмена личными сведениями. Если нужно переместить несколько сертификатов с одного компьютера на другой одним файлом, следует выбирать стандарт Cryptographic Message Syntax. Если сертификат будет использоваться в нескольких операционных системах, следует выбирать формат в DER-кодировке X.509.
Экспорт сертификата корневого сертификационного органа
В этой статье описывается экспорт сертификата корневого сертификационного органа.
Исходная версия продукта: Windows Server 2003
Исходный номер КБ: 555252
Советы
Запрос сертификата корневого сертификационного органа с помощью командной строки:
Войдите на сервер корневого органа сертификации с помощью учетной записи администратора.
Go to Start > Run >, and type Cmd and press on Enter button.
Чтобы экспортировать сервер корневого ЦС в новый файл с именем ca_name.cer, введите:
Запрос сертификата корневого сертификационного органа с сайта веб-регистрации:
Войдите на веб-сайт регистрации корневого сертификационного органа.
Обычно сайт веб-регистрации находится по следующим ссылкам:
ip_address = IP-адрес сервера корневого сертификационного органа.
fqdn = полное доменное имя корневого сервера сертификации.
Щелкните ссылку «Скачать сертификат ЦС, цепочку сертификатов или CRL».
Нажмите кнопку «Загрузить сертификат ЦС».
Сохраните файл certnew.cer в локальном хранилище дисков.
Заявление об отказе от контента решений сообщества
КОРПОРАЦИЯ МАЙКРОСОФТ И/ИЛИ ЕЕ ПОСТАВЩИКИ НЕ СОДЕРЖАТ НИКАКИХ ПРЕДСТАВЛЕНИЙ О ПРИГОДНОСТИ, НАДЕЖНОСТИ ИЛИ ТОЧНОСТИ ИНФОРМАЦИИ И СВЯЗАННОЙ С НЕЙ ГРАФИКИ. ВСЯ ТАКАЯ ИНФОРМАЦИЯ И СВЯЗАННАЯ С НЕЙ ГРАФИКА ПРЕДОСТАВЛЯЮТСЯ БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. КОРПОРАЦИЯ МАЙКРОСОФТ И/ИЛИ ЕЕ ПОСТАВЩИКИ НАСТОЯЩИМ СНИМАТЬИ ВСЕ ГАРАНТИИ И УСЛОВИЯ, ОТНОСЯЩИЕСЯ К ЭТОЙ ИНФОРМАЦИИ И СВЯЗАННЫМ ГРАФИЧЕСКИМ ГРАФИКАМ, ВКЛЮЧАЯ ВСЕ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ И УСЛОВИЯ ДЛЯ ОБЕСПЕЧЕНИЯ СООТВЕТСТВИЯ ТРЕБОВАНИЯМ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ, ВОРКМАНЛИКЕ УСИЛИЯ, ДОЛЖНОСТИ И НЕНАРУШЕНИЯ ПРАВ. ВЫ ЯВНО СОГЛАСНЫ, ЧТО В СЛУЧАЕ ОТСУТСТВИЯ У КОРПОРАЦИИ МАЙКРОСОФТ И/ИЛИ ЕЕ ПОСТАВЩИКОВ НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЯМЫЕ, КОСВЕННЫЕ, ПУНИТИВЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ УБЫТКИ, А ТАКЖЕ ЛЮБЫЕ УЩЕРБА БЕЗ ОГРАНИЧЕНИЙ, УЩЕРБА ДЛЯ ПОТЕРИ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ПРИБЫЛИ, КОТОРЫЕ СВЯЗАНЫ С ИСПОЛЬЗОВАНИЕМ ИЛИ НЕВОЗМОЖНОСТЬЮ ИСПОЛЬЗОВАТЬ ИНФОРМАЦИЮ И СВЯЗАННУЮ С НИМИ ГРАФИКУ, В ЗАВИСИМОСТИ ОТ ДОГОВОРА, НАРУШЕНИЯМ, НЕБРЕЖНОСТЬЮ, ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТИ ИЛИ ИНЫМ СПОСОБОМ, ДАЖЕ ЕСЛИ КОРПОРАЦИИ МАЙКРОСОФТ ИЛИ ЕЕ ПОСТАВЩИКАМ РЕКОМЕНДУЕТСЯ ВОЗДЕРЖАТЬ УЩЕРБ.
How to export private key from Windows Certificate Manager?
I’m developing in a Windows environment.
My company functions as it’s own certificate authority for internal-use https applications, and I’ve been issued a certificate from our system (for an internal-use only web server I’ve built).
Using certificate manager I am able to export the certificate. But, when exporting the certificate from certificate manager, the ‘export private key’ radio button is greyed out. Follow
4 Answers 4
Recovering a certificate where the private key is marked as non-exportable
We needed to export the private key of our IIS7 SSL certificate in order to import it in a node.js HTTPS project operating on a different port under the same domain.
We realized that the certificate had lost its ability to export the private key. The certificate had recently been re-issued using the old CSR but somehow the new certificate’s private key was marked as non-exportable, while past certificates had exportable private keys. Luckily we had a previous certificate available with exportable private key to work with. There are guides on the internet that the following process might work without the old certificate but in our case it did not, possibly because the certificate was re-issued.
DISCLAIMER: the following process is not intrusive on your computer and requires a VM to work with. If it succeeds then your will get your private key exported. If it fails, then your only option would be to create a CSR with exportable private key and re-issue your certificate and re-configure your domains.
Using mmc we imported both certificates in Local Computer\Personal.
NOTE: THE PLACE THAT YOU IMPORT CERTIFICATES IS IMPORTANT!
We located the Thumbprint of the certificate with the non-exportable private key:
In this sample the thumb is 693867F321B5764E324F3FB8C5CBCE03CDA3C2A3.
IMPORTANT: THUMB MUST BE UPPERCASE .
At this point, depending on the root cause of your problem, we suggest starting a command prompt and enter the following command, as it might cure your problem:
If the problem is not cured and the private key remains non-exportable, continue.
Using PowerShell we identified the private key store and copied to C:\
This command revealed the private key store to be:
Then using NirSoft PsExec64 we started an Elevated Command Prompt on System account and copied / decrypted the keystore to C:\ using /G and /H.
We create a VMware and copied both certificates and the private key store:
Using MMC we imported both certificates into Local Computer\Personal:
During import, we made sure that for the certificate with the private key, we marked the private key as exportable:
So, both certificates were imported but as expected only one had the lock icon indicating it had a private key:
Using Power Shell on the VM, we got the Machine’s GUID from Microsoft Cryptography and used this GUID in order to copy the private key store to the proper location.
This returned: a73d2e44-7a45-486a-97d3-b9d97bf556fa. In the following command you need to replace the old computer’s GUID with the new, the GUID is after the first dash (-). The command syntax is this:
So, according to the identifiers derived in previous steps, it should look like this:
Then we run certutil using the thumb of the problematic certificate to repair it!
You should see something like this:
After refreshing MMC you will that both certificates have a private key icon:
So, go ahead and export the certificate with the private key:
SOS: MAKE SURE YOU MARK THE PRIVATE KEY AS EXPORTABLE .
Next copy the PFX file back to your node.js server computer and import it ON-TOP of the existing problematic certificate.
Once you import the new certificate you can delete the old.
Next re-export the certificate from your server, just for sanity check. You should see the Export Private Key that is not grayed out any more!
SOS: MAKE SURE YOU MARK THE PRIVATE KEY AS EXPORTABLE .
To export the private key for node.js we used DigiCert Utility tool:
To convert the PFX to PEM for node.js we used OpenSSL:
To use the certificate is node.js create an SLL folder in your node.exe path and copy the following items in it:
- Private Key file (.key)
- Certificate file (.pem)
- Authority Certificate file (.crt)
NOTE: the authority certificate file is provided along with your certificate from your certificate provider.
Finally you may load the certificate and private key using the following code: