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

Function buildSHA_CertVerify

extra/yassl/src/handshake.cpp:494–516  ·  view source on GitHub ↗

build SHA part of certificate verify

Source from the content-addressed store, hash-verified

492
493// build SHA part of certificate verify
494void buildSHA_CertVerify(SSL& ssl, byte* digest)
495{
496 opaque sha_result[SHA_LEN];
497 opaque sha_inner[SECRET_LEN + PAD_SHA];
498 opaque sha_outer[SECRET_LEN + PAD_SHA + SHA_LEN];
499
500 const opaque* master_secret =
501 ssl.getSecurity().get_connection().master_secret_;
502
503 // make sha inner
504 memcpy(sha_inner, master_secret, SECRET_LEN);
505 memcpy(&sha_inner[SECRET_LEN], PAD1, PAD_SHA);
506
507 ssl.useHashes().use_SHA().get_digest(sha_result, sha_inner,
508 sizeof(sha_inner));
509
510 // make sha outer
511 memcpy(sha_outer, master_secret, SECRET_LEN);
512 memcpy(&sha_outer[SECRET_LEN], PAD2, PAD_SHA);
513 memcpy(&sha_outer[SECRET_LEN + PAD_SHA], sha_result, SHA_LEN);
514
515 ssl.useHashes().use_SHA().get_digest(digest, sha_outer, sizeof(sha_outer));
516}
517
518
519} // namespace for locals

Callers 1

build_certHashesFunction · 0.85

Calls 1

get_digestMethod · 0.80

Tested by

no test coverage detected