version 1.85, 2013/01/08 18:49:04 |
version 1.86, 2013/01/12 11:22:04 |
|
|
fatal("%s: EVP_Cipher failed", __func__); |
fatal("%s: EVP_Cipher failed", __func__); |
if (authlen) { |
if (authlen) { |
/* compute tag (on encrypt) or verify tag (on decrypt) */ |
/* compute tag (on encrypt) or verify tag (on decrypt) */ |
if (EVP_Cipher(&cc->evp, NULL, NULL, 0) < 0) |
if (EVP_Cipher(&cc->evp, NULL, NULL, 0) < 0) { |
fatal("%s: EVP_Cipher(finish) failed", __func__); |
if (cc->encrypt) |
|
fatal("%s: EVP_Cipher(final) failed", __func__); |
|
else |
|
fatal("Decryption integrity check failed"); |
|
} |
if (cc->encrypt && |
if (cc->encrypt && |
!EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_GET_TAG, |
!EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_GET_TAG, |
authlen, dest + aadlen + len)) |
authlen, dest + aadlen + len)) |