Ошибка: Невозможно настроить HTTPS-эндпоинт. Сертификат сервера не указан, и сертификат разработчика по умолчанию не найден
Обзор Ошибки
При запуске приложения на ASP.NET Core разработчики могут столкнуться с ошибкой: “Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found”. Эта ошибка указывает на то, что приложение не может найти действительный SSL-сертификат для настройки безопасного HTTPS-соединения. Это часто возникает во время разработки, когда сертификаты не настроены должным образом.
Распространенные Причины
- Отсутствие сертификата: Сертификат для HTTPS не был создан или не указан.
- Неисправный сертификат разработчика: Стандартный сертификат разработчика отсутствует или истек.
- Неправильные настройки Kestrel: Неверные параметры конфигурации для Kestrel могут привести к этой ошибке.
- Проблемы с разрешениями: У приложения могут быть недостаточные права для доступа к сертификату.
- Конфликтующие сертификаты: Если на машине есть несколько сертификатов для одного и того же домена, это может вызвать проблемы.
Методы Решения
Метод 1: Создание нового SSL-сертификата
Если у вас нет действительного сертификата, вы можете создать его с помощью OpenSSL. Выполните следующие шаги:
-
Создайте конфигурационный файл
asp_config.confс содержимым:
“`
[ req ]
default_bits = 2048
distinguished_name = dn
req_extensions = aspnet[ dn ]
CN = localhost[ aspnet ]
basicConstraints = critical, CA:FALSE
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = critical, serverAuth
subjectAltName = critical, DNS:localhost
1.3.6.1.4.1.311.84.1.1 = DER:02
“` -
Выполните команду для создания сертификата:
bash
openssl req -new -config asp_config.conf -keyout local_asp_dev.key -out local_asp_dev.csr -nodes -
Подпишите сертификат:
bash
openssl x509 -req -in local_asp_dev.csr -CA /path/to/CA.pem -CAkey /path/to/CA.key -CAcreateserial -out local_asp_dev.crt -days 365 -sha256 -extensions aspnet -extfile asp_config.conf -
Создайте PFX файл:
bash
openssl pkcs12 -in local_asp_dev.crt -inkey local_asp_dev.key -export -out local_asp_dev.pfx -
Переместите созданный файл PFX в хранилище сертификатов:
bash
mv local_asp_dev.pfx ~/.dotnet/corefx/cryptography/x509stores/my/
Метод 2: Очистка старых сертификатов
Если у вас уже есть сертификаты, но они не работают, попробуйте очистить их:
-
Выполните команду:
bash
dotnet dev-certs https --clean -
Удалите все сертификаты с именем
ASP.NET Core...изPersonalиTrusted root certification authoritiesвCertificates. -
После удаления выполните команду для установки нового сертификата:
bash
dotnet dev-certs https --trust
Метод 3: Настройка Kestrel для использования сертификата
Убедитесь, что ваш Program.cs файл правильно настроен для использования сертификата:
“`csharp
public class Program

コメント