acvp: fix CMAC verify

This is only used for testing acvptool but, yea, |memcmp| doesn't return
a bool 😳

This wasn't noticed because "ver" mode was missing from the registration
and thus from the test vectors.

Change-Id: I181c9b66aea4032543d39ebcc8728a01e0f34f55
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/45464
Commit-Queue: Adam Langley <alangley@gmail.com>
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
grpc-202302
Adam Langley 4 years ago committed by CQ bot account: commit-bot@chromium.org
parent a2278d4d2c
commit 4d3e540cc0
  1. BIN
      util/fipstools/acvp/acvptool/test/expected/CMAC-AES.bz2
  2. BIN
      util/fipstools/acvp/acvptool/test/vectors/CMAC-AES.bz2
  3. 4
      util/fipstools/acvp/modulewrapper/modulewrapper.cc

@ -678,7 +678,7 @@ static bool GetConfig(const Span<const uint8_t> args[]) {
"algorithm": "CMAC-AES", "algorithm": "CMAC-AES",
"revision": "1.0", "revision": "1.0",
"capabilities": [{ "capabilities": [{
"direction": ["gen"], "direction": ["gen", "ver"],
"msgLen": [{ "msgLen": [{
"min": 0, "min": 0,
"max": 65536, "max": 65536,
@ -1482,7 +1482,7 @@ static bool CMAC_AESVerify(const Span<const uint8_t> args[]) {
return false; return false;
} }
const uint8_t ok = OPENSSL_memcmp(mac, args[2].data(), args[2].size()); const uint8_t ok = (OPENSSL_memcmp(mac, args[2].data(), args[2].size()) == 0);
return WriteReply(STDOUT_FILENO, Span<const uint8_t>(&ok, sizeof(ok))); return WriteReply(STDOUT_FILENO, Span<const uint8_t>(&ok, sizeof(ok)));
} }

Loading…
Cancel
Save