MCPcopy Create free account
hub / github.com/Meituan-Dianping/SQLAdvisor / buildFinishedTLS

Function buildFinishedTLS

extra/yassl/src/handshake.cpp:400–419  ·  view source on GitHub ↗

build TLS finished message

Source from the content-addressed store, hash-verified

398
399// build TLS finished message
400void buildFinishedTLS(SSL& ssl, Finished& fin, const opaque* sender)
401{
402 opaque handshake_hash[FINISHED_SZ];
403
404 ssl.useHashes().use_MD5().get_digest(handshake_hash);
405 ssl.useHashes().use_SHA().get_digest(&handshake_hash[MD5_LEN]);
406
407 const opaque* side;
408 if ( strncmp((const char*)sender, (const char*)client, SIZEOF_SENDER) == 0)
409 side = tls_client;
410 else
411 side = tls_server;
412
413 PRF(fin.set_md5(), TLS_FINISHED_SZ,
414 ssl.getSecurity().get_connection().master_secret_, SECRET_LEN,
415 side, FINISHED_LABEL_SZ,
416 handshake_hash, FINISHED_SZ);
417
418 fin.set_length(TLS_FINISHED_SZ); // shorter length for TLS
419}
420
421
422// compute p_hash for MD5 or SHA-1 for TLSv1 PRF

Callers 1

buildFinishedFunction · 0.85

Calls 4

PRFFunction · 0.85
get_digestMethod · 0.80
set_md5Method · 0.80
set_lengthMethod · 0.80

Tested by

no test coverage detected