From 1c4738325db611771595dac2936821a6bab1a200 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 12 Oct 2018 10:35:04 +0200 Subject: [PATCH] private-key: Add optional method that returns supported signature schemes --- src/libstrongswan/credentials/keys/private_key.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/libstrongswan/credentials/keys/private_key.h b/src/libstrongswan/credentials/keys/private_key.h index d7cfdd74d..5cf8641ad 100644 --- a/src/libstrongswan/credentials/keys/private_key.h +++ b/src/libstrongswan/credentials/keys/private_key.h @@ -39,6 +39,19 @@ struct private_key_t { */ key_type_t (*get_type)(private_key_t *this); + /** + * Get signature schemes supported by this key. + * + * This is useful for keys that only support certain hash algorithms or + * require specific parameters for RSA/PSS signatures. + * + * @note Implementing this method is optional. If multiple schemes are + * returned, they should be ordered by decreasing preference. + * + * @return enumerator over signature_params_t* + */ + enumerator_t *(*supported_signature_schemes)(private_key_t *this); + /** * Create a signature over a chunk of data. *