aboutsummaryrefslogtreecommitdiffstats
path: root/include/gpg/GpgKey.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/gpg/GpgKey.h72
1 files changed, 5 insertions, 67 deletions
diff --git a/include/gpg/GpgKey.h b/include/gpg/GpgKey.h
index 2dc4f8c8..5d244510 100644
--- a/include/gpg/GpgKey.h
+++ b/include/gpg/GpgKey.h
@@ -25,8 +25,7 @@
#ifndef GPGFRONTEND_GPGKEY_H
#define GPGFRONTEND_GPGKEY_H
-#include <gpgme.h>
-
+#include "UID.h"
#include "GpgSubKey.h"
class GpgKey {
@@ -44,7 +43,7 @@ public:
QDateTime expires;
QDateTime create_time;
- int length;
+ unsigned int length;
bool can_encrypt{};
bool can_sign{};
@@ -61,6 +60,8 @@ public:
QVector<GpgSubKey> subKeys;
+ QVector<UID> uids;
+
explicit GpgKey(gpgme_key_t key) {
parse(key);
}
@@ -69,70 +70,7 @@ public:
is_private_key = false;
}
- void parse(gpgme_key_t key) {
- if(key != nullptr) {
- good = true;
- is_private_key = key->secret;
- fpr = key->fpr;
- protocol = key->protocol;
- expired = (key->expired != 0u);
- revoked = (key->revoked != 0u);
-
- disabled = key->disabled;
-
- can_authenticate = key->can_authenticate;
- can_certify = key->can_certify;
- can_encrypt = key->can_encrypt;
- can_sign = key->can_sign;
-
- last_update = QDateTime(QDateTime::fromTime_t(key->last_update));
-
- switch (key->owner_trust) {
- case GPGME_VALIDITY_UNKNOWN:
- owner_trust = "Unknown";
- break;
- case GPGME_VALIDITY_UNDEFINED:
- owner_trust = "Undefined";
- break;
- case GPGME_VALIDITY_NEVER:
- owner_trust = "Never";
- break;
- case GPGME_VALIDITY_MARGINAL:
- owner_trust = "Marginal";
- break;
- case GPGME_VALIDITY_FULL:
- owner_trust = "FULL";
- break;
- case GPGME_VALIDITY_ULTIMATE:
- owner_trust = "Ultimate";
- break;
- }
-
-
- if (key->uids) {
- name = QString::fromUtf8(key->uids->name);
- email = QString::fromUtf8(key->uids->email);
- comment = QString::fromUtf8(key->uids->comment);
- }
-
- gpgme_subkey_t next = key->subkeys;
-
- while (next != nullptr) {
- subKeys.push_back(GpgSubKey(next));
- next = next->next;
- }
-
- if (!subKeys.isEmpty()) {
- id = subKeys.first().id;
- expires = subKeys.first().expires;
- pubkey_algo = subKeys.first().pubkey_algo;
- create_time = subKeys.first().timestamp;
- length = subKeys.first().length;
- } else {
- id = "";
- }
- }
- }
+ void parse(gpgme_key_t key);
};