1

ブラウザからブラウザへ、AndroidからAndroidへ、Androidからブラウザへの通話がある音声/ビデオ通話システムを開発しています。私はそれをすべて機能させることができましたが、2 つのクライアント間で送信されるオーディオ/ビデオ パケットを暗号化するために使用されている暗号で問題が発生しました。私のシステムには特定の暗号のセットが必要であり、そのセットを Android から Android への呼び出しで動作させることができました。ただし、WebRTC 対応ブラウザで使用されているデフォルトの暗号は、Android から Android への呼び出しに使用されている代替暗号セットよりも大幅に脆弱です。したがって、システム内の暗号を「ダムダウン」して、Android からブラウザーへの呼び出しを実行できるようにする必要があります。

私は WebRTC 対応ブラウザのコードにアクセスできない (そして間違いなくそれを変更できない) ので、私の唯一の手段は、使用する暗号レベル/セットをピア接続オブジェクトに何らかの方法で選択または通知することです。これが以前に行われたことを聞いたことがあることを誓いますが、どこで見たのか、それについて話している場所を見つけることができません. だから、誰かが知っているかどうか疑問に思っていました:

  1. そのようなことは可能ですか?
  2. 可能であれば、通話の暗号をどのように設定しますか?
  3. Chrome と Firefox でサポートされている暗号は何ですか?

私が正しく見たものを覚えていれば、それは次のような JSON を{ 'crypto' : 'AES....'}webkitRTCPeerConnection の Constraints パラメータに渡す行に沿ってどこかで行われました。しかし、私は潜在的にこれらすべてを想像することができました.

4

1 に答える 1

4

以下を PeerConnection コンストラクターに渡すことで、DTLS を有効にできます。

{ 'optional': [{'DtlsSrtpKeyAgreement': 'true'}]}

ただし、暗号化アルゴリズムを選択することはできません。そのために、指定されたSRTP キー管理パラメーターを使用して、SDP を別の暗号化回線で変更できる可能性があります。ただし、デフォルト以外のものが Chrome でサポートされているかどうかはわかりません。これは、 discuss-webrtc メーリングリストにとって良い質問かもしれません。

于 2013-08-02T04:20:48.653 に答える