Version bump to 5.9.0
[strongswan.git] / src / libstrongswan / credentials / keys / private_key.h
index d7cfdd7..079c779 100644 (file)
@@ -40,6 +40,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.
         *
         * @param scheme        signature scheme to use
@@ -133,7 +146,7 @@ struct private_key_t {
 };
 
 /**
- * Generic private key equals() implementation, usable by implementors.
+ * Generic private key equals() implementation, usable by implementers.
  *
  * @param private              private key to check
  * @param other                        key to compare
@@ -142,7 +155,7 @@ struct private_key_t {
 bool private_key_equals(private_key_t *private, private_key_t *other);
 
 /**
- * Generic private key belongs_to() implementation, usable by implementors.
+ * Generic private key belongs_to() implementation, usable by implementers.
  *
  * @param private              private key to check
  * @param public               public key to compare
@@ -151,7 +164,7 @@ bool private_key_equals(private_key_t *private, private_key_t *other);
 bool private_key_belongs_to(private_key_t *private, public_key_t *public);
 
 /**
- * Generic private key has_fingerprint() implementation, usable by implementors.
+ * Generic private key has_fingerprint() implementation, usable by implementers.
  *
  * @param private              private key to check
  * @param fingerprint  fingerprint to check