|
|
|
|
@ -95,6 +95,7 @@ turn_params_t turn_params = { |
|
|
|
|
"", /*ca_cert_file*/ |
|
|
|
|
"turn_server_cert.pem", /*cert_file*/ |
|
|
|
|
"turn_server_pkey.pem", /*pkey_file*/ |
|
|
|
|
false, /*rpk_enabled*/ |
|
|
|
|
"", /*tls_password*/ |
|
|
|
|
"", /*dh_file*/ |
|
|
|
|
|
|
|
|
|
@ -1412,6 +1413,7 @@ enum EXTRA_OPTS { |
|
|
|
|
ALT_PORT_OPT, |
|
|
|
|
ALT_TLS_PORT_OPT, |
|
|
|
|
CERT_FILE_OPT, |
|
|
|
|
RPK_ENABLED_OPT, |
|
|
|
|
PKEY_FILE_OPT, |
|
|
|
|
PKEY_PWD_OPT, |
|
|
|
|
MIN_PORT_OPT, |
|
|
|
|
@ -1577,6 +1579,7 @@ static const struct myoption long_options[] = { |
|
|
|
|
{"stun-only", optional_argument, NULL, 'S'}, |
|
|
|
|
{"no-stun", optional_argument, NULL, NO_STUN_OPT}, |
|
|
|
|
{"cert", required_argument, NULL, CERT_FILE_OPT}, |
|
|
|
|
{"raw-public-keys", optional_argument, NULL, RPK_ENABLED_OPT}, |
|
|
|
|
{"pkey", required_argument, NULL, PKEY_FILE_OPT}, |
|
|
|
|
{"pkey-pwd", required_argument, NULL, PKEY_PWD_OPT}, |
|
|
|
|
{"log-file", required_argument, NULL, 'l'}, |
|
|
|
|
@ -2278,6 +2281,9 @@ static void set_option(int c, char *value) { |
|
|
|
|
case CERT_FILE_OPT: |
|
|
|
|
STRCPY(turn_params.cert_file, value); |
|
|
|
|
break; |
|
|
|
|
case RPK_ENABLED_OPT: |
|
|
|
|
turn_params.rpk_enabled = get_bool_value(value); |
|
|
|
|
break; |
|
|
|
|
case CA_FILE_OPT: |
|
|
|
|
STRCPY(turn_params.ca_cert_file, value); |
|
|
|
|
break; |
|
|
|
|
@ -3826,6 +3832,18 @@ static void set_ctx(SSL_CTX **out, const char *protocol, const SSL_METHOD *metho |
|
|
|
|
SSL_CTX_free(*out); |
|
|
|
|
*out = ctx; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if OPENSSL_VERSION_NUMBER >= 0x30200010L |
|
|
|
|
if (turn_params.rpk_enabled) { |
|
|
|
|
unsigned char cert_type = TLSEXT_cert_type_rpk; |
|
|
|
|
if (!SSL_CTX_set1_server_cert_type(ctx, &cert_type, 1)) { |
|
|
|
|
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Could not enable raw public keys functionality (RFC7250)\n"); |
|
|
|
|
} else { |
|
|
|
|
TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "Raw Public Keys (RFC7250) enabled!\n"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void openssl_load_certificates(void); |
|
|
|
|
|