Skip to main content

Module openssl

Module openssl 

Source
Expand description

The DTLS handshake itself, over the media socket.

Experimental (A-8): behind the dtls feature, which is off by default. sipx-call reaches it only after an application explicitly selects DTLS-SRTP; enabling the feature alone changes no call. super says the same of what it keys; this module says it on its own page because a reader who lands here should not have to go up a level to find out (A-8’s rule).

Everything RFC 5764 decides is in super and is compiled whatever the features say. This module is only the record layer and the handshake, and it is behind the dtls feature because it is where the C dependency lives.

Why not a pure-Rust one: there is no DTLS implementation in Rust with comparable scrutiny, and a hand-rolled handshake for a security-critical protocol is the kind of liability this project declines elsewhere — the same reasoning that has SRTP’s AES come from RustCrypto rather than from here. OpenSSL is also where use_srtp (RFC 5764 §4.1.1) and the RFC 5705 exporter have been exercised against every other implementation for a decade, which is what a keying mechanism needs most.

Structs§

Identity
A self-signed certificate to present on the media path, and its fingerprint.
Session
A DTLS-SRTP handshake over a media socket.

Enums§

DtlsError
Why a handshake could not be run.