Lines Matching refs:sct
29 static int sct_ctx_update(EVP_MD_CTX *ctx, const SCT_CTX *sctx, const SCT *sct) in sct_ctx_update() argument
47 if (sct->entry_type == CT_LOG_ENTRY_TYPE_NOT_SET) in sct_ctx_update()
49 if (sct->entry_type == CT_LOG_ENTRY_TYPE_PRECERT && sctx->ihash == NULL) in sct_ctx_update()
53 *p++ = sct->version; in sct_ctx_update()
55 l2n8(sct->timestamp, p); in sct_ctx_update()
56 s2n(sct->entry_type, p); in sct_ctx_update()
61 if (sct->entry_type == CT_LOG_ENTRY_TYPE_X509) { in sct_ctx_update()
86 s2n(sct->ext_len, p); in sct_ctx_update()
90 if (sct->ext_len && !EVP_DigestUpdate(ctx, sct->ext, sct->ext_len)) in sct_ctx_update()
96 int SCT_CTX_verify(const SCT_CTX *sctx, const SCT *sct) in SCT_CTX_verify() argument
101 if (!SCT_is_complete(sct) || sctx->pkey == NULL || in SCT_CTX_verify()
102 sct->entry_type == CT_LOG_ENTRY_TYPE_NOT_SET || in SCT_CTX_verify()
103 (sct->entry_type == CT_LOG_ENTRY_TYPE_PRECERT && sctx->ihash == NULL)) { in SCT_CTX_verify()
107 if (sct->version != SCT_VERSION_V1) { in SCT_CTX_verify()
111 if (sct->log_id_len != sctx->pkeyhashlen || in SCT_CTX_verify()
112 memcmp(sct->log_id, sctx->pkeyhash, sctx->pkeyhashlen) != 0) { in SCT_CTX_verify()
116 if (sct->timestamp > sctx->epoch_time_in_ms) { in SCT_CTX_verify()
129 if (!sct_ctx_update(ctx, sctx, sct)) in SCT_CTX_verify()
133 ret = EVP_DigestVerifyFinal(ctx, sct->sig, sct->sig_len); in SCT_CTX_verify()