aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpg/function/GpgKeyOpera.cpp
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2021-11-29 02:57:43 +0000
committerSaturneric <[email protected]>2021-11-29 02:57:43 +0000
commitd7e953b25a28a846b0aafa7003f33432b7e107f5 (patch)
tree479f77c85a5fca956a58891eaa87c9afb224db86 /src/gpg/function/GpgKeyOpera.cpp
parentFix some known issues in basic operations and file operations. (diff)
downloadGpgFrontend-d7e953b25a28a846b0aafa7003f33432b7e107f5.tar.gz
GpgFrontend-d7e953b25a28a846b0aafa7003f33432b7e107f5.zip
Fix Known Bugs.
1. Import Keys. 2. Import Keys From Server. 3. UID Management.
Diffstat (limited to '')
-rw-r--r--src/gpg/function/GpgKeyOpera.cpp25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/gpg/function/GpgKeyOpera.cpp b/src/gpg/function/GpgKeyOpera.cpp
index 0a222c3f..c7775d10 100644
--- a/src/gpg/function/GpgKeyOpera.cpp
+++ b/src/gpg/function/GpgKeyOpera.cpp
@@ -61,23 +61,28 @@ void GpgFrontend::GpgKeyOpera::DeleteKeys(
* @param expires date and time
* @return if successful
*/
-void GpgFrontend::GpgKeyOpera::SetExpire(
- const GpgKey& key, const SubkeyId& subkey_id,
+GpgFrontend::GpgError GpgFrontend::GpgKeyOpera::SetExpire(
+ const GpgKey& key, const SubkeyId& subkey_fpr,
std::unique_ptr<boost::gregorian::date>& expires) {
unsigned long expires_time = 0;
if (expires != nullptr) {
using namespace boost::posix_time;
- expires_time = to_time_t(ptime(*expires));
+ using namespace std::chrono;
+ expires_time = to_time_t(ptime(*expires)) -
+ system_clock::to_time_t(system_clock::now());
}
+ LOG(INFO) << "GpgFrontend::GpgKeyOpera::SetExpire" << key.id() << subkey_fpr
+ << expires_time;
+
GpgError err;
- if (subkey_id.empty())
+ if (subkey_fpr.empty())
err = gpgme_op_setexpire(ctx, gpgme_key_t(key), expires_time, nullptr, 0);
else
err = gpgme_op_setexpire(ctx, gpgme_key_t(key), expires_time,
- subkey_id.c_str(), 0);
+ subkey_fpr.c_str(), 0);
- assert(gpg_err_code(err) != GPG_ERR_NO_ERROR);
+ return err;
}
/**
@@ -124,7 +129,9 @@ GpgFrontend::GpgError GpgFrontend::GpgKeyOpera::GenerateKey(
unsigned long expires = 0;
{
using namespace boost::posix_time;
- expires = to_time_t(ptime(params->getExpired()));
+ using namespace std::chrono;
+ expires = to_time_t(ptime(params->getExpired())) -
+ system_clock::to_time_t(system_clock::now());
}
unsigned int flags = 0;
@@ -158,7 +165,9 @@ GpgFrontend::GpgError GpgFrontend::GpgKeyOpera::GenerateSubkey(
unsigned long expires = 0;
{
using namespace boost::posix_time;
- expires = to_time_t(ptime(params->getExpired()));
+ using namespace std::chrono;
+ expires = to_time_t(ptime(params->getExpired())) -
+ system_clock::to_time_t(system_clock::now());
}
unsigned int flags = 0;