Я сталкивался с этой проблемой несколько раз, и каждый раз у нее была другая причина, поэтому я решил написать причины и точную команду, которая сработала для меня.
Вот несколько причин:
1- Копирование и вставка отпечатка сертификата из диалогового окна Windows добавляет скрытый символ в ваш хэш. Его не видно в текстовых редакторах, но вам нужно удалить символ, чтобы он заработал.
2- Отпечаток SSL должен быть доступен в разделе «Личные» -> «Сертификаты» для работы с локальным хостом.
3-Это должно быть 'ipport =', а не 'ipport:'
4- SSL-сертификат должен иметь закрытый ключ. Если вы используете консоль управления сертификатами, убедитесь, что у нее есть маленький значок ключа в представлении сертификата.
5- GUID должен быть определен в полном формате: {a10b0420-a21f-45de-a1f8-818b5001145a}, и он должен иметь одну кавычку в PowerShell: '{a10b0420-a21f-45de-a1f8-818b5001145a}' Таким образом, формат PowerShell отличается из командной строки.
6. Сертификат SSL должен содержать полные символы со всеми заполненными нулями и без пробелов. Вы можете скопировать отпечаток пальца (будьте осторожны, чтобы удалить специальный скрытый символ) и удалить пробелы или использовать netsh http show sslcert для получения значения, если сертификат уже зарегистрирован для другого адреса.
Что у меня сработало:
Вот точная команда, которая сработала для меня в PowerShell:
netsh http add sslcert ipport=0.0.0.0:20001 certhash=5304c034548b27c72b5e9c14f0c7bdd13e52d760 appid='{a10b0420-a21f-45de-a1f8-818b5001145a}'
А вот инструкция командной строки:
netsh
http add sslcert ipport=0.0.0.0:20001 certhash=5304c034548b27c72b5e9c14f0c7bdd13e52d760 appid={a10b0420-a21f-45de-a1f8-818b5001145a}
Дополнительные команды, которые помогут избежать связанных с этим проблем:
Используйте следующую команду, чтобы увидеть текущий зарегистрированный сертификат. Вы можете найти и повторно использовать certhash или свой appid оттуда:
netsh http show sslcert
Если сертификат уже зарегистрирован с аналогичным ip и портом, вам необходимо его удалить. Я обнаружил, что это вызывает проблему с localhost, 127.0.0.1 и 0.0.0.0. Вам нужно, чтобы в вашей тестовой среде была зарегистрирована только версия 0.0.0.0. Используйте следующую команду для удаления потенциально поврежденных сертификатов:
netsh http delete sslcert ipport=0.0.0.0:20001
person
mohghaderi
schedule
13.07.2017
appid
передcerthash
. Это так глупо. - person Alexandru   schedule 09.07.2015certhash
иappid
в одинарные кавычки ('
). После удаления одинарных кавычек все удалось. - person Uwe Keim   schedule 18.05.2017