aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/function/gpg/GpgKeyOpera.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/function/gpg/GpgKeyOpera.cpp')
-rw-r--r--src/core/function/gpg/GpgKeyOpera.cpp44
1 files changed, 24 insertions, 20 deletions
diff --git a/src/core/function/gpg/GpgKeyOpera.cpp b/src/core/function/gpg/GpgKeyOpera.cpp
index cf4d1e3b..82001337 100644
--- a/src/core/function/gpg/GpgKeyOpera.cpp
+++ b/src/core/function/gpg/GpgKeyOpera.cpp
@@ -28,14 +28,12 @@
#include "GpgKeyOpera.h"
-#include <gpg-error.h>
-
#include "core/GpgModel.h"
#include "core/function/gpg/GpgCommandExecutor.h"
#include "core/function/gpg/GpgKeyGetter.h"
#include "core/model/DataObject.h"
-#include "core/model/GpgGenKeyInfo.h"
#include "core/model/GpgGenerateKeyResult.h"
+#include "core/model/GpgKeyGenerateInfo.h"
#include "core/module/ModuleManager.h"
#include "core/typedef/GpgTypedef.h"
#include "core/utils/AsyncUtils.h"
@@ -163,8 +161,14 @@ void GpgKeyOpera::GenerateRevokeCert(const GpgKey& key,
}});
}
-auto GenerateKeyImpl(GpgContext& ctx, const QSharedPointer<GenKeyInfo>& params,
+auto GenerateKeyImpl(GpgContext& ctx,
+ const QSharedPointer<KeyGenerateInfo>& params,
const DataObjectPtr& data_object) -> GpgError {
+ if (params == nullptr || params->GetAlgo() == KeyGenerateInfo::kNoneAlgo ||
+ params->IsSubKey()) {
+ return GPG_ERR_CANCELED;
+ }
+
const auto userid = params->GetUserid();
const auto algo = params->GetAlgo().Id();
@@ -204,7 +208,7 @@ auto GenerateKeyImpl(GpgContext& ctx, const QSharedPointer<GenKeyInfo>& params,
* @param params key generation args
* @return error information
*/
-void GpgKeyOpera::GenerateKey(const QSharedPointer<GenKeyInfo>& params,
+void GpgKeyOpera::GenerateKey(const QSharedPointer<KeyGenerateInfo>& params,
const GpgOperationCallback& callback) {
RunGpgOperaAsync(
[=](const DataObjectPtr& data_object) -> GpgError {
@@ -213,7 +217,7 @@ void GpgKeyOpera::GenerateKey(const QSharedPointer<GenKeyInfo>& params,
callback, "gpgme_op_createkey", "2.1.0");
}
-auto GpgKeyOpera::GenerateKeySync(const QSharedPointer<GenKeyInfo>& params)
+auto GpgKeyOpera::GenerateKeySync(const QSharedPointer<KeyGenerateInfo>& params)
-> std::tuple<GpgError, DataObjectPtr> {
return RunGpgOperaSync(
[=](const DataObjectPtr& data_object) -> GpgError {
@@ -223,12 +227,12 @@ auto GpgKeyOpera::GenerateKeySync(const QSharedPointer<GenKeyInfo>& params)
}
auto GenerateSubKeyImpl(GpgContext& ctx, const GpgKey& key,
- const QSharedPointer<GenKeyInfo>& params,
+ const QSharedPointer<KeyGenerateInfo>& params,
const DataObjectPtr& data_object) -> GpgError {
- if (!params->IsSubKey()) return GPG_ERR_CANCELED;
-
- LOG_D() << "generate subkey algo: " << params->GetAlgo().Name()
- << "key size: " << params->GetKeyLength();
+ if (params == nullptr || params->GetAlgo() == KeyGenerateInfo::kNoneAlgo ||
+ !params->IsSubKey()) {
+ return GPG_ERR_CANCELED;
+ }
auto algo = params->GetAlgo().Id();
unsigned long expires =
@@ -259,7 +263,7 @@ auto GenerateSubKeyImpl(GpgContext& ctx, const GpgKey& key,
}
void GpgKeyOpera::GenerateSubkey(const GpgKey& key,
- const QSharedPointer<GenKeyInfo>& params,
+ const QSharedPointer<KeyGenerateInfo>& params,
const GpgOperationCallback& callback) {
RunGpgOperaAsync(
[=](const DataObjectPtr& data_object) -> GpgError {
@@ -268,8 +272,8 @@ void GpgKeyOpera::GenerateSubkey(const GpgKey& key,
callback, "gpgme_op_createsubkey", "2.1.13");
}
-auto GpgKeyOpera::GenerateSubkeySync(const GpgKey& key,
- const QSharedPointer<GenKeyInfo>& params)
+auto GpgKeyOpera::GenerateSubkeySync(
+ const GpgKey& key, const QSharedPointer<KeyGenerateInfo>& params)
-> std::tuple<GpgError, DataObjectPtr> {
return RunGpgOperaSync(
[=](const DataObjectPtr& data_object) -> GpgError {
@@ -279,8 +283,8 @@ auto GpgKeyOpera::GenerateSubkeySync(const GpgKey& key,
}
auto GenerateKeyWithSubkeyImpl(GpgContext& ctx, GpgKeyGetter& key_getter,
- const QSharedPointer<GenKeyInfo>& p_params,
- const QSharedPointer<GenKeyInfo>& s_params,
+ const QSharedPointer<KeyGenerateInfo>& p_params,
+ const QSharedPointer<KeyGenerateInfo>& s_params,
const DataObjectPtr& data_object) -> GpgError {
auto err = GenerateKeyImpl(ctx, p_params, data_object);
@@ -306,8 +310,8 @@ auto GenerateKeyWithSubkeyImpl(GpgContext& ctx, GpgKeyGetter& key_getter,
}
void GpgKeyOpera::GenerateKeyWithSubkey(
- const QSharedPointer<GenKeyInfo>& p_params,
- const QSharedPointer<GenKeyInfo>& s_params,
+ const QSharedPointer<KeyGenerateInfo>& p_params,
+ const QSharedPointer<KeyGenerateInfo>& s_params,
const GpgOperationCallback& callback) {
RunGpgOperaAsync(
[=](const DataObjectPtr& data_object) -> GpgError {
@@ -318,8 +322,8 @@ void GpgKeyOpera::GenerateKeyWithSubkey(
}
auto GpgKeyOpera::GenerateKeyWithSubkeySync(
- const QSharedPointer<GenKeyInfo>& p_params,
- const QSharedPointer<GenKeyInfo>& s_params)
+ const QSharedPointer<KeyGenerateInfo>& p_params,
+ const QSharedPointer<KeyGenerateInfo>& s_params)
-> std::tuple<GpgError, DataObjectPtr> {
return RunGpgOperaSync(
[=](const DataObjectPtr& data_object) -> GpgError {