@@ -55,7 +55,7 @@ func TestLocalDecrypt(t *testing.T) {
55
55
require .Equal (t , iv , decoded .Iv )
56
56
require .Equal (t , authTag , decoded .Tag )
57
57
58
- plaintext , err := LocalDecrypt (decoded , dataKey )
58
+ plaintext , err := LocalDecrypt (decoded , dataKey , "" )
59
59
require .NoError (t , err )
60
60
require .Equal (t , expected , plaintext )
61
61
}
@@ -68,13 +68,37 @@ func TestLocalEncryptAndDecrypt(t *testing.T) {
68
68
}
69
69
data := "super secret access codes"
70
70
71
- ciphertext , err := LocalEncrypt (data , keyPair )
71
+ ciphertext , err := LocalEncrypt (data , keyPair , "" )
72
72
require .NoError (t , err )
73
73
74
74
decoded , err := Decode (ciphertext )
75
75
require .NoError (t , err )
76
76
77
- plaintext , err := LocalDecrypt (decoded , DataKey {Id : keyPair .Id , Key : keyPair .DataKey })
77
+ plaintext , err := LocalDecrypt (decoded , DataKey {Id : keyPair .Id , Key : keyPair .DataKey }, "" )
78
+ require .NoError (t , err )
79
+ require .Equal (t , data , plaintext )
80
+ }
81
+
82
+ func TestLocalEncryptWithAssociatedData (t * testing.T ) {
83
+ keyPair := DataKeyPair {
84
+ DataKey : "hNjAWl++MJjDZ64dUeYlgJZDEbemRmdKvNHUnnRFUNg=" ,
85
+ Id : "0205e0ec-828e-5594-96ac-a68fc8257fb7" ,
86
+ EncryptedKeys : "V09TLkVLTS52MQAwMjA1ZTBlYy04MjhlLTU1OTQtOTZhYy1hNjhmYzgyNTdmYjcBATEBJGNmMjllNjhhLWYzMmQtNDI4YS05NDg2LTY5YjAyM2JmNjUyNAF0Y2YyOWU2OGEtZjMyZC00MjhhLTk0ODYtNjliMDIzYmY2NTI0uRXneWi4j8iJN4vYJQfGWJVDhk3ogkZmUda857GKGPgneo0xw+M7O5Tg/Z1WbfPPc+C5ncUpj1sHz5LUaU6uSyAO48f4CdpK3dn6UjErRUM=" ,
87
+ }
88
+ data := "super secret access codes"
89
+ aad := "seq1"
90
+
91
+ ciphertext , err := LocalEncrypt (data , keyPair , aad )
92
+ require .NoError (t , err )
93
+
94
+ decoded , err := Decode (ciphertext )
95
+ require .NoError (t , err )
96
+
97
+ plaintext , err := LocalDecrypt (decoded , DataKey {Id : keyPair .Id , Key : keyPair .DataKey }, "seq2" )
98
+ require .EqualError (t , err , "cipher: message authentication failed" )
99
+ require .Equal (t , "" , plaintext )
100
+
101
+ plaintext , err = LocalDecrypt (decoded , DataKey {Id : keyPair .Id , Key : keyPair .DataKey }, aad )
78
102
require .NoError (t , err )
79
103
require .Equal (t , data , plaintext )
80
104
}
0 commit comments