From 89ae746305215c5dd077441ba796ff37b03fdaa3 Mon Sep 17 00:00:00 2001 From: Andreas Schultz Date: Fri, 24 Feb 2012 13:47:13 +0100 Subject: Some protocols (e.g. EAP-PEAP, EAP-TLS, EAP-TTLS) that use TLS as transport layer need to generate additional application specific key material. One way to generate such material is to use the TLS PRF and key material from the TLS session itself. This change makes it possible to use a TLS sessions PRF either with the session internal or caller supplied key material to generate additional key material. --- lib/ssl/doc/src/ssl.xml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'lib/ssl/doc') diff --git a/lib/ssl/doc/src/ssl.xml b/lib/ssl/doc/src/ssl.xml index 50268ae206..d9f10a8c4c 100644 --- a/lib/ssl/doc/src/ssl.xml +++ b/lib/ssl/doc/src/ssl.xml @@ -122,6 +122,9 @@

hash() = md5 | sha

+

prf_random() = client_random | server_random +

+
@@ -560,6 +563,26 @@ fun(OtpCert :: #'OTPCertificate'{}, Event :: {bad_cert, Reason :: atom()} | + + prf(Socket, Secret, Label, Seed, WantedLength) -> {ok, binary()} | {error, reason()} + Use a sessions pseudo random function to generate key material. + + Socket = sslsocket() + Secret = binary() | master_secret + Label = binary() + Seed = [binary() | prf_random()] + WantedLength = non_neg_integer() + + +

Use the pseudo random function (PRF) of a TLS session to generate + additional key material. It either takes user generated values for + Secret and Seed or atoms directing it use a specific + value from the session security parameters.

+

This function can only be used with TLS connections, {error, undefined} + is returned for SSLv3 connections.

+
+
+ renegotiate(Socket) -> ok | {error, Reason} Initiates a new handshake. -- cgit v1.2.3