From e18c09cbc4f004bf82b793a9fd983c7275d49b45 Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Wed, 13 Dec 2023 15:55:55 +0100 Subject: [PATCH] qt: Fix validity for (sub)keys generated using QGpgMEQuickJob * lang/qt/src/qgpgmequickjob.cpp: Fix expiration calculation -- The job calculates the validity as the seconds since epoch, while GPG expects the seconds since the current time. This leads to the validity being significantly longer than expected. GnuPG-Bug-Id: 6889 --- lang/qt/src/qgpgmequickjob.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lang/qt/src/qgpgmequickjob.cpp b/lang/qt/src/qgpgmequickjob.cpp index e29be913..33f1178a 100644 --- a/lang/qt/src/qgpgmequickjob.cpp +++ b/lang/qt/src/qgpgmequickjob.cpp @@ -64,7 +64,8 @@ static QGpgMEQuickJob::result_type createWorker(GpgME::Context *ctx, auto err = ctx->createKey(uid.toUtf8().constData(), algo, 0, - expires.isValid() ? (unsigned long) (expires.toMSecsSinceEpoch() / 1000) : 0, + expires.isValid() ? (unsigned long) (expires.toMSecsSinceEpoch() / 1000 + - QDateTime::currentSecsSinceEpoch()) : 0, key, flags); return std::make_tuple(err, QString(), Error()); @@ -77,7 +78,8 @@ static QGpgMEQuickJob::result_type addSubkeyWorker(GpgME::Context *ctx, unsigned int flags) { auto err = ctx->createSubkey(key, algo, 0, - expires.isValid() ? (unsigned long) (expires.toMSecsSinceEpoch() / 1000): 0, + expires.isValid() ? (unsigned long) (expires.toMSecsSinceEpoch() / 1000 + - QDateTime::currentSecsSinceEpoch()): 0, flags); return std::make_tuple(err, QString(), Error()); }