Мне нужен файл .pfx для установки https на веб-сайте IIS.
У меня есть два отдельных файла: сертификат (.cer или pem) и закрытый ключ (.crt), но IIS принимает только файлы .pfx.
Я, очевидно, установил сертификат, и он доступен в диспетчере сертификатов (mmc), но когда я выбираю мастер экспорта сертификатов, я не могу выбрать формат PFX (он неактивен)
Существуют ли какие-либо инструменты для этого или примеры C #, делающие это программно?
Ответы:
Вам нужно будет использовать openssl.
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt
Файл ключа - это просто текстовый файл с вашим закрытым ключом.
Если у вас есть корневой CA и промежуточные сертификаты, включите их, используя несколько
-in
параметровopenssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
Вы можете установить openssl отсюда: openssl
источник
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
-certfile intermediate.crt -certfile rootca.crt
прежде чем мне предложат защитить.pfx
парольную фразу / пароль. Я полагаю, что это возможно, потому что.key
они не совпадают с дополнительными-in
файлами, в результате чего я получаю сообщение об ошибке «Нет сертификата соответствует личному ключу».Утилита командной строки Microsoft Pvk2Pfx, кажется, обладает необходимой вам функциональностью:
Pvk2Pfx (Pvk2Pfx.exe) - это средство командной строки, которое копирует информацию об открытом и закрытом ключах, содержащуюся в файлах .spc, .cer и .pvk, в файл обмена личной информацией (.pfx).
http://msdn.microsoft.com/en-us/library/windows/hardware/ff550672(v=vs.85).aspx
Примечание: если вам нужно / хотите / предпочитаете решение на C #, то вы можете рассмотреть возможность использования http://www.bouncycastle.org/ api.
источник
Если вы ищете Windows GUI, проверьте DigiCert. Я просто использовал это, и это было довольно просто.
На вкладке SSL я сначала импортировал сертификат. Затем, выбрав сертификат, я смог экспортировать его как PFX, как с ключом, так и без него.
https://www.digicert.com/util
источник
DigiCertUtil.exe
исполняемого файла. Проще всего скопировать его в папку сертификата.Вам не нужно openssl или makecert или что-либо из этого. Вам также не нужен личный ключ, предоставленный вам вашим CA. Я могу почти гарантировать, что проблема в том, что вы ожидаете, что сможете использовать файлы ключей и сертификатов, предоставленные вашим ЦС, но они не основаны на «способе IIS». Я так устал видеть плохую и сложную информацию здесь, что решил написать в блоге тему и решение. Когда ты поймешь, что происходит, и увидишь, как это легко, ты захочешь меня обнять :)
Сертификаты SSL для IIS с PFX раз и навсегда - объяснение SSL и IIS - http://rainabba.blogspot.com/2014/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, вы ДОЛЖНЫ предоставить его на этом этапе.
источник
Я создал файл .pfx из файлов .key и .pem.
Нравится
openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx
источник
-export
переключатель.https://msdn.microsoft.com/en-us/library/ff699202.aspx
((соответствующие цитаты из статьи ниже))
(При желании (и не для OP, но для будущих читателей) вы можете создать файл .cer и .pvk с нуля) (вы должны сделать это ДО вышеописанного). Обратите внимание, что mm / dd / yyyy являются заполнителями для даты начала и окончания. см. статью MSDN для полной документации.
источник
Вам нужно использовать инструмент makecert.
Откройте командную строку с правами администратора и введите следующее:
Где
<CertifcateName>
= название вашего сертификата для создания.Затем вы можете открыть оснастку «Диспетчер сертификатов» для консоли управления, введя certmgr.msc в меню «Пуск», выберите «Личные»> «Сертификаты»>, и ваш сертификат должен быть доступен.
Вот статья.
https://azure.microsoft.com/documentation/articles/cloud-services-certs-create/
источник
Я получил ссылку с вашим требованием. Объедините файлы CRT и KEY в PFX с OpenSSL
Выдержки из вышеуказанной ссылки:
РЕДАКТИРОВАТЬ:
Существует ссылка поддержки с пошаговой информацией о том, как установить сертификат.
После успешной установки экспортируйте сертификат, выберите
.pfx
формат, включите закрытый ключ.Важная заметка: для экспорта сертификата в формате .pfx необходимо выполнить действия на том же компьютере, с которого вы запросили сертификат .
Импортированный файл может быть загружен на сервер.
источник
openssl pkcs12 -inkey example.com.key -in example.com.crt -export -out example.com.pfx
Это BY FAR самый простой способ конвертировать * .cer в * .pfx файлы:
Просто скачайте конвертер переносимых сертификатов с DigiCert: https://www.digicert.com/util/pfx-certificate-management-utility-import-export-instructions.htm
Запустите его, выберите файл и получите ваш * .pfx !!
источник
Когда вы говорите, что сертификат доступен в MMC, он доступен в разделе «Текущий пользователь» или «Локальный компьютер»? Я обнаружил, что могу экспортировать закрытый ключ, только если он находится под локальным компьютером.
Вы можете добавить оснастку «Сертификаты» в MMC и выбрать учетную запись, для которой она должна управлять сертификатами. Выберите Локальный компьютер. Если вашего сертификата нет, импортируйте его, щелкнув магазин правой кнопкой мыши и выбрав «Все задачи»> «Импорт».
Теперь перейдите к импортированному сертификату в разделе версии сертификата для локального компьютера. Щелкните правой кнопкой мыши сертификат и выберите «Все задачи»> «Экспорт». Вторая страница мастера экспорта должна спросить, хотите ли вы экспортировать закрытый ключ. Выберите Да. Теперь доступна только опция PFX (она недоступна, если вы выбрали нет, а опция экспорта закрытого ключа недоступна для учетной записи текущего пользователя).
Вам будет предложено установить пароль для файла PFX, а затем установить имя сертификата.
источник
У меня была такая же проблема. Моя проблема заключалась в том, что компьютер, сгенерировавший первоначальный запрос сертификата, потерпел крах до завершения расширенного процесса проверки ssl. Мне нужно было создать новый закрытый ключ и затем импортировать обновленный сертификат от поставщика сертификатов. Если секретный ключ не существует на вашем компьютере, вы не можете экспортировать сертификат в формате pfx. Они неактивны.
источник
Хотя, вероятно, проще всего создать новый CSR с использованием IIS (как сказал @rainabba), при условии, что у вас есть промежуточные сертификаты, есть некоторые онлайн-конвертеры, например: https://www.sslshopper.com/ssl-converter. HTML
Это позволит вам создать PFX из вашего сертификата и личного ключа без необходимости установки другой программы.
источник
В большинстве случаев, если вы не можете экспортировать сертификат как PFX (включая закрытый ключ), это связано с тем, что MMC / IIS не может найти / не имеет доступа к закрытому ключу (используется для генерации CSR). Вот шаги, которые я выполнил, чтобы решить эту проблему:
Надеюсь это поможет!
источник
Я знаю, что несколько пользователей говорили об установке того и другого, а также о добавлении программ из командной строки и загрузке ...
Лично я ленив и нахожу все эти методы громоздкими и медленными, плюс я не хочу ничего скачивать и находить правильные строки cmd, если мне не нужно.
Лучший способ для меня на моем личном сервере IIS - использовать RapidSSLOnline. Это инструмент, который на сервере позволяет вам загрузить свой сертификат и закрытый ключ и может создать для вас файл pfx, который вы можете напрямую импортировать в IIS.
Ссылка здесь: https://www.rapidsslonline.com/ssl-tools/ssl-converter.php
Ниже приведены шаги, используемые для запрашиваемого сценария.
И это все, что вам нужно загрузить PFX и использовать это в процессе импорта в IIS.
Надеюсь, что это помогает другим единомышленникам, ленивым техническим людям.
источник
Для файлов cfx из SSLForFree я нахожу этот https://decoder.link/converter самым простым.
Просто убедитесь, что выбран PEM -> PKCS # 12, затем загрузите сертификат, файлы ca_bundle и key и выполните преобразование. Запомните пароль, затем загрузите его с использованным паролем и добавьте привязки.
источник