From ac9251d0f4c7fdadbc0159354e79b4f4f86d1c89 Mon Sep 17 00:00:00 2001 From: Bernd Schoolmann Date: Wed, 21 Feb 2024 06:39:06 +0100 Subject: [PATCH] Add debugging info to cipherstring decryption --- agent/bitwarden/crypto/encstring.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agent/bitwarden/crypto/encstring.go b/agent/bitwarden/crypto/encstring.go index b61c503..f0b381f 100644 --- a/agent/bitwarden/crypto/encstring.go +++ b/agent/bitwarden/crypto/encstring.go @@ -47,13 +47,13 @@ func (s *EncString) UnmarshalText(data []byte) error { i := bytes.IndexByte(data, '.') if i < 0 { - return errors.New("invalid cipher string format") + return errors.New("invalid cipher string format, missign type. total length: " + strconv.Itoa(len(data))) } typStr := string(data[:i]) var err error if t, err := strconv.Atoi(typStr); err != nil { - return errors.New("invalid cipher string type") + return errors.New("invalid cipher string type, could not parse, length: " + strconv.Itoa(len(data))) } else { s.Type = EncStringType(t) } @@ -61,13 +61,13 @@ func (s *EncString) UnmarshalText(data []byte) error { switch s.Type { case AesCbc128_HmacSha256_B64, AesCbc256_HmacSha256_B64, AesCbc256_B64: default: - return errors.New("invalid cipher string type") + return errors.New("invalid cipher string type, unknown type: " + strconv.Itoa(int(s.Type))) } data = data[i+1:] parts := bytes.Split(data, []byte("|")) if len(parts) != 3 { - return errors.New("invalid cipher string format") + return errors.New("invalid cipher string format, missing parts, length: " + strconv.Itoa(len(data)) + "type: " + strconv.Itoa(int(s.Type))) } if s.IV, err = b64decode(parts[0]); err != nil {