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

Function buildMD5_CertVerify

extra/yassl/src/handshake.cpp:468–490  ·  view source on GitHub ↗

build MD5 part of certificate verify

Source from the content-addressed store, hash-verified

466
467// build MD5 part of certificate verify
468void buildMD5_CertVerify(SSL& ssl, byte* digest)
469{
470 opaque md5_result[MD5_LEN];
471 opaque md5_inner[SECRET_LEN + PAD_MD5];
472 opaque md5_outer[SECRET_LEN + PAD_MD5 + MD5_LEN];
473
474 const opaque* master_secret =
475 ssl.getSecurity().get_connection().master_secret_;
476
477 // make md5 inner
478 memcpy(md5_inner, master_secret, SECRET_LEN);
479 memcpy(&md5_inner[SECRET_LEN], PAD1, PAD_MD5);
480
481 ssl.useHashes().use_MD5().get_digest(md5_result, md5_inner,
482 sizeof(md5_inner));
483
484 // make md5 outer
485 memcpy(md5_outer, master_secret, SECRET_LEN);
486 memcpy(&md5_outer[SECRET_LEN], PAD2, PAD_MD5);
487 memcpy(&md5_outer[SECRET_LEN + PAD_MD5], md5_result, MD5_LEN);
488
489 ssl.useHashes().use_MD5().get_digest(digest, md5_outer, sizeof(md5_outer));
490}
491
492
493// build SHA part of certificate verify

Callers 1

build_certHashesFunction · 0.85

Calls 1

get_digestMethod · 0.80

Tested by

no test coverage detected