Подключение к WSS через веб-сайт в Android - PullRequest
0 голосов
/ 19 октября 2018

Мне нужно подключиться к серверу WSS, который использует самозаверяющий сертификат с устройства Android с websocat.

websocat wss://example.com отлично работает с сертификатами, подписанными властями, но не может проверить самозаверяющие сертификаты.

В дополнение к websocat есть обходной путь, использующий socat:

websocat --binary --ws-c-uri=wss://example.com - ws-c:cmd:'socat - ssl:example.com:443,verify=1,cafile=/path/to/cert.crt'

Это работает в Debian, но не в Android, как socat для Androidне поддерживает SSL (я не уверен, что существует реальный способ компиляции socat с поддержкой SSL для Android).

Можно ли заставить веб-сайт работать с самозаверяющими сертификатами?

1 Ответ

0 голосов
/ 03 ноября 2018

Уже существует websocat 1.2.0, который поддерживает опцию -k (--insecure), которая, как и в curl, отключает проверку сертификата.

Дополнительно я made static-ish openssl исполняемых файлов для Android, которые также можно использовать в качестве метода обхода в websocat 1.1.0:

$ websocat -b --ws-c-uri=wss://echo.websocket.org - ws-c:sh-c:'openssl s_client -quiet -connect echo.websocket.org:443'
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = *.websocket.org
verify return:1
dsaf
dsaf
12345
12345
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...