libsrtp | Library for SRTP

 by   cisco C Version: v2.5.0 License: Non-SPDX

kandi X-RAY | libsrtp Summary

kandi X-RAY | libsrtp Summary

libsrtp is a C library. libsrtp has no bugs, it has no vulnerabilities and it has medium support. However libsrtp has a Non-SPDX License. You can download it from GitHub.

libSRTP provides functions for protecting RTP and RTCP. RTP packets can be encrypted and authenticated (using the srtp_protect() function), turning them into SRTP packets. Similarly, SRTP packets can be decrypted and have their authentication verified (using the srtp_unprotect() function), turning them into RTP packets. Similar functions apply security to RTCP packets. The typedef srtp_stream_t points to a structure holding all of the state associated with an SRTP stream, including the keys and parameters for cipher and message authentication functions and the anti-replay data. A particular srtp_stream_t holds the information needed to protect a particular RTP and RTCP stream. This datatype is intentionally opaque in order to better seperate the libSRTP API from its implementation. Within an SRTP session, there can be multiple streams, each originating from a particular sender. Each source uses a distinct stream context to protect the RTP and RTCP stream that it is originating. The typedef srtp_t points to a structure holding all of the state associated with an SRTP session. There can be multiple stream contexts associated with a single srtp_t. A stream context cannot exist indepent from an srtp_t, though of course an srtp_t can be created that contains only a single stream context. A device participating in an SRTP session must have a stream context for each source in that session, so that it can process the data that it receives from each sender. In libSRTP, a session is created using the function srtp_create(). The policy to be implemented in the session is passed into this function as an srtp_policy_t structure. A single one of these structures describes the policy of a single stream. These structures can also be linked together to form an entire session policy. A linked list of srtp_policy_t structures is equivalent to a session policy. In such a policy, we refer to a single srtp_policy_t as an element. An srtp_policy_t structure contains two srtp_crypto_policy_t structures that describe the cryptograhic policies for RTP and RTCP, as well as the SRTP master key and the SSRC value. The SSRC describes what to protect (e.g. which stream), and the srtp_crypto_policy_t structures describe how to protect it. The key is contained in a policy element because it simplifies the interface to the library. In many cases, it is desirable to use the same cryptographic policies across all of the streams in a session, but to use a distinct key for each stream. A srtp_crypto_policy_t structure can be initialized by using either the srtp_crypto_policy_set_rtp_default() or srtp_crypto_policy_set_rtcp_default() functions, which set a crypto policy structure to the default policies for RTP and RTCP protection, respectively.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              libsrtp has a medium active ecosystem.
              It has 1048 star(s) with 434 fork(s). There are 104 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 19 open issues and 229 have been closed. On average issues are closed in 153 days. There are 5 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of libsrtp is v2.5.0

            kandi-Quality Quality

              libsrtp has 0 bugs and 0 code smells.

            kandi-Security Security

              libsrtp has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              libsrtp code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              libsrtp has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              libsrtp releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              It has 1216 lines of code, 0 functions and 1 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of libsrtp
            Get all kandi verified functions for this library.

            libsrtp Key Features

            No Key Features are available at this moment for libsrtp.

            libsrtp Examples and Code Snippets

            No Code Snippets are available at this moment for libsrtp.

            Community Discussions

            QUESTION

            library link error when cross-compiling aws webrtc library
            Asked 2021-Jan-20 at 08:42

            I'm trying to cross compile aws webrtc library for arm but I encountered an error while linking C excutable test_srtp. I mixed the instruction of Readme.md and some stackoverflow post for the command. But I am still stuck here for 1 week and I can not find the case on google. How can I fix it?

            What command I input

            ...

            ANSWER

            Answered 2021-Jan-20 at 08:42

            I just solved it by using mbedtls instead of OpenSSL. Try it with mbedtls if there is someone who have the same issue.

            Source https://stackoverflow.com/questions/65729924

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install libsrtp

            To build the ./configure script mentioned above, libSRTP relies on the automake toolchain. Since ./configure is built from configure.in by automake, if you make changes in how ./configure works (e.g., to add a new library dependency), you will need to rebuild ./configure and commit the updated version. In addition to automake itself, you will need to have the pkgconfig tools installed as well.

            Support

            libsrtp@lists.packetizer.com general mailing list for news / announcements / discussions. This is an open list, see https://lists.packetizer.com/mailman/listinfo/libsrtp for singing up. libsrtp-security@lists.packetizer.com for disclosing security issues to the libsrtp maintenance team. This is a closed list but anyone can send to it.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link