1/* 2 * cchmac_final.c 3 * corecrypto 4 * 5 * Created by Michael Brouwer on 12/7/10. 6 * Copyright 2010,2011 Apple Inc. All rights reserved. 7 * 8 */ 9 10#include <corecrypto/cchmac.h> 11#include <corecrypto/ccn.h> 12 13void cchmac_final(const struct ccdigest_info *di, cchmac_ctx_t hc, 14 unsigned char *mac) { 15 ccdigest_final(di, cchmac_digest_ctx(di, hc), cchmac_data(di, hc)); 16 /* typecast: output size will alwys fit in an unsigned int */ 17 cchmac_num(di, hc) = (unsigned int)di->output_size; 18 cchmac_nbits(di, hc) = di->block_size * 8; 19 ccdigest_copy_state(di, cchmac_istate32(di, hc), cchmac_ostate32(di, hc)); 20 ccdigest_final(di, cchmac_digest_ctx(di, hc), mac); 21} 22