2013-08-01 4 views
1

Я разрабатываю систему голосовой/видеовызовы, в которой есть браузер для браузера, Android для Android и Android для вызова браузера. Хотя мне удалось добиться того, что все работает, у меня возникла проблема с криптографией, используемой для шифрования аудио/видео-пакетов, отправляемых между двумя клиентами. Моя система требует определенного набора криптограмм, и мне удалось установить этот набор, работающий с Android на Android. Тем не менее, криптоны по умолчанию, используемые в браузерах с поддержкой WebRTC, значительно слабее, чем альтернативный набор криптограмм, используемый для Android-Android. Таким образом, я должен «заглушить» криптоны в системе, чтобы у меня Android-браузер мог звонить.Изменить криптографию, используемую в вызовах браузера WebRTC

Поскольку у меня нет доступа к коду для браузеров, поддерживающих WebRTC (и, безусловно, не могу их изменить), мой единственный ресурс - это как-то выбрать или сообщить объекту peerconnection, который крипто-уровень/установлен для использования. Клянусь, я слышал, что это было сделано раньше, но я не могу найти, где я его видел, и нигде не говорит об этом. Итак, мне было интересно, знают ли кто-нибудь:

  1. Возможно ли такое?
  2. Если возможно, как установить криптоны для вызова?
  3. Какие криптоны поддерживаются в Chrome и Firefox?

Если я помню, что я видел правильно, это было сделано где-то вдоль линии прохождения JSON ищет что-то вроде: { 'crypto' : 'AES....'} параметру ограничений webkitRTCPeerConnection. Однако я мог бы вообразить все это.

ответ

4

Вы можете включить DTLS пропусканием следующие конструктору PeerConnection:

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

Однако это не позволяет выбрать алгоритм шифрования. Для этого вы могли бы потенциально измерить SDP с другим crypto line с данным SRTP key management parameters. Тем не менее, я не уверен, если в Chrome поддерживается что-то другое, кроме стандартного. Это может быть хорошим вопросом для списка discuss-webrtc.

+0

«munge» - линия SDP, вы имеете в виду прямое замещение криптографического материала в SDP? Как это будет работать? Поскольку Chrome ожидал, что пакеты будут зашифрованы с другим набором информации? – AeroBuffalo

+0

«munge» -на SDP относится к изменению SDP, который сгенерирован и возвращен 'createOffer' перед вызовом' setLocalDescription' на локальной стороне и перед вызовом 'setRemoteDescription' на удаленной стороне (или перед отправкой на удаленную сторону). –

+0

А, это имеет смысл. Я напишу это, чтобы попытаться, когда я в конце концов настанет момент. Благодарю. – AeroBuffalo

Смежные вопросы