aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpg/function/BasicOperator.cpp
diff options
context:
space:
mode:
authorSaturn&Eric <[email protected]>2021-12-13 18:46:23 +0000
committerGitHub <[email protected]>2021-12-13 18:46:23 +0000
commit5d8e24b7ce4620164c3268b4f1de43a30df19a86 (patch)
tree6defd5d68468a95de980752ccf2c4ef8a0753617 /src/gpg/function/BasicOperator.cpp
parentCreate SECURITY.md (diff)
parentUpdate Translations & README. (diff)
downloadGpgFrontend-5d8e24b7ce4620164c3268b4f1de43a30df19a86.tar.gz
GpgFrontend-5d8e24b7ce4620164c3268b4f1de43a30df19a86.zip
Merge pull request #32 from saturneric/developv2.0.2
v2.0.2-beta.2
Diffstat (limited to 'src/gpg/function/BasicOperator.cpp')
-rw-r--r--src/gpg/function/BasicOperator.cpp20
1 files changed, 19 insertions, 1 deletions
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;
+}