- Почему?
- Импорт сертификата .pfx
- Использование сертификата let’s encrypt для remote desktop services
- Как создать файл .pfx из сертификата и закрытого ключа?
- Клиент wacs для установки tls сертификата let’s encrypt в iis на windows server
- Команды openssl для преобразования сертификатов на своём компьютере
- Конвертация pem в der
- Конвертация pem в p7b / pkcs#7
- Конвертация pem в pfx / pkcs#12
- Конвертация pfx / pkcs#12 в pem
- Конвертация ssl сертификатов посредством openssl
- Конвертация скриптом openssl-toolkit
- Создание и установка самоподписанного сертификата
- Способы конвертации
- Экспортировать сертификат и ключ полученный через win-acme | блог сисадмина
Почему?
😪Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
Импорт сертификата .pfx
Аналогично как и с самоподписанным сертификатом (раздел Connections) нажимаем на корень и кликаем на Server Certificates. Далее, справа, нажимаем Import:
Открываем на .pfx файл:
Когда для вас создавали .pfx, на него установили пароль – введите этот пароль в поле ниже и нажмите OK.
Далее, все стандартно – выбираем сайт слева → Bindings → редактируем текущее подключение по 443 порту → выбираем сертификат, который только что сделали в разделе SSL certificate → нажимаем OK.
По окончанию, снова рестартуем IIS:
iisreset /restart
Использование сертификата let’s encrypt для remote desktop services
Если вы используете для подключения внешних пользователей в корпоративную сеть шлюз Remote Desktop Gateway/ RD Web Access, вы можете использовать нормальный SSL сертификат Let’s Encrypt вместо обычного самоподписанного сертификата. Рассмотрим, как корректно установить сертификат Let’s Encrypt для зажиты служб Remote Desktop Services в Windows Server.
Если на Remote Desktop Gateway сервере поднята также роль RDSH, нужно запретить пользователям Read доступ к каталогу, в котором у вас хранится WACS (в моем примере это c:inetpubletsencrypt ) и к каталогу с сертификатами сертификат Let’s Encrypt (C:
Затем на сервере RDP GW, запускаете wacs.exe, как описано выше, и вы выбираете нужный сайт IIS (обычно, Default Web Site). Let’s Encrypt выдает вам новый сертификат, который устанавливается для веб-сайта и в планировщике появляется задание на автоматические обновление сертификата.
Вы можете вручную экспортировать данный сертификат и привязать его к нужным службам RDS через SSL binding. Но вам придется выполнять эти действия вручную каждые 60 дней при перевыпуске сертификата Let’s Encrypt.
Нам нужен скрипт, который бы сразу после получения (продления) сертификата Let’s Encrypt применял бы его для RD Gateway.
Как создать файл .pfx из сертификата и закрытого ключа?
Вам не нужно openssl или makecert или что-либо из этого. Вам также не нужен личный ключ, предоставленный вам вашим CA. Я могу почти гарантировать, что проблема в том, что вы ожидаете, что сможете использовать файлы ключей и сертификатов, предоставленные вашим ЦС, но они не основаны на «способе IIS». Я так устал видеть плохую и сложную информацию здесь, что решил написать в блоге тему и решение. Когда ты поймешь, что происходит, и увидишь, как это легко, ты захочешь меня обнять 🙂
Сертификаты SSL для IIS с PFX раз и навсегда – объяснение SSL и IIS – http://rainabba.blogspot.com/2021/03/ssl-certs-for-iis-with-pfx-once-and-for.html
Используйте пользовательский интерфейс IIS «Сертификаты сервера» для «Генерации запроса сертификата» (подробности этого запроса выходят за рамки данной статьи, но эти детали являются критическими). Это даст вам CSR, подготовленный для IIS. Затем вы передаете этот CSR в свой CA и запрашиваете сертификат. Затем вы берете файл CER / CRT, который они вам дают, возвращаетесь в IIS, «Полный запрос сертификата» в том же месте, где вы сгенерировали запрос. Он может попросить .CER, и у вас может быть .CRT. Это одно и то же. Просто измените расширение или используйте .Расширение выпадающего, чтобы выбрать ваш .CRT. Теперь укажите правильное «понятное имя» (* .yourdomain.com, yourdomain.com, foo.yourdomain.com и т. Д.). ЭТО ВАЖНО! Это ДОЛЖНО совпадать с тем, для чего вы настроили CSR, и с тем, что вам предоставил ваш CA. Если вы запросили подстановочный знак, ваш ЦС должен был одобрить и сгенерировать подстановочный знак, и вы должны использовать его. Если ваш CSR был сгенерирован для foo.yourdomain.com, вы ДОЛЖНЫ предоставить его на этом этапе.
Клиент wacs для установки tls сертификата let’s encrypt в iis на windows server
Самый простой способ получить SSL сертификат от Let’s Encrypt — воспользоваться консольной утилитой Windows ACME Simple (WACS) (ранее проект назывался LetsEncrypt-Win-Simple).
Команды openssl для преобразования сертификатов на своём компьютере
Перевод:
SSL Converter
Воспользуйтесь этим преобразователем SSL для преобразования сертификатов SSL между различными форматами, такими как pem, der, p7b и pfx.
Разные платформы и устройства требуют преобразовывать сертификаты SSL в разные форматы. Например, Windows-сервер экспортирует и импортирует файлы .pfx, а сервер Apache использует отдельные файлы PEM (.crt, .cer). Чтобы воспользоваться преобразователем SSL, просто выберите файл сертификата и его текущий тип (произойдёт попытка определить тип по расширению файла), затем выберите тип, в который нужно преобразовать сертификат и нажмите Преобразовать сертификат. Подробности о различных типах сертификатов SSL и о том, как можно преобразовать сертификаты на своём компьютере с помощью OpenSSL, смотрите ниже.
Формат PEM
Формат PEM – наиболее распространённый формат сертификатов, выпускаемых удостоверяющими центрами. Сертификаты PEM обычно имеют расширения .pem, .crt, .cer и .key. Это ASCII-файлы с информацией, закодированной в Base64, и содержащие выражения “—–BEGIN CERTIFICATE—–” и “—–END CERTIFICATE—–“. Сертификаты сервера, промежуточные сертификаты и приватные ключи могут быть записаны в формате PEM.
Apache и другие подобные серверы используют сертификаты в формате PEM. Несколько сертификатов PEM и даже приватный ключ можно поместить в одном файле друг за другом, но большинство платформ, таких как Apache, берут сертификат и приватный ключ из отдельных файлов.
Формат DER
Формат DER – это просто двоичный вид сертификата, в отличие от PEM, который закодирован в символы ASCII. Иногда встречается расширение файла .der, но чаще у файла бывает расширение .cer. Чтобы узнать, имеет ли этот файл формат DER или PEM, можно открыть его в текстовом редакторе и поискать выражения BEGIN и END. Все типы сертификатов и приватных ключей могут быть представлены в формате DER. Обычно DER используется на платформе Java. Инструмент для преобразования SSL умеет преобразовывать в формат DER только сертификаты. Если нужно преобразовать в формат DER приватный ключ, воспользуйтесь командами OpenSSL, приведёнными на этой странице.
Формат PKCS#7/P7B
Формат PKCS#7 или P7B обычно сохраняется в виде ASCII, закодированным в Base64, и имеет расширение .p7b или .p7c. Сертификаты P7B содержат выражения “—–BEGIN PKCS7—–” и “—–END PKCS7—–“. Файл P7B содержит только сертификаты и цепочки сертификатов, но не приватные ключи. Некоторые платформы поддерживают файлы P7B, в том числе Microsoft Windows и Java Tomcat.
Формат PKCS#12/PFX
Формат PKCS#12 или PFX – это двоичный формат для хранения сертификата сервера, промежуточных сертификатов и приватного ключа в одном зашифрованном файле. Файлы PFX обычно имеют расширение .pfx или .p12. Файлы PFX обычно используются на компьютерах под управлением Windows для импорта и экспорта сертификатов и приватных ключей.
При преобразовании файла PFX в формат PEM, OpenSSL поместит все сертификаты и приватный ключ в один файл. Для этого нужно открыть файл в текстовом редакторе и скопировать каждый сертификат и приватный ключ (включая выражения BEGIN/END) в отдельные текстовые файлы и сохранить их под именами certificate.cer, CACert.cer и privateKey.key соответственно.
Команды OpenSSL для преобразования сертификатов SSL на своём компьютере
Настоятельно рекомендуется преобразовывать файлы .pfx на своём компьютере с помощью OpenSSL. Это позволит сохранить приватный ключ в тайне. Воспользуйтесь следующими командами OpenSSL для преобразования сертификата SSL в различные форматы на своём компьютере:
Преобразование PEM с помощью OpenSSL
Преобразование DER с помощью OpenSSL
Преобразование P7B с помощью OpenSSL
Преобразование PFX с помощью OpenSSL
Конвертация pem в der
Для конвертации стандартного сертификата в формате PEM в бинарный формат DER, потребуется только файлSSL сертификата. Обычно, вы его получаете в архиве вместе с промежуточными сертификатами. Как правило, в его названии указано имя вашего домена.
Конвертация pem в p7b / pkcs#7
Если же вам нужно преобразовать ваш стандартный SSL сертификат в файл формата P7B / PKCS#7, вы можете кроме SSL сертификата вашего домена загрузить также файлы с цепочками сертификатов. Более подробно о том, что такое цепочка SSL сертификатов, мы писали в статье о CA-bundle.
Конвертация pem в pfx / pkcs#12
Обратите внимание, что для конвертации стандартного формата SSL сертификата необходимо добавить еще один файл – ваш приватный ключ. Приватный ключ – это конфиденциальная информация, которая должна быть только у вас. Поэтому центры сертификации не высылают его месте с файлами вашего сертификата.
Приватный ключ создается в момент генерации CSR запроса. Если вы генерируете CSR у себя на сервере, на нем же должен автоматически сохраниться ключ. Если вы создаете CSR запрос в специальном инструменте на нашем сайте (на странице по ссылке или во время заполнения технических данных), ключ показывается вам в конце генерации CSR (или введения технических данных), но не сохраняется в нашей базе данных. Поэтому важно, чтобы вы самостоятельно сохранили приватный ключ.
Конвертация pfx / pkcs#12 в pem
Если вам необходимо преобразовать SSL сертификат формата PFX в PEM-формат, следует открыть файл сертификата в любом текстовом редакторе и скопировать текст каждого сертификата вместе с тегами BEGIN / END в отдельные файлы, после чего их следует сохранить их как certificate.cer (для сертификата вашего сервера) и cacert.cer (для цепочки промежуточных сертификатов). То же самое следует проделать с текстом приватного ключа и сохранить его под названием privatekey.key.
Конвертация ssl сертификатов посредством openssl
OpenSSL — это надежный, коммерческий и полнофункциональный инструментарий для протоколов Transport Layer Security (TLS) и Secure Sockets Layer (SSL). А также библиотека криптографии общего назначения. Конвертация с использованием библиотеки OpenSSL считается одним из самых безопасных способов: все данные будет сохранены непосредственно на устройстве, на котором будут выполняться операции по конвертированию.
Для того чтобы воспользоваться им, вам необходимо перейти в командную строку и выполнить команды.
Предоставленные ниже примеры команд OpenSSL позволяют конвертировать сертификаты и ключи в нужный формат.
Конвертировать PEM в DER можно посредством команды:
openssl x509 -outform der -in site.crt -out site.der
Аналогично, для других типов:
PEM в P7B
openssl crl2pkcs7 -nocrl -certfile site.crt -out site.p7b -certfile site.ca-bundle
PEM в PFX
openssl pkcs12 -export -out site.pfx -inkey site.key -in site.crt -certfile site.ca-bundle
Обращаем ваше внимание, что после выполнения команды, будет запрошена установка пароля ключа.
DER в PEM
openssl x509 -inform der -in site.der -out site.crt
P7B в PEM
openssl pkcs7 -print_certs -in site.p7b -out site.cer
P7B в PFX
openssl pkcs7 -print_certs -in site.p7b -out certificate.ceropenssl pkcs12 -export -in site.cer -inkey site.key -out site.pfx -certfile site.ca-bundle
PFX в PEM
openssl pkcs12 -in site.pfx -out site.crt -nodes
Конвертация скриптом openssl-toolkit
OpenSSL ToolKit — скрипт, который облегчает работу с библиотекой OpenSSL. Работа со скриптом является безопасным решением, т.к сертификаты и ключи сертификата никуда не передаются, а используются непосредственно на вашем сервере.
Создание и установка самоподписанного сертификата
Открываем IIS Manager. Далее, в меню слева (раздел Connections) нажимаем на корень (как правило это хостнейм вашей машины) и в открывшейся в центральной части рабочей области дважды кликаем левой кнопкой на Server Certificates:
Способы конвертации
Существует несколько способов конвертации сертификатов, которые отличаются между собой только простотой конвертирования и уровнем безопасности. Мы расскажем о трех из них.
Экспортировать сертификат и ключ полученный через win-acme | блог сисадмина
Есть такая полезная утилита — win-acme, с помощью которой под Windows можно обновлять сертификат Let’s Encrypt.
Так вот, при обновлении сертификата он нормально устанавливается на Exchange Server, устанавливается в хранилище (Сертификаты — Размещение веб-служб), но при этом закрытый ключ нельзя экспортировать:
Как получить закрытый ключ и возможность экспорта:
- Запускаем wacs, выбираем A (Manage Renewals)

- D (Show details for renewal)

Копируем .pfx password. - Идем в папку C:ProgramDatawin-acmeacme-v02.api.letsencrypt.orgCertificates

- Тут лежат .PFX и .PEM файлы, которые нам нужны. Можно их скопировать прямо отсюда, либо импортировать PFX локально с возможностью экспорта. А если нужны отдельно ключ и сертификат (для установки не на Windows Server например), тогда идём дальше.
- Конвертировать PFX в .key и .cer можно с помощью программы OpenSSL (для windows).
- Устанавливаем, запускаем, переходим в папку например C:cert, куда предварительно скопируем наш .PFX файл.
- Запускаем команду:
C:cert>openssl pkcs12 -in c:certcert.pfx -nocerts -out private.key -nodes
Enter Import Password:
Вводим пароль, скопированный в п.4 выше, получаем файл ключа private.key в той же папке, откуда запускали openssl (C:cert) - Далее нужно открыть этот файл в блокноте и оставить только содержимое между
——BEGIN PRIVATE KEY—— и ——END PRIVATE KEY—— - Чтобы получить сертификат, вводим команду
C:cert>openssl pkcs12 -in c:certcert.pfx -clcerts -nokeys -out public.cer
Enter Import Password: - Получаем public.cer. Также в блокноте удаляем всё лишнее.
