diff options
Diffstat (limited to 'lang/cpp/src/key.cpp')
-rw-r--r-- | lang/cpp/src/key.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index 2465cf06..42046aa0 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -264,14 +264,24 @@ bool Key::isQualified() const bool Key::isDeVs() const { - if (!key) { + if (!key || !key->subkeys) { return false; } - if (!key->subkeys || !key->subkeys->is_de_vs) { + for (gpgme_sub_key_t subkey = key->subkeys ; subkey ; subkey = subkey->next) { + if (!subkey->is_de_vs) { + return false; + } + } + return true; +} + +bool Key::isBetaCompliance() const +{ + if (!key || !key->subkeys) { return false; } for (gpgme_sub_key_t subkey = key->subkeys ; subkey ; subkey = subkey->next) { - if (!subkey->is_de_vs) { + if (!subkey->beta_compliance) { return false; } } @@ -586,6 +596,11 @@ bool Subkey::isDeVs() const return subkey && subkey->is_de_vs; } +bool Subkey::isBetaCompliance() const +{ + return subkey && subkey->beta_compliance; +} + bool Subkey::isCardKey() const { return subkey && subkey->is_cardkey; @@ -1390,6 +1405,7 @@ std::ostream &operator<<(std::ostream &os, const Subkey &subkey) << "\n isGroupOwned: " << subkey.isGroupOwned() << "\n isQualified: " << subkey.isQualified() << "\n isDeVs: " << subkey.isDeVs() + << "\n isBetaCompliance:" << subkey.isBetaCompliance() << "\n isCardKey: " << subkey.isCardKey() << "\n cardSerialNumber:" << protect(subkey.cardSerialNumber()); } |