<a name="introduction-to-libsrtp"></a>
# Introduction to libSRTP
This package provides an implementation of the Secure Real-time
Transport Protocol (SRTP), the Universal Security Transform (UST), and
a supporting cryptographic kernel. The SRTP API is documented in include/srtp.h,
and the library is in libsrtp2.a (after compilation).
This document describes libSRTP, the Open Source Secure RTP library
from Cisco Systems, Inc. RTP is the Real-time Transport Protocol, an
IETF standard for the transport of real-time data such as telephony,
audio, and video, defined by [RFC 3550](https://www.ietf.org/rfc/rfc3550.txt).
Secure RTP (SRTP) is an RTP profile for providing confidentiality to RTP data
and authentication to the RTP header and payload. SRTP is an IETF Standard,
defined in [RFC 3711](https://www.ietf.org/rfc/rfc3711.txt), and was developed
in the IETF Audio/Video Transport (AVT) Working Group. This library supports
all of the mandatory features of SRTP, but not all of the optional features. See
the [Supported Features](#supported-features) section for more detailed information.
This document is also used to generate the documentation files in the /doc/
folder where a more detailed reference to the libSRTP API and related functions
can be created (requires installing doxygen.). The reference material is created
automatically from comments embedded in some of the C header files. The
documentation is organized into modules in order to improve its clarity. These
modules do not directly correspond to files. An underlying cryptographic kernel
provides much of the basic functionality of libSRTP but is mostly undocumented
because it does its work behind the scenes.
--------------------------------------------------------------------------------
<a name="contact"></a>
# Contact Us
- [libsrtp@lists.packetizer.com](mailto:libsrtp@lists.packetizer.com) general mailing list for news / announcements / discussions. This is an open list, see
[https://lists.packetizer.com/mailman/listinfo/libsrtp](https://lists.packetizer.com/mailman/listinfo/libsrtp) for singing up.
- [libsrtp-security@lists.packetizer.com](mailto: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.
--------------------------------------------------------------------------------
<a name="contents"></a>
## Contents
- [Introduction to libSRTP](#introduction-to-libsrtp)
- [Contact Us](#contact)
- [Contents](#contents)
- [License and Disclaimer](#license-and-disclaimer)
- [libSRTP Overview](#libsrtp-overview)
- [Secure RTP Background](#secure-rtp-background)
- [Supported Features](#supported-features)
- [Implementation Notes](#implementation-notes)
- [Installing and Building libSRTP](#installing-and-building-libsrtp)
- [Applications](#applications)
- [Example Code](#example-code)
- [Credits](#credits)
- [References](#references)
--------------------------------------------------------------------------------
<a name="license-and-disclaimer"></a>
# License and Disclaimer
libSRTP is distributed under the following license, which is included
in the source code distribution. It is reproduced in the manual in
case you got the library from another source.
> Copyright (c) 2001-2005 Cisco Systems, Inc. All rights reserved.
>
> Redistribution and use in source and binary forms, with or without
> modification, are permitted provided that the following conditions
> are met:
>
> - Redistributions of source code must retain the above copyright
> notice, this list of conditions and the following disclaimer.
> - Redistributions in binary form must reproduce the above copyright
> notice, this list of conditions and the following disclaimer in
> the documentation and/or other materials provided with the distribution.
> - Neither the name of the Cisco Systems, Inc. nor the names of its
> contributors may be used to endorse or promote products derived
> from this software without specific prior written permission.
>
> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
> FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
> INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
> SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
> STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
> OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
<a name="libsrtp-overview"></a>
# libSRTP Overview
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` strucutre contains two `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 `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
`crypto_policy_t` structure can be initialized by using either the
`crypto_policy_set_rtp_default()` or `crypto_policy_set_rtcp_default()`
functions, which set a crypto policy structure to the default policies
for RTP and RTCP protection, respectively.
--------------------------------------------------------------------------------
<a name="secure-rtp-background"></a>
## Secure RTP Background
In this section we review SRTP and introduce some terms that are used
in libSRTP. An RTP session is defined b
没有合适的资源?快使用搜索试试~ 我知道了~
jrtplib编译库minGW32+qt
共425个文件
h:95个
cmake:48个
obj:47个
5星 · 超过95%的资源 需积分: 10 19 下载量 11 浏览量
2017-02-23
17:09:41
上传
评论
收藏 2.65MB ZIP 举报
温馨提示
折腾了好久终于算是弄好了,自己编译确实可以学到很多东西,下载之后将文件中的lib跟include拷到一起放到工程文件中 pro文件添加动态库就可以使用了,测试时端口号须为偶数,保持一致。
资源推荐
资源详情
资源评论
收起资源包目录
jrtplib编译库minGW32+qt (425个子文件)
objects.a 2.7MB
libjrtplib.dll.a 504KB
libjrtplib.dll.a 504KB
libjrtplib.dll.a 504KB
objects.a 60KB
objects.a 57KB
objects.a 51KB
objects.a 40KB
objects.a 37KB
objects.a 34KB
libjthread.dll.a 14KB
libjthread.dll.a 14KB
libjthread.dll.a 14KB
objects.a 9KB
objects.a 2KB
install-win.bat 939B
feature_tests.bin 48KB
feature_tests.bin 48KB
CMakeDetermineCompilerABI_CXX.bin 46KB
CMakeDetermineCompilerABI_CXX.bin 46KB
TestEndianess.bin 45KB
CMakeDetermineCompilerABI_C.bin 45KB
CMakeDetermineCompilerABI_C.bin 45KB
CMAKE_SIZEOF_UNSIGNED_SHORT.bin 45KB
srtp.c 133KB
srtp_driver.c 102KB
aes.c 95KB
cipher.c 21KB
rtpw.c 18KB
aes_gcm_ossl.c 18KB
CMakeCCompilerId.c 17KB
CMakeCCompilerId.c 17KB
aes_icm_ossl.c 17KB
crypto_kernel.c 17KB
cipher_driver.c 17KB
aes_icm.c 16KB
sha1_driver.c 15KB
rtp_decoder.c 15KB
sha1.c 12KB
datatypes.c 11KB
rdbx.c 10KB
rdbx_driver.c 9KB
ekt.c 8KB
hmac.c 8KB
stat_driver.c 8KB
hmac_ossl.c 8KB
dtls_srtp_driver.c 7KB
replay_driver.c 7KB
lfsr.c 6KB
datatypes_driver.c 6KB
rtp.c 6KB
auth.c 6KB
stat.c 6KB
auth_driver.c 5KB
null_auth.c 5KB
util.c 5KB
null_cipher.c 5KB
roc_driver.c 5KB
aes_calc.c 5KB
rdb.c 4KB
key.c 4KB
kernel_driver.c 3KB
getopt_s.c 3KB
alloc.c 3KB
env.c 3KB
ut_sim.c 3KB
err.c 2KB
CMAKE_SIZEOF_UNSIGNED_SHORT.c 903B
feature_tests.c 722B
feature_tests.c 722B
CHANGES 9KB
cmake.check_cache 86B
cmake.check_cache 86B
DependInfo.cmake 5KB
cmake_install.cmake 5KB
CMakeCXXCompiler.cmake 5KB
CMakeCXXCompiler.cmake 5KB
Makefile.cmake 4KB
Macros.cmake 4KB
Macros.cmake 4KB
cmake_install.cmake 3KB
Makefile.cmake 3KB
cmake_clean.cmake 2KB
CMakeCCompiler.cmake 2KB
CMakeCCompiler.cmake 2KB
cmake_install.cmake 2KB
cmake_install.cmake 1KB
FindJThread.cmake 1KB
FindJThread.cmake 1KB
cmake_install.cmake 871B
DependInfo.cmake 848B
FindLIBSRTP.cmake 774B
FindLIBSRTP.cmake 774B
DependInfo.cmake 715B
DependInfo.cmake 715B
DependInfo.cmake 715B
DependInfo.cmake 715B
DependInfo.cmake 715B
DependInfo.cmake 715B
DependInfo.cmake 715B
共 425 条
- 1
- 2
- 3
- 4
- 5
资源评论
- jhyang03312017-11-14不错,省得编译了。
若歌
- 粉丝: 55
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功