@@ -55,7 +55,7 @@ func TestLocalDecrypt(t *testing.T) {
5555 require .Equal (t , iv , decoded .Iv )
5656 require .Equal (t , authTag , decoded .Tag )
5757
58- plaintext , err := LocalDecrypt (decoded , dataKey )
58+ plaintext , err := LocalDecrypt (decoded , dataKey , "" )
5959 require .NoError (t , err )
6060 require .Equal (t , expected , plaintext )
6161}
@@ -68,13 +68,37 @@ func TestLocalEncryptAndDecrypt(t *testing.T) {
6868 }
6969 data := "super secret access codes"
7070
71- ciphertext , err := LocalEncrypt (data , keyPair )
71+ ciphertext , err := LocalEncrypt (data , keyPair , "" )
7272 require .NoError (t , err )
7373
7474 decoded , err := Decode (ciphertext )
7575 require .NoError (t , err )
7676
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 )
78102 require .NoError (t , err )
79103 require .Equal (t , data , plaintext )
80104}
0 commit comments