1 | /* |
2 | * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. |
3 | * |
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use |
5 | * this file except in compliance with the License. You can obtain a copy |
6 | * in the file LICENSE in the source distribution or at |
7 | * https://www.openssl.org/source/license.html |
8 | */ |
9 | |
10 | /* |
11 | * DTLS code by Eric Rescorla <ekr@rtfm.com> |
12 | * |
13 | * Copyright (C) 2006, Network Resonance, Inc. Copyright (C) 2011, RTFM, Inc. |
14 | */ |
15 | |
16 | #ifndef OPENSSL_SRTP_H |
17 | # define OPENSSL_SRTP_H |
18 | # pragma once |
19 | |
20 | # include <openssl/macros.h> |
21 | # ifndef OPENSSL_NO_DEPRECATED_3_0 |
22 | # define |
23 | # endif |
24 | |
25 | # include <openssl/ssl.h> |
26 | |
27 | #ifdef __cplusplus |
28 | extern "C" { |
29 | #endif |
30 | |
31 | # define SRTP_AES128_CM_SHA1_80 0x0001 |
32 | # define SRTP_AES128_CM_SHA1_32 0x0002 |
33 | # define SRTP_AES128_F8_SHA1_80 0x0003 |
34 | # define SRTP_AES128_F8_SHA1_32 0x0004 |
35 | # define SRTP_NULL_SHA1_80 0x0005 |
36 | # define SRTP_NULL_SHA1_32 0x0006 |
37 | |
38 | /* AEAD SRTP protection profiles from RFC 7714 */ |
39 | # define SRTP_AEAD_AES_128_GCM 0x0007 |
40 | # define SRTP_AEAD_AES_256_GCM 0x0008 |
41 | |
42 | # ifndef OPENSSL_NO_SRTP |
43 | |
44 | __owur int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles); |
45 | __owur int SSL_set_tlsext_use_srtp(SSL *ssl, const char *profiles); |
46 | |
47 | __owur STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl); |
48 | __owur SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); |
49 | |
50 | # endif |
51 | |
52 | #ifdef __cplusplus |
53 | } |
54 | #endif |
55 | |
56 | #endif |
57 | |