- From: Brent Shambaugh <brent.shambaugh@gmail.com>
- Date: Mon, 7 Nov 2022 17:56:09 -0600
- To: Credentials Community Group <public-credentials@w3.org>
- Message-ID: <CACvcBVpk6veLdnhVHWuLDyMHU1YtfFbqxVF=xxNsZp1bZ895PA@mail.gmail.com>
Dear all, I hope today finds you well. I hope it is in scope to ask about
ES256. I'm using it for JWTs for a did type construction.
I' m a bit confused what ES256 is supposed to look like. I chose to follow:
https://www.rfc-editor.org/rfc/rfc7515.html#appendix-A.3
In summary I have this working..
{"alg":"ES256"} converted to octet Array and then converted to base54ul
gives: eyJhbGciOiJFUzI1NiJ9
{"iss":"joe","exp":1300819380,"http://example.com/is_root":true} converted
to octet Array and then converted to base54ul gives:
eyJpc3MiOiJqb2UiLCJleHAiOjEzMDA4MTkzODAsImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
concatenating and then converting to a octetArray gives
toOctetArray(eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJqb2UiLCJleHAiOjEzMDA4MTkzODAsImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ)
[101, 121, 74, 104, 98, 71, 99, 105, 79, 105, 74, 70, 85, 122, 73,
49, 78, 105, 74, 57, 46, 101, 121, 74, 112, 99, 51, 77, 105, 79, 105,
74, 113, 98, 50, 85, 105, 76, 65, 48, 75, 73, 67, 74, 108, 101, 72,
65, 105, 79, 106, 69, 122, 77, 68, 65, 52, 77, 84, 107, 122, 79, 68,
65, 115, 68, 81, 111, 103, 73, 109, 104, 48, 100, 72, 65, 54, 76,
121, 57, 108, 101, 71, 70, 116, 99, 71, 120, 108, 76, 109, 78, 118,
98, 83, 57, 112, 99, 49, 57, 121, 98, 50, 57, 48, 73, 106, 112, 48,
99, 110, 86, 108, 102, 81]
However, I am not sure what to do from here. I think I should hash it and
then sign it with a private key. If I perform a SHA-256 hash of this I get.
Uint8Array(32) [
180, 18, 240, 220, 249, 3, 49, 190,
173, 106, 190, 219, 46, 253, 149, 129,
253, 214, 109, 21, 89, 79, 24, 93,
153, 224, 231, 84, 182, 63, 136, 232
]
The signature will then be:
Uint8Array(32) [
225, 116, 158, 38, 197, 3, 46, 22,
98, 176, 94, 213, 135, 30, 226, 96,
143, 234, 247, 30, 218, 220, 201, 60,
251, 11, 35, 250, 58, 95, 223, 208
]
Uint8Array(32) [
209, 123, 230, 195, 18, 223, 176, 237,
73, 77, 215, 28, 31, 166, 42, 46,
186, 129, 172, 178, 2, 74, 1, 63,
70, 192, 71, 142, 70, 60, 238, 34
]
However, this is not what I get. Am I missing something?
I put my code in a gist:
https://gist.github.com/bshambaugh/7caa03e042545873b5cf055b584e8157
-Brent Shambaugh
GitHub: https://github.com/bshambaugh
Website: http://bshambaugh.org/
LinkedIN: https://www.linkedin.com/in/brent-shambaugh-9b91259
Skype: brent.shambaugh
Twitter: https://twitter.com/Brent_Shambaugh
WebID: http://bshambaugh.org/foaf.rdf#me
Received on Monday, 7 November 2022 23:56:33 UTC