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)
commit64adacc3c65faf1db2f465e8ac14a464a984f5ce
tree2f3a6807687e799c8c395e862bf27431630d7d96
parent9b5b55b0264933fa99fb9974616f657b7e1a25da
parent153eb8199a432933a011e351b24ef51570be02dd
Merge commit 'key-sig-schemes'

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.