summaryrefslogtreecommitdiffstats
path: root/src/openvpn/ssl.c
diff options
context:
space:
mode:
authorDaniel Kubec <niel@rtfm.cz>2015-03-12 15:14:20 +0100
committerDavid Sommerseth <davids@redhat.com>2015-10-10 00:02:40 +0200
commit685e486e8b8f70c25f09590c24762ff734f94a51 (patch)
tree2352755e34a75ea39f48497d6fb7dc7469330294 /src/openvpn/ssl.c
parent7246ccfdbe6039c5c578ecaa07505307d53b8e84 (diff)
downloadopenvpn-685e486e8b8f70c25f09590c24762ff734f94a51.tar.gz
openvpn-685e486e8b8f70c25f09590c24762ff734f94a51.tar.xz
openvpn-685e486e8b8f70c25f09590c24762ff734f94a51.zip
Added support for TLS Keying Material Exporters [RFC-5705]
Keying Material Exporter [RFC-5705] allow additional keying material to be derived from existing TLS channel. This exported keying material can then be used for a variety of purposes. [DS: Updated man page to document both upper and lower length boundaries] Signed-off-by: Daniel Kubec <niel@rtfm.cz> Signed-off-by: David Sommerseth <davids@redhat.com> Acked-by: Steffan Karger <steffan.karger@fox-it.com Acked-by: David Sommerseth <davids@redhat.com>
Diffstat (limited to 'src/openvpn/ssl.c')
-rw-r--r--src/openvpn/ssl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/openvpn/ssl.c b/src/openvpn/ssl.c
index 529d14d..86eda77 100644
--- a/src/openvpn/ssl.c
+++ b/src/openvpn/ssl.c
@@ -2160,8 +2160,12 @@ key_method_2_read (struct buffer *buf, struct tls_multi *multi, struct tls_sessi
*/
if (ks->authenticated && plugin_defined (session->opt->plugins, OPENVPN_PLUGIN_TLS_FINAL))
{
+ key_state_export_keying_material(&ks->ks_ssl, session);
+
if (plugin_call (session->opt->plugins, OPENVPN_PLUGIN_TLS_FINAL, NULL, NULL, session->opt->es) != OPENVPN_PLUGIN_FUNC_SUCCESS)
ks->authenticated = false;
+
+ setenv_del (session->opt->es, "exported_keying_material");
}
/*