aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'lang/cpp/src')
-rw-r--r--lang/cpp/src/key.cpp4
-rw-r--r--lang/cpp/src/key.h18
2 files changed, 19 insertions, 3 deletions
diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp
index 55eb0585..9e57013a 100644
--- a/lang/cpp/src/key.cpp
+++ b/lang/cpp/src/key.cpp
@@ -373,9 +373,9 @@ const char *Subkey::fingerprint() const
return subkey ? subkey->fpr : 0 ;
}
-unsigned int Subkey::publicKeyAlgorithm() const
+Subkey::PubkeyAlgo Subkey::publicKeyAlgorithm() const
{
- return subkey ? subkey->pubkey_algo : 0 ;
+ return subkey ? static_cast<PubkeyAlgo>(subkey->pubkey_algo) : AlgoUnknown;
}
const char *Subkey::publicKeyAlgorithmAsString() const
diff --git a/lang/cpp/src/key.h b/lang/cpp/src/key.h
index 7322f650..845b5dbd 100644
--- a/lang/cpp/src/key.h
+++ b/lang/cpp/src/key.h
@@ -205,7 +205,23 @@ public:
bool isSecret() const;
- unsigned int publicKeyAlgorithm() const;
+ /** Same as gpgme_pubkey_algo_t */
+ enum PubkeyAlgo {
+ AlgoUnknown = 0,
+ AlgoRSA = 1,
+ AlgoRSA_E = 2,
+ AlgoRSA_S = 3,
+ AlgoELG_E = 16,
+ AlgoDSA = 17,
+ AlgoECC = 18,
+ AlgoELG = 20,
+ AlgoECDSA = 301,
+ AlgoECDH = 302,
+ AlgoEDDSA = 303,
+ AlgoMax = 1 << 31
+ };
+
+ PubkeyAlgo publicKeyAlgorithm() const;
/**
@brief Get the public key algorithm name.