@@ -124,26 +124,20 @@ std::shared_ptr<ArrayBuffer> CCMCipher::final() {
124
124
unsigned long err = ERR_get_error ();
125
125
char err_buf[256 ];
126
126
ERR_error_string_n (err, err_buf, sizeof (err_buf));
127
- if (!is_cipher) {
128
- throw std::runtime_error (" Decryption finalization failed (possibly invalid tag): " + std::string (err_buf));
129
- } else {
130
- throw std::runtime_error (" Encryption finalization failed: " + std::string (err_buf));
131
- }
127
+ throw std::runtime_error (" Encryption finalization failed: " + std::string (err_buf));
132
128
}
133
129
134
- if (is_cipher) {
135
- if (auth_tag_len == 0 ) {
136
- auth_tag_len = sizeof (auth_tag);
137
- }
130
+ if (auth_tag_len == 0 ) {
131
+ auth_tag_len = sizeof (auth_tag);
132
+ }
138
133
139
- if (EVP_CIPHER_CTX_ctrl (ctx, EVP_CTRL_CCM_GET_TAG, auth_tag_len, auth_tag) != 1 ) {
140
- unsigned long err = ERR_get_error ();
141
- char err_buf[256 ];
142
- ERR_error_string_n (err, err_buf, sizeof (err_buf));
143
- throw std::runtime_error (" Failed to get auth tag after finalization: " + std::string (err_buf));
144
- }
145
- auth_tag_state = kAuthTagKnown ;
134
+ if (EVP_CIPHER_CTX_ctrl (ctx, EVP_CTRL_CCM_GET_TAG, auth_tag_len, auth_tag) != 1 ) {
135
+ unsigned long err = ERR_get_error ();
136
+ char err_buf[256 ];
137
+ ERR_error_string_n (err, err_buf, sizeof (err_buf));
138
+ throw std::runtime_error (" Failed to get auth tag after finalization: " + std::string (err_buf));
146
139
}
140
+ auth_tag_state = kAuthTagKnown ;
147
141
148
142
unsigned char * final_output = out_buf.release ();
149
143
return std::make_shared<NativeArrayBuffer>(final_output, out_len, [=]() { delete[] final_output; });
0 commit comments