Merge commit 'key-sig-schemes'
authorTobias Brunner <tobias@strongswan.org>
Fri, 26 Oct 2018 08:58:36 +0000 (10:58 +0200)
committerTobias Brunner <tobias@strongswan.org>
Fri, 26 Oct 2018 08:59:38 +0000 (10:59 +0200)
This adds the ability to return supported signature schemes (and
parameters) from a private key.

This is useful for keys on a TPM 2.0 as these can be used only with a
particular scheme (the hash algorithm and for RSA even the padding scheme
is fixed).  For RSA with PSS padding there is an additional complication
because different TPMs use different salt lengths, which we have to know
beforehand to correctly produce e.g. a certificate request (the signature
covers the algorithm identifier that describes the signature scheme).

It turned out that the new method is also useful for the agent plugin.
Newer ssh/gpg-agents support SHA-256 and SHA-512 for RSA signatures, but
not SHA-384, which we can now convey to the pubkey authenticator.
Unfortunately, older agents ignore the flags that request a SHA2 signature
and just return one with SHA-1, in such scenarios IKEv2 signature
authentication has to be disabled.


Trivial merge