In the case of ECDSA, a key could be used with a FIPS compliant signer (rfc6979 - deterministic signature), and a non-compliant signer (non-deterministic signature) depending to the execution environment.
To extend my sample about FIPS, we could for example have something like
```
{ "scheme" : "fips-ecdsa-sha2-nistp256", "keyval" : {"kty":"EC", "crv":"P-256", "x":"f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU", "y":"x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0", "kid":"Public key used in JWS spec Appendix A.3 example" } }
```
to denote another verifier/signer implementation but use the same key.
⚠ External Email
⚠ External Email: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.
⚠ External Email
On 14.04.2022, at 15:46, 'Thibault Normand' via The Update Framework (TUF) <theupdate...@googlegroups.com> wrote:
> Can you explain what you mean by the "signer object" exactly? A TUF signature structure consists of two things only:
From the spec, known as Key,
{ "keytype" : "ecdsa-sha2-nistp256", "scheme" : "ecdsa-sha2-nistp256", "keyval" : { "public" : PUBLIC } }
keytype and scheme could contain identical values. IMHO this is semantically incorrect to merge key type which is used to denote a key type as the spec mention "rsa", "ed25519" which are acceptable key types but "ecdsa-sha2-nistp256" is not a key type but a signature method using ECDSA with SHA256 for hash and P-256 as signing material. For me, it looks like mixing concepts, especially when I can see "scheme" and "keyType" sharing the same value. That's my initial observation.
It should be for semantic consistency{ "keytype" : "nistp256", "scheme" : "ecdsa-sha2-nistp256", "keyval" : { "public" : PUBLIC } }
But by doing this, we mix the Key info (keyType and keyVal), and the Signer (scheme).
To view this discussion on the web visit https://groups.google.com/d/msgid/theupdateframework/CAEncvnq4m6kXLc_Xs32u1T%2BoEfduWXiOMzg2M_mgiTX0vba2Vg%40mail.gmail.com.