我正在开发一个使用 webrtc 连接进行音频的应用程序,同时测试新版本的 chrome 124(该版本目前处于测试阶段,但几天后将正式发布),我们注意到音频停止为我们工作。
在使用wireshark监听客户端和服务器之间发送的数据包时,我们注意到有一个数据包在尝试初始化连接时通知我们握手,但没有写入导致此错误的原因
进一步看,我们使用附加标志扩展了 chrome 中的 webrtc 日志 --enable-logging --vmodule=/webrtc/=1
从它们中,我们能够读取其他信息,通知我们客户端尝试发送证书时发生错误 [18496:21896:0403/131717.236:WARNING:openssl_adapter.cc(820)] write_alert fatal handshake failure TLS client send_client_certificate [18496:21896:0403/131717.236:INFO: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 侦听器上进入失败状态
应用程序在所有旧版本的 chromium 和所有 Firefox 版本上运行良好
在新版本中什么可能导致此错误?查看变更日志中的更改,我没有发现任何可能导致此错误的内容https://chromestatus.com/features#milestone%3D124
我们面临的问题是我们只支持 ClientCertificateType.rsa_sign,但也需要支持 Chrome 124 的 ClientCertificateType.ecdsa_sign。