1
0
mirror of https://github.com/Yubico/yubikey-ksm.git synced 2025-01-19 16:52:16 +01:00

Reorder UID/CRC check so we get only the interesting CRC errors.

This commit is contained in:
Simon Josefsson 2009-06-24 18:23:47 +00:00
parent d29fce0bfc
commit 42bd2d68b0

View File

@ -79,17 +79,17 @@ $internalName = $row['internalName'];
$ciphertext = modhex2hex($modhex_ciphertext);
$plaintext = aes128ecb_decrypt($aesKey, $ciphertext);
if (!crc_is_good($plaintext)) {
syslog(LOG_ERR, "CRC error: $otp: $plaintext");
die("ERR Corrupt OTP\n");
}
$uid = substr($plaintext, 0, 12);
if (strcmp($uid, $internalName) != 0) {
syslog(LOG_ERR, "UID error: $otp $plaintext: $uid vs $internalName");
die("ERR Corrupt OTP\n");;
}
if (!crc_is_good($plaintext)) {
syslog(LOG_ERR, "CRC error: $otp: $plaintext");
die("ERR Corrupt OTP\n");
}
# Mask out interesting fields
$counter = substr($plaintext, 14, 2) . substr($plaintext, 12, 2);
$low = substr($plaintext, 18, 2) . substr($plaintext, 16, 2);