From 9d6dc72d7c43554dbe8cdb02f450807230df8c25 Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Tue, 30 Oct 2012 19:22:16 +0200 Subject: [PATCH] Simplify initializing the TLS server context This does the same thing, but I wasn't aware of these functions when I initially wrote this. --- librtmp/rtmp.c | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c index 4858e24..d72f105 100644 --- a/librtmp/rtmp.c +++ b/librtmp/rtmp.c @@ -280,32 +280,14 @@ RTMP_TLS_AllocServerContext(const char* cert, const char* key) } #elif !defined(NO_SSL) /* USE_OPENSSL */ ctx = SSL_CTX_new(SSLv23_server_method()); - FILE *f = fopen(key, "r"); - if (!f) { + if (!SSL_CTX_use_certificate_chain_file(ctx, cert)) { SSL_CTX_free(ctx); return NULL; } - EVP_PKEY *k = PEM_read_PrivateKey(f, NULL, NULL, NULL); - fclose(f); - if (!k) { + if (!SSL_CTX_use_PrivateKey_file(ctx, key, SSL_FILETYPE_PEM)) { SSL_CTX_free(ctx); return NULL; } - SSL_CTX_use_PrivateKey(ctx, k); - EVP_PKEY_free(k); - f = fopen(cert, "r"); - if (!f) { - SSL_CTX_free(ctx); - return NULL; - } - X509 *c = PEM_read_X509(f, NULL, NULL, NULL); - fclose(f); - if (!c) { - SSL_CTX_free(ctx); - return NULL; - } - SSL_CTX_use_certificate(ctx, c); - X509_free(c); #endif #endif return ctx; -- 2.11.4.GIT