`

Supported Values and Parameters for the a=crypto Attribute

    博客分类:
  • SRTP
 
阅读更多

The a=crypto attribute is as specified in [RFC4568], with the exception that a single white space MUST be used. The attribute has the following format, expressed using Augmented Backus-Naur Form (ABNF) notation, as defined in [RFC5234].

a=crypto tag WSP crypto-suite WSP key-params *(WSP session-param)

tag field: The tag field is used to specify a decimal number to identify a particular cryptographic attribute in the SDP security description for media streams (2), as specified in [RFC4568]. In the current extension, the semantics of the tag field is more restricted, in that the decimal value MUST be unique across thea=crypto and a=cryptoscale attributes. a=cryptoscale is a new attribute defined by this protocol and is specified in more detail in section 3.1.5.2.

crypto-suite field: The crypto-suite field is used to specify cryptographic methods or algorithms for media encryption. The only crypto-suite option supported is AES_CM_128_HMAC_SHA1_80. In other words, crypto-suite MUST be "AES_CM_128_HMAC_SHA1_80". In [RFC4568], this is defined in the context of "RTP/SAVP" as the transport. In the current extensions, use of this field is extended to the case when the transport is "RTP/AVP" in an SDP offer. This deviation from [RFC4568] is required to support negotiation of SRTP optionally, as specified in section 3.1.5.8.

key-params field: The key-params field is used to specify the keying information. The key-params are further defined in [RFC4568], as follows:

key-params = <key-method> ":" <key-info>

More than one key-params instance per line of a=crypto MUST NOT be used.

The key-method subfield is used to specify the provisional method of the keying information. As specified in [RFC4568], the only method that MUST be used is "inline", indicating that the keying material is provided in the key-info field.

The key-info field is specified in [RFC4568]. The specification of key-info in [RFC4568] is specifically targeted to the "RTP/SAVP" transport. In the current extension, the key-info field can be used for both "RTP/SAVP" and "RTP/AVP". This extension is required to support negotiation of SRTP optionally, as specified in section 3.1.5.8.

Following is the format specified in [RFC4568] for the key-info field.

"inline:" <key||salt> ["|" lifetime] ["|" MKI ":" length]

Following is a list of constraints and values accepted for the key-info field:

  • "MKI" SHOULD be used. If MKI is used, the MKI length MUST be 1 byte.

  • The value for lifetime MUST be "2^31" in SDP offers and SDP answers sent.

  • The value of lifetime MUST be ignored in SDP offers and SDP answers received, and "2^31" MUST be used instead.

session-param field: The session-param field MUST NOT be used.

The following is an example a=crypto attribute:

a=crypto:2 AES_CM_128_HMAC_SHA1_80 inline:t20I47Tyj1NDG6H+gWNpIzAzRPfYeQg8pP+ukwoy|2^31|1:1

Horizontal tab (HTAB code as defined in ABNF) between tokens MUST NOT be used by the application.

分享到:
评论

相关推荐

    Cable Supported Bridges: Concept and Design

    At present, cable supported bridges are enabled for spans in the range from 200 m to 2000 m (and beyond), thus covering approximately 90 per cent of the present span range. For the vast majority of ...

    曲线拟合工具CurveExpert 1.0

    now supported, similar to the implementation of QuickCalc. Changes: + If background processing is enabled, during iteration the cursor is a combined arrow/hourglass to inform the user that he/...

    FFMPEG For Android

    If there is no existing library configuration for a selected product, the library will be configured on the fly, during building process, with parameters provided in Android_configuration.mk. Whenever...

    Designed for Use Create Usable Interfaces for Applications and the Web

    Filled with illustrations and supported by psychological research, expert developer and user interface designer Lukas Mathis gives you a deep dive into research, design, and implementation – the ...

    MicroPython for the Internet of Things

    MicroPython and controllers that support it eliminate the need for programming in a C-like language, making the creation of IoT applications and devices easier and more accessible than ever. ...

    java7帮助文档

    The java.nio.file package and its related package, java.nio.file.attribute, provide comprehensive support for file I/O and for accessing the file system; see File I/O (featuring NIO.2). NIO stands for...

    Delphi7.1 Update

    * When multiple indexes are included with the data from a provider, the IndexDef entries in the TClientDataset will show duplicate ‘Fields‘ and ‘DescFields‘ values (Quality Central 7543)....

    Microservice for the enterprise

    Concepts in the book are supported with use cases, and emphasis is put on the reality that most of you are implementing in a “brownfield” environment in which you must implement microservices ...

    Microservices for the Enterprise-Designing Developing and Deploying.pdf

    Concepts in the book are supported with use cases, and emphasis is put on the reality that most of you are implementing in a “brownfield” environment in which you must implement microservices ...

    Supported Internet RFCs and Drafts.doc

    Supported Internet RFCs and Drafts ATM  RFC 1483, Multiprotocol Encapsulation over ATM Adaptation Layer 5 (routed Protocol Data Units only)  RFC 2225, Classical IP and ARP over ATM (responses ...

    Senfore_DragDrop_v4.1

    This is believed to be a bug in the Windows clipboard and a work around hasn't been found yet. * Asynchronous targets appears to be broken in the current release. * When TDropFileTarget....

    数位板压力测试

    This specification was developed in response to a perceived need for a standardized programming inter-face to digitizing tablets, three dimensional position sensors, and other pointing devices by a ...

    Unidac Pro 7.1.4 XE8

    Bug with processing a field with alias for query with the JOIN statement is fixed Bug with date and time fractional seconds precision when DescribeParams = True is fixed MySQL data provider Azure ...

    opengles_spec_2_0

    The fixed point (signed 16.16) data type is supported for vertex attribute arrays only. Shader uniform variables and command parameters no longer support fixed point in order to simplify the API and ...

    LCTF软件备份VariSpec™ Liquid Crystal Tunable Filters

    If this is enabled, by calling the VsEnableImplicitPalette() function, the driver will define the settings for a given wavelength once, then saves the results within the VariSpec for faster access ...

    S7A驱动720版本

    - When the signal conditioning function "S&M" was used for a byte value, the driver wrote wrong values to the PLC. Build 223 : New Functions: - The number of supported NetLinks has been ...

    BURNINTEST--硬件检测工具

    - A network connection and the TCP/IP networking software installed for the Network Tests Pro version only: - A serial port loop back plug for the serial port test. - A parallel port loop back plug...

    avs 标准文档中的源码

    &lt;ParameterName&gt; are the predefined names for Parameters and are case sensitive. See configfile.h for the definition of those names and their mapping to configinput-&gt;values. &lt;ParameterValue&gt; ...

    8-07-14_MegaCLI for linux_windows

    LSIP200232870 (DFCT) Add a Gen2 to Gen3 toggle function and a check for the PCI speed to MegaSCU/CLI [ PR : LSIP200231423 ] LSIP200232927 (DFCT) Port PR 198414 to MR5.4 (Headless Boot) ...

    UniDAC 7.1.4

    Universal Data Access Components (UniDAC) is a library of components that provides direct access to most popular database servers from Delphi, Delphi for .NET and, C++Builder. UniDAC can work with ...

Global site tag (gtag.js) - Google Analytics