diff options
Diffstat (limited to '')
-rw-r--r-- | include/gpg/GpgKey.h | 72 |
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); }; |