hash_ctx
SHA512_CTX hash_ctx;
SHA512_Init(&hash_ctx);
SHA512_Update(&hash_ctx, az + 32, 32);
SHA512_Update(&hash_ctx, message, message_len);
SHA512_Final(nonce, &hash_ctx);
SHA512_Init(&hash_ctx);
SHA512_Update(&hash_ctx, out_sig, 32);
SHA512_Update(&hash_ctx, public_key, 32);
SHA512_Update(&hash_ctx, message, message_len);
SHA512_Final(hram, &hash_ctx);
SHA512_CTX hash_ctx;
SHA512_Init(&hash_ctx);
SHA512_Update(&hash_ctx, signature, 32);
SHA512_Update(&hash_ctx, public_key, 32);
SHA512_Update(&hash_ctx, message, message_len);
SHA512_Final(h, &hash_ctx);
if (rl->write->hash_ctx != NULL) {
if (rp->hash_ctx == NULL)
mac_len = EVP_MD_CTX_size(rp->hash_ctx);
EVP_MD_CTX *hash_ctx;
if ((rp->hash_ctx = EVP_MD_CTX_new()) == NULL)
if (EVP_DigestSignInit(rp->hash_ctx, NULL, rl->mac_hash, NULL,
EVP_MD_CTX *hash_ctx, int stream_mac, CBS *seq_num, uint8_t content_type,
if (!EVP_MD_CTX_copy(mac_ctx, hash_ctx))
if (!EVP_MD_CTX_copy(hash_ctx, mac_ctx))
EVP_MD_CTX_free(rp->hash_ctx);
if (!ssl3_cbc_record_digest_supported(rl->read->hash_ctx))
if (!ssl3_cbc_digest_record(rl->read->hash_ctx, mac, &out_mac_len, header,
return tls12_record_layer_mac(rl, cbb, rl->read->hash_ctx,
return tls12_record_layer_mac(rl, cbb, rl->write->hash_ctx,
if (rl->read->hash_ctx != NULL) {
rp->hash_ctx == NULL && rp->mac_key == NULL;
hash_test_case(struct hash_ctx *ctx, const struct hash_test_case *tc,
hash_test(struct hash_ctx *ctx, const struct hash_tests *tests)
struct hash_ctx ctx[] = {
hash->hash_ctx = NULL;
hash->hash_ctx = HMAC_CTX_new();
if (hash->hash_ctx == NULL) {
HMAC_CTX_free(hash->hash_ctx);
HMAC_Init_ex(hash->hash_ctx, ibuf_data(hash->hash_key),
HMAC_Update(hash->hash_ctx, buf, len);
HMAC_Final(hash->hash_ctx, buf, &length);
void *hash_ctx; /* Context of the current invocation */