diff --git a/pkg/ueps/packet_test.go b/pkg/ueps/packet_test.go index 06ab11e..c8d235e 100644 --- a/pkg/ueps/packet_test.go +++ b/pkg/ueps/packet_test.go @@ -1,6 +1,7 @@ package ueps import ( + "bufio" "bytes" "testing" ) @@ -117,7 +118,9 @@ func TestPacket_MarshalAndSign_Bad(t *testing.T) { } // frame, _ := builder.MarshalAndSign(secret) -// corrupted[len(frame)-1] ^= 0xFF // modifying any byte breaks HMAC verification +// corrupted[len(frame)-1] ^= 0xFF +// _, err := ReadAndVerify(bufio.NewReader(bytes.NewReader(corrupted)), secret) +// // err == errIntegrityViolation (HMAC mismatch detected) func TestPacket_MarshalAndSign_Ugly(t *testing.T) { builder := NewBuilder(0x03, []byte("sensitive")) sharedSecret := []byte("my-secret") @@ -132,8 +135,9 @@ func TestPacket_MarshalAndSign_Ugly(t *testing.T) { copy(corrupted, frame) corrupted[len(corrupted)-1] ^= 0xFF - if bytes.Equal(frame, corrupted) { - t.Error("expected corrupted frame to differ from original") + _, verifyError := ReadAndVerify(bufio.NewReader(bytes.NewReader(corrupted)), sharedSecret) + if verifyError == nil { + t.Error("expected HMAC integrity violation for corrupted frame, got nil") } }