IdentityServer4 HTTPS / SSL в Linux - PullRequest
       41

IdentityServer4 HTTPS / SSL в Linux

0 голосов
/ 11 октября 2018

Я работаю над небольшим dotnet + Angular проектом , где я использую этот вид архитектуры: есть 3 отдельные папки:

  • Приложение (Angular Client)
  • Auth (dotnet MVC с IdentityServer4)
  • Api (dotnet MVC)

Все они должны работать с https.

Я работал в Windows дотеперь, и у меня не было проблем с SSL, сертификатами и т. д. только с использованием Visual Studio и IIS Express.

В тот момент я смог развернуть все на докере, используя отдельные контейнеры для каждого веб-сервиса (приложение, Auth, Api) и сеть "обратного канала", позволяющая контейнерам взаимодействовать .Я сделал это, привязав некоторые виртуальные тома к док-контейнерам, чтобы они могли использовать файлы, сгенерированные для меня Visual Studio в:

  • % USERPROFILE \ AppData \ Roaming \ Microsoft \ UserSecrets -> / root /.microsoft / usersecrets
  • % USERPROFILE.aspnet \ https -> /root/.aspnet/https/

Я совершенно не помню, где я нашел эти объяснения, чтобы сделать это какэто, но это сработало!

Теперь я нахожусь на Linux (Кали), и я вообще не могу использовать самозаверяющие сертификаты.Я не парень в Linux, и я просто не понимаю, что мне нужно сделать, чтобы это работало.

Я пробовал некоторые вещи для создания самозаверяющих сертификатов в Linux, но у меня всегда одно и то жепроблема при попытке перейти по https://localhost:44300 (приложение), https://localhost:44385 (API) или https://localhost:44321 (auth) ==> NET :: ERR_CERT_AUTHORITY_INVALID

И каждый раз я пытаюсь по-разному создавать сертификати чтобы верить этому, я вижу, что проблема все еще присутствует.Но самое странное, что дата создания сертификата не меняется:

enter image description here

Хотелось бы хотя бы узнать, где я могу найти этосертификат на мою машину (сертификат от 6 октября 2018 года @ 17:28:09).

Спасибо!

1 Ответ

0 голосов
/ 11 октября 2018

Я не знаком с требованиями для настройки HTTPS / TLS для приложений Angular и .NET.Однако у меня есть опыт работы с безопасностью и TLS в целом.

Когда браузер (часто Chrome) выдает ошибку "NET::ERR_CERT_AUTHORITY_INVALID", это означает, что сертификат сервера TLS самоподписан, поэтому Chrome не может проверитьИдентификация сервера с использованием любого из предварительно доверенных сертификатов CA.

В Windows эту проблему легко решить, импортировав самозаверяющий сертификат сервера в certmgr -> Trusted Root Certification.Папка Authorities \ Certificates.

Я никогда не выполнял эту настройку в Linux , но я уверен, что подобный подход существует.Firefox не использует тот же подход с предварительно доверенными сертификатами CA, что и Chrome, у Firefox есть собственное хранилище ключей, которое не зависит от ОС.Возможно, вам помогут следующие вопросы:

https://unix.stackexchange.com/questions/251811/install-root-ssl-certificate https://unix.stackexchange.com/questions/125731/install-ssl-certificate-in-iceweasel

Примечание. Конечно, правильной настройкой будет использование подписанного СА сертификата сервера.

...