Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Использование самоподписного сертификата для HTTPs / 18 сообщений из 18, страница 1 из 1
02.08.2021, 16:05
    #40087890
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
Всем привет, есть проект Vue и Asp Core в качестве SPA хостинга и backend'а. Приложение доступно только в локальной сети. Для того, чтобы активировать HTTP2-протокол, необходимо иметь сертификат. Я создал Windows самоподписанный сертификат, установил его в качестве используемого для AspCore
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
     public static IHostBuilder CreateHostBuilder(string[] args)
        {
            var config = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: false)
        .Build();

            var stringPort = config["Host:Port"];

            int Port = 8080;

            if (int.TryParse(stringPort, out Port))
            {
            }

            return Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.ConfigureKestrel((options) =>
                {
                    options.Listen(IPAddress.Any, Port, listenOptions =>
                    {
                        listenOptions.Protocols = HttpProtocols.Http1AndHttp2;
                        listenOptions.UseHttps("Certificate/Test.pfx", "certificateTest");
                    });

                });
                           webBuilder.UseStartup<Startup>();
            });
        }


Http2 заработало, приложение доступно в локальной сети. Однако GoogleChrome распознает его как небезопасное.
Я перенес файл сертификата на другой компьютер, установил там его, однако GoogleChrome браузер все равно пишет, что сайт опасен.
Собственно вопрос, как заставить браузер верить сертификату в локальной сети?
Спасибо
...
Рейтинг: 0 / 0
02.08.2021, 16:15
    #40087891
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
Для начала - на какой домен выписан этот сертификат? Прямо на ip-шник? )))
...
Рейтинг: 0 / 0
02.08.2021, 16:28
    #40087896
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
Насколько я помню, если кликнуть по иконке возле надписи "Не защищено", то он скажет в чем собственно проблема сертификата. Скорее всего, как выше сказали, сертификат выписан на localhost, а обращаемся к сайту по IP - вот и несоответствие.
...
Рейтинг: 0 / 0
02.08.2021, 18:22
    #40087946
love_bach
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
vb_sub
Всем привет, есть проект Vue и Asp Core в качестве SPA хостинга и backend'а. Приложение доступно только в локальной сети. Для того, чтобы активировать HTTP2-протокол, необходимо иметь сертификат. Я создал Windows самоподписанный сертификат, установил его в качестве используемого для AspCore
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
     public static IHostBuilder CreateHostBuilder(string[] args)
        {
            var config = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: false)
        .Build();

            var stringPort = config["Host:Port"];

            int Port = 8080;

            if (int.TryParse(stringPort, out Port))
            {
            }

            return Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.ConfigureKestrel((options) =>
                {
                    options.Listen(IPAddress.Any, Port, listenOptions =>
                    {
                        listenOptions.Protocols = HttpProtocols.Http1AndHttp2;
                        listenOptions.UseHttps("Certificate/Test.pfx", "certificateTest");
                    });

                });
                           webBuilder.UseStartup<Startup>();
            });
        }


Http2 заработало, приложение доступно в локальной сети. Однако GoogleChrome распознает его как небезопасное.
Я перенес файл сертификата на другой компьютер, установил там его, однако GoogleChrome браузер все равно пишет, что сайт опасен.
Собственно вопрос, как заставить браузер верить сертификату в локальной сети?
Спасибо


щелкни на "Дополнительно" и разреши переход. а потом замарочься, ели надо будет, с валидным сертификатом
...
Рейтинг: 0 / 0
03.08.2021, 07:45
    #40088062
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
1) корневой\целевой сертификат не добавлен в список доверенных (trusted)
2) не указан DN сертификата или указан неверное (можно указать несколько)
...
Рейтинг: 0 / 0
03.08.2021, 08:26
    #40088068
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
А зачем сертификат в локальной сети?
...
Рейтинг: 0 / 0
03.08.2021, 09:38
    #40088093
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
ShSerge
А зачем сертификат в локальной сети?
затем, что браузер не знает, открывает он сайт из локальной сети или не из локальной. Есть сайт - будь добр сертификат валидный к нему
...
Рейтинг: 0 / 0
03.08.2021, 09:41
    #40088096
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
Shocker.Pro
Для начала - на какой домен выписан этот сертификат? Прямо на ip-шник? )))

Создание сертификата делал по приблизительно такому руководству -уже точно к сожалению не помню.
Сертификат сейчас находится в ветке "Промежуточные центры сертификации-Сертификаты"
Не знаю это ли свойство, которое показывает на какой домен выписан сертификат, но есть в сертификате свойство "Субъект"- там я ставил рандомный домен, не в курсе был что по нему буде привязка.
...
Рейтинг: 0 / 0
03.08.2021, 09:42
    #40088097
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
love_bach
vb_sub
Всем привет, есть проект Vue и Asp Core в качестве SPA хостинга и backend'а. Приложение доступно только в локальной сети. Для того, чтобы активировать HTTP2-протокол, необходимо иметь сертификат. Я создал Windows самоподписанный сертификат, установил его в качестве используемого для AspCore
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
     public static IHostBuilder CreateHostBuilder(string[] args)
        {
            var config = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: false)
        .Build();

            var stringPort = config["Host:Port"];

            int Port = 8080;

            if (int.TryParse(stringPort, out Port))
            {
            }

            return Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.ConfigureKestrel((options) =>
                {
                    options.Listen(IPAddress.Any, Port, listenOptions =>
                    {
                        listenOptions.Protocols = HttpProtocols.Http1AndHttp2;
                        listenOptions.UseHttps("Certificate/Test.pfx", "certificateTest");
                    });

                });
                           webBuilder.UseStartup<Startup>();
            });
        }


