112b0348cSMatt Barden /* 212b0348cSMatt Barden * This file and its contents are supplied under the terms of the 312b0348cSMatt Barden * Common Development and Distribution License (), version 1.0. 412b0348cSMatt Barden * You may only use this file in accordance with the terms of version 512b0348cSMatt Barden * 1.0 of the CDDL. 612b0348cSMatt Barden * 712b0348cSMatt Barden * A full copy of the text of the CDDL should have accompanied this 812b0348cSMatt Barden * source. A copy of the CDDL is also available via the Internet at 912b0348cSMatt Barden * http://www.illumos.org/license/CDDL. 1012b0348cSMatt Barden */ 1112b0348cSMatt Barden 1212b0348cSMatt Barden /* 1312b0348cSMatt Barden * Copyright 2019 Joyent, Inc. 1412b0348cSMatt Barden * Copyright 2023 RackTop Systems, Inc. 1512b0348cSMatt Barden */ 1612b0348cSMatt Barden 1712b0348cSMatt Barden #include <sys/crypto/ioctl.h> 1812b0348cSMatt Barden #include <sys/sha1.h> 1912b0348cSMatt Barden 20*29316b9cSGordon Ross #include "hmac_sha1_data.h" 2112b0348cSMatt Barden 2212b0348cSMatt Barden uint8_t *DATA[] = { DATA0, DATA1, DATA2, DATA3, DATA4, DATA5, DATA6 }; 2312b0348cSMatt Barden 2412b0348cSMatt Barden size_t DATALEN[] = { 2512b0348cSMatt Barden sizeof (DATA0), sizeof (DATA1), sizeof (DATA2), sizeof (DATA3), 2612b0348cSMatt Barden sizeof (DATA4), sizeof (DATA5), sizeof (DATA6) 2712b0348cSMatt Barden }; 2812b0348cSMatt Barden 2912b0348cSMatt Barden uint8_t *KEY[] = { KEY0, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6 }; 3012b0348cSMatt Barden 3112b0348cSMatt Barden size_t KEYLEN[] = { 3212b0348cSMatt Barden sizeof (KEY0), sizeof (KEY1), sizeof (KEY2), sizeof (KEY3), 3312b0348cSMatt Barden sizeof (KEY4), sizeof (KEY5), sizeof (KEY6) 3412b0348cSMatt Barden }; 3512b0348cSMatt Barden 3612b0348cSMatt Barden uint8_t *HMAC[] = { HMAC0, HMAC1, HMAC2, HMAC3, HMAC4, HMAC5, HMAC6 }; 3712b0348cSMatt Barden 3812b0348cSMatt Barden /* 3912b0348cSMatt Barden * SUN_CKM_SHA1_HMAC_GENERAL is like SUN_CKM_SHA1_HMAC except that it 4012b0348cSMatt Barden * allows returning a truncated digest with length specified in the 4112b0348cSMatt Barden * parameter passed to the crypto mechanism. The length specified 4212b0348cSMatt Barden * here is an arbitrary value less than SHA1_DIGEST_LENGTH. 4312b0348cSMatt Barden */ 4412b0348cSMatt Barden char *mechname = SUN_CKM_SHA1_HMAC_GENERAL; 4512b0348cSMatt Barden size_t msgcount = 7; 46*29316b9cSGordon Ross size_t hmac_len = SHA1_DIGEST_LENGTH - 5; /* truncated MAC */ 47