aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cpp/src/key.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lang/cpp/src/key.cpp')
-rw-r--r--lang/cpp/src/key.cpp22
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());
}