aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/function/gpg
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/function/gpg')
-rw-r--r--src/core/function/gpg/GpgKeyOpera.cpp44
-rw-r--r--src/core/function/gpg/GpgKeyOpera.h19
2 files changed, 34 insertions, 29 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 {
diff --git a/src/core/function/gpg/GpgKeyOpera.h b/src/core/function/gpg/GpgKeyOpera.h
index d724f5f8..f6b7143e 100644
--- a/src/core/function/gpg/GpgKeyOpera.h
+++ b/src/core/function/gpg/GpgKeyOpera.h
@@ -39,7 +39,7 @@ namespace GpgFrontend {
* @brief
*
*/
-class GenKeyInfo;
+class KeyGenerateInfo;
/**
* @brief
@@ -115,7 +115,7 @@ class GPGFRONTEND_CORE_EXPORT GpgKeyOpera
* @param result
* @return GpgFrontend::GpgError
*/
- void GenerateKey(const QSharedPointer<GenKeyInfo>&,
+ void GenerateKey(const QSharedPointer<KeyGenerateInfo>&,
const GpgOperationCallback&);
/**
@@ -123,7 +123,7 @@ class GPGFRONTEND_CORE_EXPORT GpgKeyOpera
*
* @param params
*/
- auto GenerateKeySync(const QSharedPointer<GenKeyInfo>& params)
+ auto GenerateKeySync(const QSharedPointer<KeyGenerateInfo>& params)
-> std::tuple<GpgError, DataObjectPtr>;
/**
@@ -134,7 +134,7 @@ class GPGFRONTEND_CORE_EXPORT GpgKeyOpera
* @return GpgFrontend::GpgError
*/
void GenerateSubkey(const GpgKey& key,
- const QSharedPointer<GenKeyInfo>& params,
+ const QSharedPointer<KeyGenerateInfo>& params,
const GpgOperationCallback&);
/**
@@ -144,7 +144,7 @@ class GPGFRONTEND_CORE_EXPORT GpgKeyOpera
* @param params
*/
auto GenerateSubkeySync(const GpgKey& key,
- const QSharedPointer<GenKeyInfo>& params)
+ const QSharedPointer<KeyGenerateInfo>& params)
-> std::tuple<GpgError, DataObjectPtr>;
/**
@@ -154,8 +154,8 @@ class GPGFRONTEND_CORE_EXPORT GpgKeyOpera
* @param subkey_params
* @param callback
*/
- void GenerateKeyWithSubkey(const QSharedPointer<GenKeyInfo>& p_params,
- const QSharedPointer<GenKeyInfo>& s_params,
+ void GenerateKeyWithSubkey(const QSharedPointer<KeyGenerateInfo>& p_params,
+ const QSharedPointer<KeyGenerateInfo>& s_params,
const GpgOperationCallback& callback);
/**
@@ -165,8 +165,9 @@ class GPGFRONTEND_CORE_EXPORT GpgKeyOpera
* @param subkey_params
* @param callback
*/
- auto GenerateKeyWithSubkeySync(const QSharedPointer<GenKeyInfo>& p_params,
- const QSharedPointer<GenKeyInfo>& s_params)
+ auto GenerateKeyWithSubkeySync(
+ const QSharedPointer<KeyGenerateInfo>& p_params,
+ const QSharedPointer<KeyGenerateInfo>& s_params)
-> std::tuple<GpgError, DataObjectPtr>;
private: