Я работаю над приложением, которое использует соединения webrtc для аудио. Во время тестирования новой версии Chrome 124, которая в настоящее время находится в стадии бета-тестирования, но официально будет выпущена через несколько дней, мы заметили, что звук у нас перестал работать.
при прослушивании пакетов с помощью Wireshark, которые передаются между клиентом и сервером мы заметили, что один пакет сообщает нам о рукопожатии при попытке инициализации соединения, но не написано, что вызвало эту ошибку
Если посмотреть дальше, мы расширили журналы webrtc в Chrome дополнительными флагами --enable-logging --vmodule=/webrtc/=1
из них мы смогли прочитать дополнительную информацию, сообщающую нам, что ошибка произошла, когда клиент пытался отправить сертификат [18496:21896:0403/131717.236:WARNING:openssl_adapter.cc(820)] write_alert фатальный сбой рукопожатия TLS-клиент send_client_certificate [ 18496:21896:0403/131717.236:ИНФО:openssl_adapter.cc(817)] Connect_exit TLS-клиент send_client_certificate [18496:21896:0403/131717.236:ПРЕДУПРЕЖДЕНИЕ:openssl_stream_adapter.cc(949)] OpenSSLStreamAdapter: :Ошибка(ПродолжитьSSL, 1, 0) [18496:21896:0403/131717.236:INFO:dtls_transport.cc(756)] DtlsTransport[0|1|]: ошибка транспорта DTLS, код = 1 [18496:21896:0403/131717.236:VERBOSE1:dtls_transport.cc(863) ] DtlsTransport[0|1|]: set_dtls_state от: 1 до 4
RTCPeerConnection перешел в состояние сбоя в прослушивателе onconnectionstatechange
Приложение отлично работает на всех старых версиях Chrome и всех версиях Firefox.
Что могло вызвать эту ошибку в новой версии? Просматривая изменения в журнале изменений, я не нашел ничего, что могло бы вызвать эту ошибку https://chromestatus.com/features#milestone%3D124
зарегистрировать ошибку в компоненте WebRTC и использовать bisect-builds.py chromium.org/developers/bisect-builds-py, чтобы определить коммит, вызвавший изменение в поведении. Вам нужно будет указать немного больше информации о другой стороне соединения.
Вы писали в группах? Я разместил здесь: groups.google.com/g/discuss-webrtc/c/0RYZwT8eWWM/m/lb2Uop6nAAAJ Вы используете SIPSorcery?
Проблема для нас заключалась в том, что мы поддерживали только ClientCertificateType.rsa_sign, но необходимо было поддерживать и ClientCertificateType.ecdsa_sign для Chrome 124.
у нас было то же самое
Разработчики Chromium могут вам помочь: groups.google.com/a/chromium.org/g/chromium-dev