Looks like it is supported in OpenSSL (https://wiki.openssl.org/index.php/Command_Line_Elliptic_Curve_Operations) including test code (https://github.com/bitcoin-core/secp256k1/blob/master/src/tests.c). You (or someone) would need to hook that up to a jwt library – and from my work in jwt-cpp, it shouldn’t be difficult.
Leonard
From: Christopher Allen <ChristopherA@lifewithalacrity.com>
Date: Thursday, February 13, 2020 at 12:23 AM
To: Leonard Rosenthol <lrosenth@adobe.com>, Mike Jones <Michael.Jones@microsoft.com>
Cc: Dave Longley <dlongley@digitalbazaar.com>, Wolf McNally <wolf@wolfmcnally.com>, "public-credentials@w3.org" <public-credentials@w3.org>
Subject: Re: Real BTCR DID Document
On Wed, Feb 12, 2020 at 1:53 PM Leonard Rosenthol <lrosenth@adobe.com<mailto:lrosenth@adobe.com>> wrote:
To Chris’s original question – I’ve been using a fork of https://github.com/Thalhammer/jwt-cpp<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FThalhammer%2Fjwt-cpp&data=02%7C01%7Clrosenth%40adobe.com%7C8bf1a92e1c1d4b2d09c908d7b044d49d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637171681981015259&sdata=YsEKkyuoCfsl9Nykwzx8xZhNd379jgYlrRHUTewotW8%3D&reserved=0> for our JWS/JWT work (though not DID specific). (FWIW: my fork adds support for non-JSON payloads and detached signatures)
Thanks, Leonard, this is useful.
My challenge is that I’ve yet to find a library that supports the secp256k1 magic values as proposed in
https://tools.ietf.org/html/draft-ietf-cose-webauthn-algorithms-05<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Fdraft-ietf-cose-webauthn-algorithms-05&data=02%7C01%7Clrosenth%40adobe.com%7C8bf1a92e1c1d4b2d09c908d7b044d49d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637171681981025253&sdata=8pf9FfYfUKbuKyEBFvtYBwSskq0P4sjuRS72aDDOYvg%3D&reserved=0> but is not in the RFC that jwt-cpp code yet.
Mike Jones, what is the status of this internet draft to become an RFC? Do you have any reference examples I can test against? Section 3.1 and 3.2 specify the magic values, but there are no test vectors.
— Christopher Allen