Loading gatekeeper/1.0/vts/functional/VtsHalGatekeeperV1_0TargetTest.cpp +41 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,47 @@ TEST_P(GatekeeperHidlTest, VerifySuccess) { ALOGI("Testing Enroll+Verify done"); } /** * Ensure that passwords containing a NUL byte aren't truncated */ TEST_P(GatekeeperHidlTest, PasswordIsBinaryData) { GatekeeperResponse enrollRsp; GatekeeperResponse verifyRsp; hidl_vec<uint8_t> rightPassword = {'A', 'B', 'C', '\0', 'D', 'E', 'F'}; hidl_vec<uint8_t> wrongPassword = {'A', 'B', 'C', '\0', '\0', '\0', '\0'}; ALOGI("Testing Enroll+Verify of password with embedded NUL (expected success)"); enrollNewPassword(rightPassword, enrollRsp, true); verifyPassword(rightPassword, enrollRsp.data, 1, verifyRsp, true); ALOGI("Testing Verify of wrong password (expected failure)"); verifyPassword(wrongPassword, enrollRsp.data, 1, verifyRsp, false); ALOGI("PasswordIsBinaryData test done"); } /** * Ensure that long passwords aren't truncated */ TEST_P(GatekeeperHidlTest, LongPassword) { GatekeeperResponse enrollRsp; GatekeeperResponse verifyRsp; hidl_vec<uint8_t> password; password.resize(64); // maximum length used by Android memset(password.data(), 'A', password.size()); ALOGI("Testing Enroll+Verify of long password (expected success)"); enrollNewPassword(password, enrollRsp, true); verifyPassword(password, enrollRsp.data, 1, verifyRsp, true); ALOGI("Testing Verify of wrong password (expected failure)"); password[password.size() - 1] ^= 1; verifyPassword(password, enrollRsp.data, 1, verifyRsp, false); ALOGI("LongPassword test done"); } /** * Ensure we can securely update password (keep the same * secure user_id) if we prove we know old password Loading Loading
gatekeeper/1.0/vts/functional/VtsHalGatekeeperV1_0TargetTest.cpp +41 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,47 @@ TEST_P(GatekeeperHidlTest, VerifySuccess) { ALOGI("Testing Enroll+Verify done"); } /** * Ensure that passwords containing a NUL byte aren't truncated */ TEST_P(GatekeeperHidlTest, PasswordIsBinaryData) { GatekeeperResponse enrollRsp; GatekeeperResponse verifyRsp; hidl_vec<uint8_t> rightPassword = {'A', 'B', 'C', '\0', 'D', 'E', 'F'}; hidl_vec<uint8_t> wrongPassword = {'A', 'B', 'C', '\0', '\0', '\0', '\0'}; ALOGI("Testing Enroll+Verify of password with embedded NUL (expected success)"); enrollNewPassword(rightPassword, enrollRsp, true); verifyPassword(rightPassword, enrollRsp.data, 1, verifyRsp, true); ALOGI("Testing Verify of wrong password (expected failure)"); verifyPassword(wrongPassword, enrollRsp.data, 1, verifyRsp, false); ALOGI("PasswordIsBinaryData test done"); } /** * Ensure that long passwords aren't truncated */ TEST_P(GatekeeperHidlTest, LongPassword) { GatekeeperResponse enrollRsp; GatekeeperResponse verifyRsp; hidl_vec<uint8_t> password; password.resize(64); // maximum length used by Android memset(password.data(), 'A', password.size()); ALOGI("Testing Enroll+Verify of long password (expected success)"); enrollNewPassword(password, enrollRsp, true); verifyPassword(password, enrollRsp.data, 1, verifyRsp, true); ALOGI("Testing Verify of wrong password (expected failure)"); password[password.size() - 1] ^= 1; verifyPassword(password, enrollRsp.data, 1, verifyRsp, false); ALOGI("LongPassword test done"); } /** * Ensure we can securely update password (keep the same * secure user_id) if we prove we know old password Loading