Http2 заработало, приложение доступно в локальной сети. Однако GoogleChrome распознает его как небезопасное.
Я перенес файл сертификата на другой компьютер, установил там его, однако GoogleChrome браузер все равно пишет, что сайт опасен.
Собственно вопрос, как заставить браузер верить сертификату в локальной сети?
Спасибо


щелкни на "Дополнительно" и разреши переход. а потом замарочься, ели надо будет, с валидным сертификатом

Да так и делаю сейчас.
...
Рейтинг: 0 / 0
03.08.2021, 09:44
    #40088099
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
Shocker.Pro
ShSerge
А зачем сертификат в локальной сети?
затем, что браузер не знает, открывает он сайт из локальной сети или не из локальной. Есть сайт - будь добр сертификат валидный к нему

Еще из-за того, что без сертификата не включить HTTP2.
...
Рейтинг: 0 / 0
03.08.2021, 09:51
    #40088103
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
vb_sub
там я ставил рандомный домен
то есть ты решил, что браузеру все равно, какой сертификат, лишь бы он был?
...
Рейтинг: 0 / 0
03.08.2021, 10:04
    #40088109
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
Shocker.Pro
vb_sub
там я ставил рандомный домен
то есть ты решил, что браузеру все равно, какой сертификат, лишь бы он был?

Я думал это свойство чисто для описания, тем более я не планировал использовать сертификат для всего домена, только для нескольких компьютеров, на которые я перенесу физически сертификат.
...
Рейтинг: 0 / 0
03.08.2021, 11:14
    #40088134
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
vb_sub
Я думал
Ну получилось как бы ты принес на собеседование сертификат о прохождении программистских курсов на Васю Пупкина и очень удивляешься, что браузер HR его не принимает и смотрит на тебя с удивлением
...
Рейтинг: 0 / 0
03.08.2021, 11:16
    #40088135
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
vb_sub
только для нескольких компьютеров, на которые я перенесу физически сертификат.
то есть нужно же подумать о том, что между сайтом (тобой) и сертификатом должна быть хоть какая-то взаимосвязь (фамилия-имя)
...
Рейтинг: 0 / 0
03.08.2021, 15:51
    #40088266
Алымов Анатолий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
Если обращаешься по ip-адресу, то в сертификате Дополнительное имя субъекта (Subject Alternative Name) это должно быть указано - там должен быть прописан этот конкретный ip-адрес.
И сам сертификат не надо устанавливать на все машины, которые обращаются к серверу - только сертификаты подписавшие его.
...
Рейтинг: 0 / 0
06.08.2021, 14:52
    #40089199
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
1) Генерирую самоподписный сертификат командой в PowerShell
Код: powershell
1.
New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "172.66.6.66" -FriendlyName "172.66.6.66" -NotAfter (Get-Date).AddYears(1)


2)Он появляется в списке промежуточных центров сертификации
3)Переношу его в доверенные корневые центры сертификации
4)Делаю его экспорт с параметрами:файл X.509(.CER) в кодировке DER
5) На выходе получаю файл сертификата с расширением .cer, который указываю в строке загрузки приложения
Код: c#
1.
    listenOptions.UseHttps("Certificate/172.66.6.66.cer");


6)В браузере получаю ошибку NET::ERR_CERT_AUTHORITY_INVALID
Не удалось подтвердить, что это сервер 172.66.6.66. Операционная система компьютера не доверяет его сертификату безопасности. Возможно, сервер настроен неправильно или кто-то пытается перехватить ваши данные.
Что не так?
...
Рейтинг: 0 / 0
06.08.2021, 15:21
    #40089205
Алымов Анатолий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
Не знаю как через powershell. Генерирую через openssl, пример - https://r-notes.ru/administrirovanie/poleznosti/164-openssl-sozdanie-multidomennogo-sertifikata.html
Т.е. при генерации только правильно конфиг-файл настроить:
Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[ req ]                      # В этой секции
req_extensions = v3_req      # раскомментировать эту строку
[ v3_req ]                   # В этой
subjectAltName = @alt_names  # добавить такую строку
# В конец файла добавить секцию
[ alt_names ]                # И здесь
DNS.0 = server1.dname.ru     # указать список доменов
DNS.1 = *.dname2.ru          # для которых выписываем сертификат
DNS.2 = *.dname3.ru
IP.0  = 88.22.111.44         # И, если нужно, IP адреса


Ну и ещё генерирую корневой сертификат, которым подписываю остальные - его как раз надо будет установить на машины, которые используют сервер - https://habr.com/ru/post/352722/
...
Рейтинг: 0 / 0
07.08.2021, 12:07
    #40089329
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование самоподписного сертификата для HTTPs
Алымов Анатолий
Не знаю как через powershell.

У меня есть готовый скриптик для генерации. Только там, понятное дело, параметры подправить на нужные надо будет:
https://github.com/fkthat/Scripts/blob/master/Tools/New-Certs.ps1
Он генерирует в итоге два файла: *.crt рутового сертификата и *.pfx сертификата сервера - надо их только, понятно еще импортировать/установить.

Я обычно просто генерирую wildcard сертификат на стандартный домен *.home.arpa и для всех сервисов этот домен использую.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Использование самоподписного сертификата для HTTPs / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]