Working with libgcrypt for a project, using the following settings to open a cipher handle:
GCRY_CIPHER_AES256, GCRY_CIPHER_MODE_GCM, GCRY_CIPHER_CBC_MAC
Per the libgcrypt documentation:
GCRY_CIPHER_CBC_MAC: Compute CBC-MAC keyed checksums. This is the same as CBC mode, but only output the last block. Cannot be used simultaneous as GCRY_CIPHER_CBC_CTS.
From research and reading, 'CBC_MAC' is not the same thing as CMAC. But, I can't quite derive from the documentation if libgcrypt supports CMAC? Can some clarify if CMAC is an option in libgcrypt? A list of modes is here, with CMAC not being explicitly listed:
https://www.gnupg.org/documentation/manuals/gcrypt/Available-cipher-modes.html