Соединение не защищено с правильным SSL-сертификатом (Websockets) - PullRequest
0 голосов
/ 22 февраля 2020

Сертификат SSL был правильно выдан для https://www.govtschemes.in

Однако у меня есть серверы Websocket на базе Python и Nodejs, которые используют один и тот же домен (только для сохранения домена + затраты на SSL), но на другом порту 31333

Таким образом, на сервере WebSocket он связывается как: wss://www.govtschemes.in:31333

В некоторых браузерах Firefox клиент Websocket может связываться с этими серверами без каких-либо проблем. Но с большинством Firefox браузеров это не так. Для них я набираю https://www.govtschemes.in:31333 в адресной строке и подтверждаю исключение безопасности . Затем он начинает работать правильно.

Согласно Comodo site Сертификат SSL будет работать для нескольких портов (31333).

Тогда зачем мне (или моим клиентам) нужно сделать это исключение безопасности для wss://www.govtschemes.in:31333, чтобы Javascript код клиента браузера мог связываться с удаленными серверами Websocket?

enter image description here

1 Ответ

0 голосов
/ 22 февраля 2020

Это неверная конфигурация сервера. Он отправляет только листовой сертификат, но не тот сертификат цепочки.

$ openssl s_client -connect www.govtschemes.in:31333
...
Certificate chain
  0 s:CN = govtschemes.in
    i:C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA

В противоположность этому сервер в порту 443 (т. Е. По умолчанию https) отправляет все:

$ openssl s_client -connect www.govtschemes.in:443
...
Certificate chain
 0 s:CN = govtschemes.in
   i:C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA
 1 s:C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA
   i:C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
 2 s:C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
   i:C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root

Обратите внимание, что только то, что вы используете один и тот же сертификат на разных серверах, не означает, что SSL-соединение с серверами будет вести себя одинаково. Это разные серверы, которые обслуживают разные цепочки сертификатов, а также поддерживают разные версии TLS.

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