Самоподписанный сертификат: мне не хватает связи между браузером и сервером - PullRequest
0 голосов
/ 30 декабря 2018

Я создал самоподписанный сертификат, используя openSSL, используя эту команду:

openssl req -x509 -out localhost.crt -keyout localhost.key \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=localhost' -extensions EXT -config <( \
printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")

У меня есть сервер Express / Node, использующий его через этот код:

https
    .createServer(
      {
        key: fs.readFileSync("/Users/Me/.localhost-ssl/localhost.key"),
        cert: fs.readFileSync("/Users/Me/.localhost-ssl/localhost.crt")
      },
      app
    )
    .listen(8080, () => console.log(env + " Server listening on port 8080"));

Я запустил этот сервери он работает через https.У меня есть клиент (на основе create-реагировать-приложение), работающий на той же машине, на другом порту, пытаюсь подключиться к этому серверу через порт 8080.

При первом запуске я доверял сертификату после того, как Chrome сказалчто он был недействительным и, как показано на рисунке ниже, мое клиентское приложение не жалуется на сертификат:

Connections is safe

Однако клиент не можетполучить данные с сервера.Клиент показывает эту ошибку: enter image description here

Вот моя фотография брелка, показывающая этот сертификат:

enter image description here

Чего не хватает?Нужно ли мне 2 сертификата в моей связке ключей?Потому что я использую клиент и сервер на одной машине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...