After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 632206 - SRTP support
SRTP support
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.25
Other Linux
: Normal enhancement
: 1.1.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-10-15 11:08 UTC by Levente Farkas
Modified: 2013-03-25 18:24 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Levente Farkas 2010-10-15 11:08:24 UTC
hi,
is there any plan to support SRTP and ZRTP in gstreamer:
http://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol
http://en.wikipedia.org/wiki/ZRTP
there is an open source library fot srtp protocol:
http://srtp.sourceforge.net/srtp.html
Comment 1 Olivier Crête 2010-10-15 20:13:27 UTC
There is a branch of gst-p-bad with a srtp element, but it still needs a bit of fixing before it can be merged/used:

http://git.collabora.co.uk/?p=user/tester/gst-plugins-bad.git;a=shortlog;h=refs/heads/srtp-fixes
Comment 2 Levente Farkas 2010-10-15 20:25:36 UTC
would be it better to add to bad earlier to more people can test it?
Comment 3 Olivier Crête 2010-10-15 20:32:23 UTC
It's not at the point where it needs to be tested, it's at the point where it needs to be kind of working first.
Comment 4 Levente Farkas 2011-06-02 22:27:26 UTC
any progress?
Comment 5 Olivier Crête 2011-06-02 22:40:40 UTC
no
Comment 6 Miguel Angel Cabrera Moya 2011-09-10 11:04:41 UTC
I ported changes from ocrete repository to a recent gst-plugins-bad version, also i fixed some errors to make it compile and removed libsrtp to make the plugin external.

The code is here https://github.com/madmac2501/gst-srtp

At the moment i don't plan to do anymore.
Comment 7 Olivier Crête 2011-09-10 17:27:21 UTC
There were some issues with making libsrtp external, but I don't remember the details. Although I do remember that debian has a patched version of libsrtp and that you must check against a non-debianized version to be sure it's correct.
Comment 8 Olivier Crête 2011-10-08 16:48:04 UTC
I updated my srtp branch, I pushed it on git.collabora.co.uk.. I think it's a good start.. That said, re-keying needs to happen more often than I expected, so the signalling has to be up to par, etc..
Comment 9 Olivier Crête 2013-03-13 00:05:26 UTC
Now merged upstream !!

commit 4eb960d6c348216f4ba946b8ae3e3b64a54c7766
Author: Olivier Crête <olivier.crete@collabora.com>
Date:   Tue Mar 12 19:47:51 2013 -0400

    srtp: Add SRTP plugin based on libsrtp
    
    In large part the work of Gabriel Millaire
Comment 10 Sergio López 2013-03-25 16:28:19 UTC
Hi Olivier,

I installed the gstreamer with srtp support, but when I test it, I always obtain the message "Dropping buffer" in the client (receiver).

Can you share with us a server and a client example?

Thanks.
Comment 11 Olivier Crête 2013-03-25 18:24:24 UTC
There was a bug preventing specifying the key through the CAPS, it has now been fixed. And here is an example (which I also put in the doc in the elements). A more dynamic application probably wants to provide the SRTP key by listening to the "request-key" signal from srtpdec to provide the key just-in-time.


gst-launch-1.0 udpsrc port=5004 caps='application/x-srtp, payload=(int)8, ssrc=(uint)1356955624, timestamp-offset=(uint)1784313208, seqnum-offset=(uint)43241, srtp-key=(buffer)012345678901234567890123456789012345678901234567890123456789, srtp-cipher=(string)aes-128-icm, srtp-auth=(string)hmac-sha1-80, srtcp-cipher=(string)aes-128-icm, srtcp-auth=(string)hmac-sha1-80' !  srtpdec ! rtppcmadepay 

gst-launch-1.0 audiotestsrc ! alawenc ! rtppcmapay ! 'application/x-rtp, payload=(int)8, ssrc=(uint)1356955624' ! srtpenc key="012345678901234567890123456789012345678901234567890123456789" ! udpsink port=5004