Первый раз пытаюсь работать с https, и хоть базово и понимаю что это - очень сильно плаваю в тонкостях.
Я пытаюсь попробовать собрать api-приложение, используя для этого web api asp.net шаблон в visual studio.
Собственно с собрать - проблем нет, написано, собрано, с базой работаем на api-запросы отвечаем, jwt токены готовимся генерировать.
Но есть проблемы с ssl
Насколько я понимаю, kestrel (это встроенный веб-сервер) или сама VS - при первом запуске сгенерировала мне сертификат для localhost, который я успешно одобрил и моё приложение открывается по защищённому соединению через localhost:7191 дефолтный https-порт проекта в vs по этому шаблону.
Но удалённые подключения - будь то ajax-запрос с внешнего сайта (я использую свой хостинг, у доменного имени на котором - свой сертификат, купленный у хостинг-провайдера) - отдают ERR_CERT_COMMON_NAME_INVALID, показывая что сертификат выдан для localhost а не образного xx.xx.xx.xx
Просто вбивание адреса в строку браузера - разумеется то же самое, с такой же ошибкой.
Да, я понимаю что можно "всё равно открыть" (но не в случае с запросом от скрипта) или использовать http - но это не интересно.
И я не очень понимаю, что мне нужно сделать, потому что я не совсем настолько ебу как работают сертификаты.
Я поменял A-запись на одном из своих доменов с купленным сертификатом - на айпи-адрес своего компьютера, где запущен проект VS - ничего не изменилось.
Я сгенерировал .pem и .pfx с помощью openssl под свой айпи-адрес и попытался подключить их в свой код несколькими путями, по совету chatgpt - типа UseCertificateForwarding(); и context.Connection.ClientCertificate; принудительным "sslCert": "certificate.pfx" в launchSettings.json в настройках https - но так как я первый раз пытаюсь в https - мне сложно задать правильный вопрос, не до конца понимая как это работает.
В любом случае эти попытки не сработали судя по всему, потому что каждый заход на адрес - показывает сертификат localhost и ERR_CERT_COMMON_NAME_INVALID вне зависимости от моих попыток.
Я просто подключаю сертификаты неверно?
Могу ли я вообще в принципе получить сертификат для подключения к айпиадресу а не домену?
Если нет - идея с подключением домена была верной?
Тогда, где-то в визуалке или настройках kestrel забит сертификат, который используется - этот самый для localhost?
Схуяли тогда этих настроек нет нигде в настройках проекта?
Или я даже это понимаю неверно
Я пытаюсь попробовать собрать api-приложение, используя для этого web api asp.net шаблон в visual studio.
Собственно с собрать - проблем нет, написано, собрано, с базой работаем на api-запросы отвечаем, jwt токены готовимся генерировать.
Но есть проблемы с ssl
Насколько я понимаю, kestrel (это встроенный веб-сервер) или сама VS - при первом запуске сгенерировала мне сертификат для localhost, который я успешно одобрил и моё приложение открывается по защищённому соединению через localhost:7191 дефолтный https-порт проекта в vs по этому шаблону.
Но удалённые подключения - будь то ajax-запрос с внешнего сайта (я использую свой хостинг, у доменного имени на котором - свой сертификат, купленный у хостинг-провайдера) - отдают ERR_CERT_COMMON_NAME_INVALID, показывая что сертификат выдан для localhost а не образного xx.xx.xx.xx
Просто вбивание адреса в строку браузера - разумеется то же самое, с такой же ошибкой.
Да, я понимаю что можно "всё равно открыть" (но не в случае с запросом от скрипта) или использовать http - но это не интересно.
И я не очень понимаю, что мне нужно сделать, потому что я не совсем настолько ебу как работают сертификаты.
Я поменял A-запись на одном из своих доменов с купленным сертификатом - на айпи-адрес своего компьютера, где запущен проект VS - ничего не изменилось.
Я сгенерировал .pem и .pfx с помощью openssl под свой айпи-адрес и попытался подключить их в свой код несколькими путями, по совету chatgpt - типа UseCertificateForwarding(); и context.Connection.ClientCertificate; принудительным "sslCert": "certificate.pfx" в launchSettings.json в настройках https - но так как я первый раз пытаюсь в https - мне сложно задать правильный вопрос, не до конца понимая как это работает.
В любом случае эти попытки не сработали судя по всему, потому что каждый заход на адрес - показывает сертификат localhost и ERR_CERT_COMMON_NAME_INVALID вне зависимости от моих попыток.
Я просто подключаю сертификаты неверно?
Могу ли я вообще в принципе получить сертификат для подключения к айпиадресу а не домену?
Если нет - идея с подключением домена была верной?
Тогда, где-то в визуалке или настройках kestrel забит сертификат, который используется - этот самый для localhost?
Схуяли тогда этих настроек нет нигде в настройках проекта?
Или я даже это понимаю неверно