From e3792543f6d8b8dd8b0af78194967cc70448873f Mon Sep 17 00:00:00 2001 From: Saturneric Date: Sun, 12 Dec 2021 17:36:08 +0800 Subject: Fixed & Modified & Added. 1. Fixed UTF-16 & UTF-8 filesystem path's bugs. 2. Added mkdir & create empty file. 3. Improve file browser. 4. Added Infoboard.ui. 5. Fixed Verify Bugs. --- src/gpg/function/BasicOperator.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src/gpg/function/BasicOperator.cpp') diff --git a/src/gpg/function/BasicOperator.cpp b/src/gpg/function/BasicOperator.cpp index 912119e2..5f6ffb85 100644 --- a/src/gpg/function/BasicOperator.cpp +++ b/src/gpg/function/BasicOperator.cpp @@ -76,13 +76,15 @@ GpgFrontend::GpgError GpgFrontend::BasicOperator::Verify( GpgVerifyResult& result) const { gpgme_error_t err; + LOG(INFO) << "in buffer size" << in_buffer.size(); GpgData data_in(in_buffer.data(), in_buffer.size()); + GpgData data_out; if (sig_buffer != nullptr) { GpgData sig_data(sig_buffer->data(), sig_buffer->size()); err = check_gpg_error(gpgme_op_verify(ctx, sig_data, data_in, nullptr)); } else - err = check_gpg_error(gpgme_op_verify(ctx, data_in, nullptr, data_in)); + err = check_gpg_error(gpgme_op_verify(ctx, data_in, nullptr, data_out)); auto temp_result = GpgVerifyResult(gpgme_op_verify_result(ctx)); std::swap(result, temp_result); @@ -204,3 +206,19 @@ GpgFrontend::BasicOperator::GetSigners() { } return signers; } +gpg_error_t GpgFrontend::BasicOperator::EncryptSymmetric( + GpgFrontend::ByteArray& in_buffer, GpgFrontend::ByteArrayPtr& out_buffer, + GpgFrontend::GpgEncrResult& result) { + GpgData data_in(in_buffer.data(), in_buffer.size()), data_out; + + gpgme_error_t err = check_gpg_error(gpgme_op_encrypt( + ctx, nullptr, GPGME_ENCRYPT_SYMMETRIC, data_in, data_out)); + + auto temp_data_out = data_out.Read2Buffer(); + std::swap(temp_data_out, out_buffer); + + auto temp_result = GpgEncrResult(gpgme_op_encrypt_result(ctx)); + std::swap(result, temp_result); + + return err; +} -- cgit v1.2.3