The working keys are not saved directly. Instead enc_{write,read}_ctx are 
EVP_CIPHER_CTX’s 

which are initialized with the selected cipher and derived key -- and the 
derived IV for the cases 

which use it (CBC modes in versions before TLS1.1, and partially for GCM modes 
in TLS1.2). 

Depending on the cipher (and possibly engine?) this usually saves a key 
schedule derived from 

the key, and used for encrypt/decrypt, rather than the key itself.

 

From: [email protected] [mailto:[email protected]] On 
Behalf Of Fei Xue
Sent: Thursday, May 15, 2014 05:49
To: [email protected]
Subject: *** Spam *** Which struct do the four symmetric keys ?

 

hi all,

    I am studying the process of key exchange during handshake.  I want to know 
where are the keys  saved?  Now I have found the master_key in struct 
ssl_session_st, read_mac_secret and write_mac_secret in struct ssl3_state_st. 
But I didn't find the other two keys used for encryption and decryption. Anyone 
can help? 

   Thanks a lot. 

Reply via email to