At this point, I am not sure whether we need to implement this method or not.
Originally, it was included because of this code:
https://github.com/apache/arrow/blob/71894728810fa2c191a95315574fa5ea4546566f/cpp/src/parquet/metadata.cc#L2094
where I thought we needed to replace the hardwired version of AES_GCM_V1 with the actual encryption algorithm used.
Turns out, this code is only executed when the file has a plaintext footer. In that case, yes a hard-wired AES_GCM_V1 encryptor is used to sign the footer, but that is not related to the rest of the encryption.
(There is a separate issue, and that is that this hard-wired value is later mis-interpreted as the file level encryption algorithm, but that is being tracked in issue #95 )
So we need to decide: should a plaintext footer always be encrypted using AES_GCM_V1? Or do we want to use whatever the file-level encryption algorithm is? My gut feeling is to leave that unchanged, as it doesn't affect our code.
Thoughts?
----- Original issue description ----
@sofia-tekdatum : Explain why this is not needed
Resolve the question: should the SignedFooterEncrypt() method be part of EncryptorInterface?
The method is used for footer verification inside parquet/metadata.cc, via direct instantiation of AesEncryptor).
Link to discussion during PR review: #68 (comment)
At this point, I am not sure whether we need to implement this method or not.
Originally, it was included because of this code:
https://github.com/apache/arrow/blob/71894728810fa2c191a95315574fa5ea4546566f/cpp/src/parquet/metadata.cc#L2094
where I thought we needed to replace the hardwired version of AES_GCM_V1 with the actual encryption algorithm used.
Turns out, this code is only executed when the file has a plaintext footer. In that case, yes a hard-wired AES_GCM_V1 encryptor is used to sign the footer, but that is not related to the rest of the encryption.
(There is a separate issue, and that is that this hard-wired value is later mis-interpreted as the file level encryption algorithm, but that is being tracked in issue #95 )
So we need to decide: should a plaintext footer always be encrypted using AES_GCM_V1? Or do we want to use whatever the file-level encryption algorithm is? My gut feeling is to leave that unchanged, as it doesn't affect our code.
Thoughts?
----- Original issue description ----
@sofia-tekdatum : Explain why this is not needed
Resolve the question: should the
SignedFooterEncrypt()method be part ofEncryptorInterface?The method is used for footer verification inside parquet/metadata.cc, via direct instantiation of
AesEncryptor).Link to discussion during PR review: #68 (comment)