aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/ssl_handshake.hrl
diff options
context:
space:
mode:
authorAndreas Schultz <[email protected]>2012-04-08 03:39:52 +0200
committerIngela Anderton Andin <[email protected]>2012-08-22 14:00:45 +0200
commit0bcbe96a1a68fef87efc43719853edcee2f58720 (patch)
treea4b20a1ce363ada409ab05ac61e15b2083da28d4 /lib/ssl/src/ssl_handshake.hrl
parent7682bd59933f20cba5c32df96a58f252924478a9 (diff)
downloadotp-0bcbe96a1a68fef87efc43719853edcee2f58720.tar.gz
otp-0bcbe96a1a68fef87efc43719853edcee2f58720.tar.bz2
otp-0bcbe96a1a68fef87efc43719853edcee2f58720.zip
ssl: Make signature handling version dependant
TLS 1.2 introduces changes on how signatures are calculate and encoded. This makes the signature handling version aware
Diffstat (limited to 'lib/ssl/src/ssl_handshake.hrl')
-rw-r--r--lib/ssl/src/ssl_handshake.hrl6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/ssl/src/ssl_handshake.hrl b/lib/ssl/src/ssl_handshake.hrl
index 20e498ea2e..abe2fa5261 100644
--- a/lib/ssl/src/ssl_handshake.hrl
+++ b/lib/ssl/src/ssl_handshake.hrl
@@ -32,6 +32,7 @@
-type public_key_params() :: #'Dss-Parms'{} | term().
-type public_key_info() :: {algo_oid(), #'RSAPublicKey'{} | integer() , public_key_params()}.
-type tls_handshake_history() :: {[binary()], [binary()]}.
+-type hash_algo() :: atom().
%% Signature algorithms
-define(ANON, 0).
@@ -136,7 +137,8 @@
-record(server_key_exchange, {
params, %% #server_rsa_params{} | #server_dh_params{}
- signed_params %% #signature{}
+ signed_params, %% #signature{}
+ hashsign %% term(atom(), atom())
}).
%% enum { anonymous, rsa, dsa } SignatureAlgorithm;
@@ -166,6 +168,7 @@
-record(certificate_request, {
certificate_types, %ClientCertificateType <1..2^8-1>
+ hashsign_algorithms, %%SignatureAndHashAlgorithm <2^16-1>;
certificate_authorities %DistinguishedName <0..2^16-1>
}).
@@ -200,6 +203,7 @@
%%% Certificate verify - RFC 4346 section 7.4.8
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-record(certificate_verify, {
+ hashsign_algorithm,
signature % binary()
}).