Encrypt PIN in temporary value #12

Merged
lash merged 3 commits from encrypt-pin into master 2025-01-20 13:00:38 +01:00
Showing only changes of commit 2dcec2e9fb - Show all commits

View File

@ -1223,13 +1223,20 @@ func TestVerifyCreatePin(t *testing.T) {
}, },
} }
for _, tt := range tests { // Hash the correct PIN
t.Run(tt.name, func(t *testing.T) { hashedPIN, err := pin.HashPIN("1234")
err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte("1234")) if err != nil {
logg.ErrorCtxf(ctx, "failed to hash temporaryPin", "error", err)
t.Fatal(err)
}
err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(hashedPIN))
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
// Call the method under test // Call the method under test
res, err := h.VerifyCreatePin(ctx, "verify_create_pin", []byte(tt.input)) res, err := h.VerifyCreatePin(ctx, "verify_create_pin", []byte(tt.input))
@ -1908,13 +1915,13 @@ func TestConfirmPin(t *testing.T) {
tests := []struct { tests := []struct {
name string name string
input []byte input []byte
temporarypin []byte temporarypin string
expectedResult resource.Result expectedResult resource.Result
}{ }{
{ {
name: "Test with correct pin confirmation", name: "Test with correct pin confirmation",
input: []byte("1234"), input: []byte("1234"),
temporarypin: []byte("1234"), temporarypin: "1234",
expectedResult: resource.Result{ expectedResult: resource.Result{
FlagReset: []uint32{flag_pin_mismatch}, FlagReset: []uint32{flag_pin_mismatch},
}, },
@ -1922,14 +1929,21 @@ func TestConfirmPin(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
// Hash the PIN
hashedPIN, err := pin.HashPIN(tt.temporarypin)
if err != nil {
logg.ErrorCtxf(ctx, "failed to hash temporaryPin", "error", err)
t.Fatal(err)
}
// Set up the expected behavior of the mock // Set up the expected behavior of the mock
err := store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(tt.temporarypin)) err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(hashedPIN))
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
//Call the function under test //Call the function under test
res, _ := h.ConfirmPinChange(ctx, "confirm_pin_change", tt.temporarypin) res, _ := h.ConfirmPinChange(ctx, "confirm_pin_change", tt.input)
//Assert that the result set to content is what was expected //Assert that the result set to content is what was expected
assert.Equal(t, res, tt.expectedResult, "Result should contain flags set according to user input") assert.Equal(t, res, tt.expectedResult, "Result should contain flags set according to user input")