@sphereon/ssi-sdk-ext.key-utils 0.24.1-next.98 → 0.24.1-unstable.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/conversion.d.ts +12 -0
- package/dist/conversion.d.ts.map +1 -0
- package/dist/conversion.js +206 -0
- package/dist/conversion.js.map +1 -0
- package/dist/functions.d.ts +11 -3
- package/dist/functions.d.ts.map +1 -1
- package/dist/functions.js +30 -10
- package/dist/functions.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types/key-util-types.d.ts +0 -59
- package/dist/types/key-util-types.d.ts.map +1 -1
- package/dist/types/key-util-types.js +1 -29
- package/dist/types/key-util-types.js.map +1 -1
- package/package.json +4 -4
- package/src/conversion.ts +222 -0
- package/src/functions.ts +68 -26
- package/src/index.ts +1 -0
- package/src/types/key-util-types.ts +0 -66
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ICoseCurve, ICoseKeyJson, ICoseKeyOperation, ICoseKeyType, ICoseSignatureAlgorithm, JoseCurve, JoseCurveString, JoseKeyOperation, JoseKeyOperationString, JoseSignatureAlgorithm, JoseSignatureAlgorithmString, JWK, JwkKeyType, JwkKeyTypeString } from '@sphereon/ssi-types';
|
|
2
|
+
export declare function coseKeyToJwk(coseKey: ICoseKeyJson): JWK;
|
|
3
|
+
export declare function jwkToCoseKey(jwk: JWK): ICoseKeyJson;
|
|
4
|
+
export declare function coseToJoseKty(kty: ICoseKeyType): JwkKeyType;
|
|
5
|
+
export declare function joseToCoseKty(kty: JwkKeyType | JwkKeyTypeString): ICoseKeyType;
|
|
6
|
+
export declare function coseToJoseSignatureAlg(coseAlg: ICoseSignatureAlgorithm): JoseSignatureAlgorithm;
|
|
7
|
+
export declare function joseToCoseSignatureAlg(joseAlg: JoseSignatureAlgorithm | JoseSignatureAlgorithmString): ICoseSignatureAlgorithm;
|
|
8
|
+
export declare function joseToCoseKeyOperation(keyOp: JoseKeyOperation | JoseKeyOperationString): ICoseKeyOperation;
|
|
9
|
+
export declare function coseToJoseKeyOperation(keyOp: ICoseKeyOperation): JoseKeyOperation;
|
|
10
|
+
export declare function joseToCoseCurve(curve: JoseCurve | JoseCurveString): ICoseCurve;
|
|
11
|
+
export declare function coseToJoseCurve(curve: ICoseCurve): JoseCurve;
|
|
12
|
+
//# sourceMappingURL=conversion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../src/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAC5B,GAAG,EACH,UAAU,EACV,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAE5B,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,GAAG,CAWvD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAWnD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,UAAU,CAa3D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,gBAAgB,GAAG,YAAY,CAa9E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CA2B/F;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,4BAA4B,GAAG,uBAAuB,CA2B9H;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,iBAAiB,CAqB1G;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,CAqBjF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,eAAe,GAAG,UAAU,CAqB9E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAqB5D"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.coseToJoseCurve = exports.joseToCoseCurve = exports.coseToJoseKeyOperation = exports.joseToCoseKeyOperation = exports.joseToCoseSignatureAlg = exports.coseToJoseSignatureAlg = exports.joseToCoseKty = exports.coseToJoseKty = exports.jwkToCoseKey = exports.coseKeyToJwk = void 0;
|
|
15
|
+
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
16
|
+
function coseKeyToJwk(coseKey) {
|
|
17
|
+
const { x5chain, key_ops, crv, alg, baseIV, kty } = coseKey, rest = __rest(coseKey, ["x5chain", "key_ops", "crv", "alg", "baseIV", "kty"]);
|
|
18
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { kty: coseToJoseKty(kty) }), (crv && { crv: coseToJoseCurve(crv) })), (key_ops && { key_ops: key_ops.map(coseToJoseKeyOperation) })), (alg && { alg: coseToJoseSignatureAlg(alg) })), (baseIV && { iv: baseIV })), (x5chain && { x5c: x5chain }));
|
|
19
|
+
}
|
|
20
|
+
exports.coseKeyToJwk = coseKeyToJwk;
|
|
21
|
+
function jwkToCoseKey(jwk) {
|
|
22
|
+
const { x5c, key_ops, crv, alg, iv, kty } = jwk, rest = __rest(jwk, ["x5c", "key_ops", "crv", "alg", "iv", "kty"]);
|
|
23
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { kty: joseToCoseKty(kty) }), (crv && { crv: joseToCoseCurve(crv) })), (key_ops && { key_ops: key_ops.map(joseToCoseKeyOperation) })), (alg && { alg: joseToCoseSignatureAlg(alg) })), (iv && { baseIV: iv })), (x5c && { x5chain: x5c }));
|
|
24
|
+
}
|
|
25
|
+
exports.jwkToCoseKey = jwkToCoseKey;
|
|
26
|
+
function coseToJoseKty(kty) {
|
|
27
|
+
switch (kty) {
|
|
28
|
+
case ssi_types_1.ICoseKeyType.EC2:
|
|
29
|
+
return ssi_types_1.JwkKeyType.EC;
|
|
30
|
+
case ssi_types_1.ICoseKeyType.RSA:
|
|
31
|
+
return ssi_types_1.JwkKeyType.RSA;
|
|
32
|
+
case ssi_types_1.ICoseKeyType.Symmetric:
|
|
33
|
+
return ssi_types_1.JwkKeyType.oct;
|
|
34
|
+
case ssi_types_1.ICoseKeyType.OKP:
|
|
35
|
+
return ssi_types_1.JwkKeyType.OKP;
|
|
36
|
+
default:
|
|
37
|
+
throw Error(`Key type ${kty} not supported in JWA`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.coseToJoseKty = coseToJoseKty;
|
|
41
|
+
function joseToCoseKty(kty) {
|
|
42
|
+
switch (kty) {
|
|
43
|
+
case 'EC':
|
|
44
|
+
return ssi_types_1.ICoseKeyType.EC2;
|
|
45
|
+
case 'RSA':
|
|
46
|
+
return ssi_types_1.ICoseKeyType.RSA;
|
|
47
|
+
case 'oct':
|
|
48
|
+
return ssi_types_1.ICoseKeyType.Symmetric;
|
|
49
|
+
case 'OKP':
|
|
50
|
+
return ssi_types_1.ICoseKeyType.OKP;
|
|
51
|
+
default:
|
|
52
|
+
throw Error(`Key type ${kty} not supported in Cose`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.joseToCoseKty = joseToCoseKty;
|
|
56
|
+
function coseToJoseSignatureAlg(coseAlg) {
|
|
57
|
+
switch (coseAlg) {
|
|
58
|
+
case ssi_types_1.ICoseSignatureAlgorithm.ES256K:
|
|
59
|
+
return ssi_types_1.JoseSignatureAlgorithm.ES256K;
|
|
60
|
+
case ssi_types_1.ICoseSignatureAlgorithm.ES256:
|
|
61
|
+
return ssi_types_1.JoseSignatureAlgorithm.ES256;
|
|
62
|
+
case ssi_types_1.ICoseSignatureAlgorithm.ES384:
|
|
63
|
+
return ssi_types_1.JoseSignatureAlgorithm.ES384;
|
|
64
|
+
case ssi_types_1.ICoseSignatureAlgorithm.ES512:
|
|
65
|
+
return ssi_types_1.JoseSignatureAlgorithm.ES512;
|
|
66
|
+
case ssi_types_1.ICoseSignatureAlgorithm.PS256:
|
|
67
|
+
return ssi_types_1.JoseSignatureAlgorithm.PS256;
|
|
68
|
+
case ssi_types_1.ICoseSignatureAlgorithm.PS384:
|
|
69
|
+
return ssi_types_1.JoseSignatureAlgorithm.PS384;
|
|
70
|
+
case ssi_types_1.ICoseSignatureAlgorithm.PS512:
|
|
71
|
+
return ssi_types_1.JoseSignatureAlgorithm.PS512;
|
|
72
|
+
case ssi_types_1.ICoseSignatureAlgorithm.HS256:
|
|
73
|
+
return ssi_types_1.JoseSignatureAlgorithm.HS256;
|
|
74
|
+
case ssi_types_1.ICoseSignatureAlgorithm.HS384:
|
|
75
|
+
return ssi_types_1.JoseSignatureAlgorithm.HS384;
|
|
76
|
+
case ssi_types_1.ICoseSignatureAlgorithm.HS512:
|
|
77
|
+
return ssi_types_1.JoseSignatureAlgorithm.HS512;
|
|
78
|
+
case ssi_types_1.ICoseSignatureAlgorithm.EdDSA:
|
|
79
|
+
return ssi_types_1.JoseSignatureAlgorithm.EdDSA;
|
|
80
|
+
default:
|
|
81
|
+
throw Error(`Signature algorithm ${coseAlg} not supported in Jose`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.coseToJoseSignatureAlg = coseToJoseSignatureAlg;
|
|
85
|
+
function joseToCoseSignatureAlg(joseAlg) {
|
|
86
|
+
switch (joseAlg) {
|
|
87
|
+
case (ssi_types_1.JoseSignatureAlgorithm.ES256K, 'ES256K'):
|
|
88
|
+
return ssi_types_1.ICoseSignatureAlgorithm.ES256K;
|
|
89
|
+
case (ssi_types_1.JoseSignatureAlgorithm.ES256, 'ES256'):
|
|
90
|
+
return ssi_types_1.ICoseSignatureAlgorithm.ES256;
|
|
91
|
+
case (ssi_types_1.JoseSignatureAlgorithm.ES384, 'ES384'):
|
|
92
|
+
return ssi_types_1.ICoseSignatureAlgorithm.ES384;
|
|
93
|
+
case (ssi_types_1.JoseSignatureAlgorithm.ES512, 'ES512'):
|
|
94
|
+
return ssi_types_1.ICoseSignatureAlgorithm.ES512;
|
|
95
|
+
case (ssi_types_1.JoseSignatureAlgorithm.PS256, 'PS256'):
|
|
96
|
+
return ssi_types_1.ICoseSignatureAlgorithm.PS256;
|
|
97
|
+
case (ssi_types_1.JoseSignatureAlgorithm.PS384, 'PS384'):
|
|
98
|
+
return ssi_types_1.ICoseSignatureAlgorithm.PS384;
|
|
99
|
+
case (ssi_types_1.JoseSignatureAlgorithm.PS512, 'PS512'):
|
|
100
|
+
return ssi_types_1.ICoseSignatureAlgorithm.PS512;
|
|
101
|
+
case (ssi_types_1.JoseSignatureAlgorithm.HS256, 'HS256'):
|
|
102
|
+
return ssi_types_1.ICoseSignatureAlgorithm.HS256;
|
|
103
|
+
case (ssi_types_1.JoseSignatureAlgorithm.HS384, 'HS384'):
|
|
104
|
+
return ssi_types_1.ICoseSignatureAlgorithm.HS384;
|
|
105
|
+
case (ssi_types_1.JoseSignatureAlgorithm.HS512, 'HS512'):
|
|
106
|
+
return ssi_types_1.ICoseSignatureAlgorithm.HS512;
|
|
107
|
+
case (ssi_types_1.JoseSignatureAlgorithm.EdDSA, 'EdDSA'):
|
|
108
|
+
return ssi_types_1.ICoseSignatureAlgorithm.EdDSA;
|
|
109
|
+
default:
|
|
110
|
+
throw Error(`Signature algorithm ${joseAlg} not supported in Cose`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.joseToCoseSignatureAlg = joseToCoseSignatureAlg;
|
|
114
|
+
function joseToCoseKeyOperation(keyOp) {
|
|
115
|
+
switch (keyOp) {
|
|
116
|
+
case (ssi_types_1.JoseKeyOperation.SIGN, 'sign'):
|
|
117
|
+
return ssi_types_1.ICoseKeyOperation.SIGN;
|
|
118
|
+
case (ssi_types_1.JoseKeyOperation.VERIFY, 'verify'):
|
|
119
|
+
return ssi_types_1.ICoseKeyOperation.VERIFY;
|
|
120
|
+
case (ssi_types_1.JoseKeyOperation.ENCRYPT, 'encrypt'):
|
|
121
|
+
return ssi_types_1.ICoseKeyOperation.ENCRYPT;
|
|
122
|
+
case (ssi_types_1.JoseKeyOperation.DECRYPT, 'decrypt'):
|
|
123
|
+
return ssi_types_1.ICoseKeyOperation.DECRYPT;
|
|
124
|
+
case (ssi_types_1.JoseKeyOperation.WRAP_KEY, 'wrapKey'):
|
|
125
|
+
return ssi_types_1.ICoseKeyOperation.WRAP_KEY;
|
|
126
|
+
case (ssi_types_1.JoseKeyOperation.UNWRAP_KEY, 'unwrapKey'):
|
|
127
|
+
return ssi_types_1.ICoseKeyOperation.UNWRAP_KEY;
|
|
128
|
+
case (ssi_types_1.JoseKeyOperation.DERIVE_KEY, 'deriveKey'):
|
|
129
|
+
return ssi_types_1.ICoseKeyOperation.DERIVE_KEY;
|
|
130
|
+
case (ssi_types_1.JoseKeyOperation.DERIVE_BITS, 'deriveBits'):
|
|
131
|
+
return ssi_types_1.ICoseKeyOperation.DERIVE_BITS;
|
|
132
|
+
default:
|
|
133
|
+
throw Error(`Key operation ${keyOp} not supported in Cose`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.joseToCoseKeyOperation = joseToCoseKeyOperation;
|
|
137
|
+
function coseToJoseKeyOperation(keyOp) {
|
|
138
|
+
switch (keyOp) {
|
|
139
|
+
case ssi_types_1.ICoseKeyOperation.SIGN:
|
|
140
|
+
return ssi_types_1.JoseKeyOperation.SIGN;
|
|
141
|
+
case ssi_types_1.ICoseKeyOperation.VERIFY:
|
|
142
|
+
return ssi_types_1.JoseKeyOperation.VERIFY;
|
|
143
|
+
case ssi_types_1.ICoseKeyOperation.ENCRYPT:
|
|
144
|
+
return ssi_types_1.JoseKeyOperation.ENCRYPT;
|
|
145
|
+
case ssi_types_1.ICoseKeyOperation.DECRYPT:
|
|
146
|
+
return ssi_types_1.JoseKeyOperation.DECRYPT;
|
|
147
|
+
case ssi_types_1.ICoseKeyOperation.WRAP_KEY:
|
|
148
|
+
return ssi_types_1.JoseKeyOperation.WRAP_KEY;
|
|
149
|
+
case ssi_types_1.ICoseKeyOperation.UNWRAP_KEY:
|
|
150
|
+
return ssi_types_1.JoseKeyOperation.UNWRAP_KEY;
|
|
151
|
+
case ssi_types_1.ICoseKeyOperation.DERIVE_KEY:
|
|
152
|
+
return ssi_types_1.JoseKeyOperation.DERIVE_KEY;
|
|
153
|
+
case ssi_types_1.ICoseKeyOperation.DERIVE_BITS:
|
|
154
|
+
return ssi_types_1.JoseKeyOperation.DERIVE_BITS;
|
|
155
|
+
default:
|
|
156
|
+
throw Error(`Key operation ${keyOp} not supported in Jose`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
exports.coseToJoseKeyOperation = coseToJoseKeyOperation;
|
|
160
|
+
function joseToCoseCurve(curve) {
|
|
161
|
+
switch (curve) {
|
|
162
|
+
case (ssi_types_1.JoseCurve.P_256, 'P-256'):
|
|
163
|
+
return ssi_types_1.ICoseCurve.P_256;
|
|
164
|
+
case (ssi_types_1.JoseCurve.P_384, 'P-384'):
|
|
165
|
+
return ssi_types_1.ICoseCurve.P_384;
|
|
166
|
+
case (ssi_types_1.JoseCurve.P_521, 'P-521'):
|
|
167
|
+
return ssi_types_1.ICoseCurve.P_521;
|
|
168
|
+
case (ssi_types_1.JoseCurve.X25519, 'X25519'):
|
|
169
|
+
return ssi_types_1.ICoseCurve.X25519;
|
|
170
|
+
case (ssi_types_1.JoseCurve.X448, 'X448'):
|
|
171
|
+
return ssi_types_1.ICoseCurve.X448;
|
|
172
|
+
case (ssi_types_1.JoseCurve.Ed25519, 'Ed25519'):
|
|
173
|
+
return ssi_types_1.ICoseCurve.Ed25519;
|
|
174
|
+
case (ssi_types_1.JoseCurve.Ed448, 'Ed448'):
|
|
175
|
+
return ssi_types_1.ICoseCurve.Ed448;
|
|
176
|
+
case (ssi_types_1.JoseCurve.secp256k1, 'secp256k1'):
|
|
177
|
+
return ssi_types_1.ICoseCurve.secp256k1;
|
|
178
|
+
default:
|
|
179
|
+
throw Error(`Curve ${curve} not supported in Cose`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.joseToCoseCurve = joseToCoseCurve;
|
|
183
|
+
function coseToJoseCurve(curve) {
|
|
184
|
+
switch (curve) {
|
|
185
|
+
case ssi_types_1.ICoseCurve.P_256:
|
|
186
|
+
return ssi_types_1.JoseCurve.P_256;
|
|
187
|
+
case ssi_types_1.ICoseCurve.P_384:
|
|
188
|
+
return ssi_types_1.JoseCurve.P_384;
|
|
189
|
+
case ssi_types_1.ICoseCurve.P_521:
|
|
190
|
+
return ssi_types_1.JoseCurve.P_521;
|
|
191
|
+
case ssi_types_1.ICoseCurve.X25519:
|
|
192
|
+
return ssi_types_1.JoseCurve.X25519;
|
|
193
|
+
case ssi_types_1.ICoseCurve.X448:
|
|
194
|
+
return ssi_types_1.JoseCurve.X448;
|
|
195
|
+
case ssi_types_1.ICoseCurve.Ed25519:
|
|
196
|
+
return ssi_types_1.JoseCurve.Ed25519;
|
|
197
|
+
case ssi_types_1.ICoseCurve.Ed448:
|
|
198
|
+
return ssi_types_1.JoseCurve.Ed448;
|
|
199
|
+
case ssi_types_1.ICoseCurve.secp256k1:
|
|
200
|
+
return ssi_types_1.JoseCurve.secp256k1;
|
|
201
|
+
default:
|
|
202
|
+
throw Error(`Curve ${curve} not supported in Jose`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
exports.coseToJoseCurve = coseToJoseCurve;
|
|
206
|
+
//# sourceMappingURL=conversion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversion.js","sourceRoot":"","sources":["../src/conversion.ts"],"names":[],"mappings":"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"}
|
package/dist/functions.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { JoseSignatureAlgorithm, JWK } from '@sphereon/ssi-types';
|
|
1
2
|
import { IAgentContext, IKey, IKeyManager, ManagedKeyInfo, MinimalImportableKey } from '@veramo/core';
|
|
2
|
-
import {
|
|
3
|
+
import { JsonWebKey } from 'did-resolver';
|
|
4
|
+
import { IImportProvidedOrGeneratedKeyArgs, JwkKeyUse, KeyTypeFromCryptographicSuiteArgs, SignatureAlgorithmFromKeyArgs, SignatureAlgorithmFromKeyTypeArgs, TKeyType } from './types';
|
|
3
5
|
export declare const logger: import("@sphereon/ssi-types").ISimpleLogger<unknown>;
|
|
4
6
|
/**
|
|
5
7
|
* Generates a random Private Hex Key for the specified key type
|
|
@@ -64,7 +66,13 @@ export declare const asn1DerToRawPublicKey: (derKey: Uint8Array, keyType: TKeyTy
|
|
|
64
66
|
export declare const isRawCompressedPublicKey: (key: Uint8Array) => boolean;
|
|
65
67
|
export declare const toRawCompressedHexPublicKey: (rawPublicKey: Uint8Array, keyType: TKeyType) => string;
|
|
66
68
|
export declare const hexStringFromUint8Array: (value: Uint8Array) => string;
|
|
67
|
-
export declare const signatureAlgorithmFromKey: (args: SignatureAlgorithmFromKeyArgs) => Promise<
|
|
68
|
-
export declare const signatureAlgorithmFromKeyType: (args: SignatureAlgorithmFromKeyTypeArgs) =>
|
|
69
|
+
export declare const signatureAlgorithmFromKey: (args: SignatureAlgorithmFromKeyArgs) => Promise<JoseSignatureAlgorithm>;
|
|
70
|
+
export declare const signatureAlgorithmFromKeyType: (args: SignatureAlgorithmFromKeyTypeArgs) => JoseSignatureAlgorithm;
|
|
69
71
|
export declare const keyTypeFromCryptographicSuite: (args: KeyTypeFromCryptographicSuiteArgs) => TKeyType;
|
|
72
|
+
export declare function verifySignatureWithSubtle({ data, signature, key, crypto: cryptoArg, }: {
|
|
73
|
+
data: Uint8Array;
|
|
74
|
+
signature: Uint8Array;
|
|
75
|
+
key: JsonWebKey;
|
|
76
|
+
crypto?: Crypto;
|
|
77
|
+
}): Promise<boolean>;
|
|
70
78
|
//# sourceMappingURL=functions.d.ts.map
|
package/dist/functions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/functions.js
CHANGED
|
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.keyTypeFromCryptographicSuite = exports.signatureAlgorithmFromKeyType = exports.signatureAlgorithmFromKey = exports.hexStringFromUint8Array = exports.toRawCompressedHexPublicKey = exports.isRawCompressedPublicKey = exports.asn1DerToRawPublicKey = exports.isAsn1Der = exports.padLeft = exports.jwkDetermineUse = exports.toJwk = exports.toJwkFromKey = exports.calculateJwkThumbprint = exports.toBase64url = exports.calculateJwkThumbprintForKey = exports.importProvidedOrGeneratedKey = exports.generatePrivateKeyHex = exports.logger = void 0;
|
|
38
|
+
exports.verifySignatureWithSubtle = exports.keyTypeFromCryptographicSuite = exports.signatureAlgorithmFromKeyType = exports.signatureAlgorithmFromKey = exports.hexStringFromUint8Array = exports.toRawCompressedHexPublicKey = exports.isRawCompressedPublicKey = exports.asn1DerToRawPublicKey = exports.isAsn1Der = exports.padLeft = exports.jwkDetermineUse = exports.toJwk = exports.toJwkFromKey = exports.calculateJwkThumbprint = exports.toBase64url = exports.calculateJwkThumbprintForKey = exports.importProvidedOrGeneratedKey = exports.generatePrivateKeyHex = exports.logger = void 0;
|
|
39
39
|
const random_1 = require("@ethersproject/random");
|
|
40
40
|
const ssi_sdk_ext_x509_utils_1 = require("@sphereon/ssi-sdk-ext.x509-utils");
|
|
41
41
|
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
@@ -203,10 +203,10 @@ const toJwk = (publicKeyHex, type, opts) => {
|
|
|
203
203
|
let jwk;
|
|
204
204
|
switch (type) {
|
|
205
205
|
case 'Ed25519':
|
|
206
|
-
jwk = toEd25519OrX25519Jwk(publicKeyHex, Object.assign(Object.assign({}, opts), { crv:
|
|
206
|
+
jwk = toEd25519OrX25519Jwk(publicKeyHex, Object.assign(Object.assign({}, opts), { crv: ssi_types_1.JoseCurve.Ed25519 }));
|
|
207
207
|
break;
|
|
208
208
|
case 'X25519':
|
|
209
|
-
jwk = toEd25519OrX25519Jwk(publicKeyHex, Object.assign(Object.assign({}, opts), { crv:
|
|
209
|
+
jwk = toEd25519OrX25519Jwk(publicKeyHex, Object.assign(Object.assign({}, opts), { crv: ssi_types_1.JoseCurve.X25519 }));
|
|
210
210
|
break;
|
|
211
211
|
case 'Secp256k1':
|
|
212
212
|
jwk = toSecp256k1Jwk(publicKeyHex, opts);
|
|
@@ -277,7 +277,7 @@ const toSecp256k1Jwk = (keyHex, opts) => {
|
|
|
277
277
|
const keyBytes = u8a.fromString(keyHex, 'base16');
|
|
278
278
|
const keyPair = (opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) ? secp256k1.keyFromPrivate(keyBytes) : secp256k1.keyFromPublic(keyBytes);
|
|
279
279
|
const pubPoint = keyPair.getPublic();
|
|
280
|
-
return Object.assign(Object.assign(Object.assign({ alg:
|
|
280
|
+
return Object.assign(Object.assign(Object.assign({ alg: ssi_types_1.JoseSignatureAlgorithm.ES256K }, (use !== undefined && { use })), { kty: ssi_types_1.JwkKeyType.EC, crv: ssi_types_1.JoseCurve.secp256k1, x: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(pubPoint.getX().toString('hex'), 'base64url'), y: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(pubPoint.getY().toString('hex'), 'base64url') }), ((opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) && { d: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(keyPair.getPrivate('hex'), 'base64url') }));
|
|
281
281
|
};
|
|
282
282
|
/**
|
|
283
283
|
* Generates a JWK from a Secp256r1 public key
|
|
@@ -299,19 +299,19 @@ const toSecp256r1Jwk = (keyHex, opts) => {
|
|
|
299
299
|
exports.logger.debug(`keyBytes length: ${keyBytes}`);
|
|
300
300
|
const keyPair = (opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) ? secp256r1.keyFromPrivate(keyBytes) : secp256r1.keyFromPublic(keyBytes);
|
|
301
301
|
const pubPoint = keyPair.getPublic();
|
|
302
|
-
return Object.assign(Object.assign(Object.assign({ alg:
|
|
302
|
+
return Object.assign(Object.assign(Object.assign({ alg: ssi_types_1.JoseSignatureAlgorithm.ES256 }, (use !== undefined && { use })), { kty: ssi_types_1.JwkKeyType.EC, crv: ssi_types_1.JoseCurve.P_256, x: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(pubPoint.getX().toString('hex'), 'base64url'), y: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(pubPoint.getY().toString('hex'), 'base64url') }), ((opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) && { d: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(keyPair.getPrivate('hex'), 'base64url') }));
|
|
303
303
|
};
|
|
304
304
|
/**
|
|
305
305
|
* Generates a JWK from an Ed25519/X25519 public key
|
|
306
306
|
* @param publicKeyHex Ed25519/X25519 public key in hex
|
|
307
|
-
* @param
|
|
307
|
+
* @param opts
|
|
308
308
|
* @return The JWK
|
|
309
309
|
*/
|
|
310
310
|
const toEd25519OrX25519Jwk = (publicKeyHex, opts) => {
|
|
311
311
|
var _a;
|
|
312
312
|
assertProperKeyLength(publicKeyHex, 64);
|
|
313
313
|
const { use } = opts !== null && opts !== void 0 ? opts : {};
|
|
314
|
-
return Object.assign(Object.assign({ alg:
|
|
314
|
+
return Object.assign(Object.assign({ alg: ssi_types_1.JoseSignatureAlgorithm.EdDSA }, (use !== undefined && { use })), { kty: ssi_types_1.JwkKeyType.OKP, crv: (_a = opts === null || opts === void 0 ? void 0 : opts.crv) !== null && _a !== void 0 ? _a : ssi_types_1.JoseCurve.Ed25519, x: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(publicKeyHex, 'base64url') });
|
|
315
315
|
};
|
|
316
316
|
const toRSAJwk = (publicKeyHex, opts) => {
|
|
317
317
|
var _a, _b, _c;
|
|
@@ -447,11 +447,11 @@ const signatureAlgorithmFromKeyType = (args) => {
|
|
|
447
447
|
switch (type) {
|
|
448
448
|
case 'Ed25519':
|
|
449
449
|
case 'X25519':
|
|
450
|
-
return
|
|
450
|
+
return ssi_types_1.JoseSignatureAlgorithm.EdDSA;
|
|
451
451
|
case 'Secp256r1':
|
|
452
|
-
return
|
|
452
|
+
return ssi_types_1.JoseSignatureAlgorithm.ES256;
|
|
453
453
|
case 'Secp256k1':
|
|
454
|
-
return
|
|
454
|
+
return ssi_types_1.JoseSignatureAlgorithm.ES256K;
|
|
455
455
|
default:
|
|
456
456
|
throw new Error(`Key type '${type}' not supported`);
|
|
457
457
|
}
|
|
@@ -468,6 +468,7 @@ const keyTypeFromCryptographicSuite = (args) => {
|
|
|
468
468
|
return 'Ed25519';
|
|
469
469
|
case 'JsonWebSignature2020':
|
|
470
470
|
case 'ES256':
|
|
471
|
+
case 'ECDSA':
|
|
471
472
|
return 'Secp256r1';
|
|
472
473
|
case 'EcdsaSecp256k1Signature2019':
|
|
473
474
|
case 'ES256K':
|
|
@@ -477,4 +478,23 @@ const keyTypeFromCryptographicSuite = (args) => {
|
|
|
477
478
|
}
|
|
478
479
|
};
|
|
479
480
|
exports.keyTypeFromCryptographicSuite = keyTypeFromCryptographicSuite;
|
|
481
|
+
function verifySignatureWithSubtle(_a) {
|
|
482
|
+
return __awaiter(this, arguments, void 0, function* ({ data, signature, key, crypto: cryptoArg, }) {
|
|
483
|
+
var _b;
|
|
484
|
+
let { alg, crv } = key;
|
|
485
|
+
if (alg === 'ES256' || !alg) {
|
|
486
|
+
alg = 'ECDSA';
|
|
487
|
+
}
|
|
488
|
+
const subtle = (_b = cryptoArg === null || cryptoArg === void 0 ? void 0 : cryptoArg.subtle) !== null && _b !== void 0 ? _b : crypto.subtle;
|
|
489
|
+
const publicKey = yield subtle.importKey('jwk', key, {
|
|
490
|
+
name: alg,
|
|
491
|
+
namedCurve: crv,
|
|
492
|
+
}, true, ['verify']);
|
|
493
|
+
return subtle.verify({
|
|
494
|
+
name: alg,
|
|
495
|
+
hash: 'SHA-256', // fixme; make arg
|
|
496
|
+
}, publicKey, signature, data);
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
exports.verifySignatureWithSubtle = verifySignatureWithSubtle;
|
|
480
500
|
//# sourceMappingURL=functions.js.map
|
package/dist/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
* @packageDocumentation
|
|
22
22
|
*/
|
|
23
23
|
__exportStar(require("./functions"), exports);
|
|
24
|
+
__exportStar(require("./conversion"), exports);
|
|
24
25
|
__exportStar(require("./jwk-jcs"), exports);
|
|
25
26
|
__exportStar(require("./types"), exports);
|
|
26
27
|
__exportStar(require("./digest-methods"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,8CAA2B;AAC3B,4CAAyB;AACzB,0CAAuB;AACvB,mDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,8CAA2B;AAC3B,+CAA4B;AAC5B,4CAAyB;AACzB,0CAAuB;AACvB,mDAAgC"}
|
|
@@ -11,67 +11,8 @@ export declare enum JwkKeyUse {
|
|
|
11
11
|
Encryption = "enc",
|
|
12
12
|
Signature = "sig"
|
|
13
13
|
}
|
|
14
|
-
export declare enum KeyCurve {
|
|
15
|
-
Secp256k1 = "secp256k1",
|
|
16
|
-
P_256 = "P-256",
|
|
17
|
-
Ed25519 = "Ed25519",
|
|
18
|
-
X25519 = "X25519"
|
|
19
|
-
}
|
|
20
|
-
export declare enum KeyType {
|
|
21
|
-
EC = "EC",
|
|
22
|
-
OKP = "OKP",
|
|
23
|
-
RSA = "RSA"
|
|
24
|
-
}
|
|
25
14
|
export declare const SIG_KEY_ALGS: string[];
|
|
26
15
|
export declare const ENC_KEY_ALGS: string[];
|
|
27
|
-
export declare enum SignatureAlgorithmJwa {
|
|
28
|
-
EdDSA = "EdDSA",
|
|
29
|
-
ES256 = "ES256",
|
|
30
|
-
ES384 = "ES384",
|
|
31
|
-
ES512 = "ES512",
|
|
32
|
-
ES256K = "ES256K",
|
|
33
|
-
RS256 = "RS256",
|
|
34
|
-
RS384 = "RS384",
|
|
35
|
-
RS512 = "RS512",
|
|
36
|
-
PS256 = "PS256",
|
|
37
|
-
PS384 = "PS384",
|
|
38
|
-
PS512 = "PS512"
|
|
39
|
-
}
|
|
40
|
-
export interface JWK extends BaseJWK {
|
|
41
|
-
d?: string;
|
|
42
|
-
dp?: string;
|
|
43
|
-
dq?: string;
|
|
44
|
-
ext?: boolean;
|
|
45
|
-
k?: string;
|
|
46
|
-
key_ops?: string[];
|
|
47
|
-
kid?: string;
|
|
48
|
-
oth?: Array<{
|
|
49
|
-
d?: string;
|
|
50
|
-
r?: string;
|
|
51
|
-
t?: string;
|
|
52
|
-
}>;
|
|
53
|
-
p?: string;
|
|
54
|
-
q?: string;
|
|
55
|
-
qi?: string;
|
|
56
|
-
use?: string;
|
|
57
|
-
/** JWK "x5c" (X.509 Certificate Chain) Parameter. */
|
|
58
|
-
x5c?: string[];
|
|
59
|
-
/** JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. */
|
|
60
|
-
x5t?: string;
|
|
61
|
-
/** "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. */
|
|
62
|
-
'x5t#S256'?: string;
|
|
63
|
-
/** JWK "x5u" (X.509 URL) Parameter. */
|
|
64
|
-
x5u?: string;
|
|
65
|
-
[propName: string]: unknown;
|
|
66
|
-
}
|
|
67
|
-
export interface BaseJWK {
|
|
68
|
-
kty: string;
|
|
69
|
-
crv?: string;
|
|
70
|
-
x?: string;
|
|
71
|
-
y?: string;
|
|
72
|
-
e?: string;
|
|
73
|
-
n?: string;
|
|
74
|
-
}
|
|
75
16
|
export type KeyVisibility = 'public' | 'private';
|
|
76
17
|
export interface X509Opts {
|
|
77
18
|
cn?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-util-types.d.ts","sourceRoot":"","sources":["../../src/types/key-util-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEzD,eAAO,MAAM,gBAAgB,eAAyB,CAAA;AACtD,eAAO,MAAM,kBAAkB,QAAS,CAAA;AAExC,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,KAAK,CAAA;AAE7G,oBAAY,GAAG;IACb,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,oBAAY,SAAS;IACnB,UAAU,QAAQ;IAClB,SAAS,QAAQ;CAClB;AAED,
|
|
1
|
+
{"version":3,"file":"key-util-types.d.ts","sourceRoot":"","sources":["../../src/types/key-util-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEzD,eAAO,MAAM,gBAAgB,eAAyB,CAAA;AACtD,eAAO,MAAM,kBAAkB,QAAS,CAAA;AAExC,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,KAAK,CAAA;AAE7G,oBAAY,GAAG;IACb,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,oBAAY,SAAS;IACnB,UAAU,QAAQ;IAClB,SAAS,QAAQ;CAClB;AAED,eAAO,MAAM,YAAY,UAAkH,CAAA;AAC3I,eAAO,MAAM,YAAY,UAA+C,CAAA;AAExE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEhD,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,iCAAiC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB;AACD,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACnC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB;AAOD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,GAAG,EAAE,IAAI,CAAA;CACV,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,KAAK,EAAE,MAAM,CAAA;CACd,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ENC_KEY_ALGS = exports.SIG_KEY_ALGS = exports.JwkKeyUse = exports.Key = exports.JWK_JCS_PUB_PREFIX = exports.JWK_JCS_PUB_NAME = void 0;
|
|
4
4
|
exports.JWK_JCS_PUB_NAME = 'jwk_jcs-pub';
|
|
5
5
|
exports.JWK_JCS_PUB_PREFIX = 0xeb51;
|
|
6
6
|
var Key;
|
|
@@ -14,34 +14,6 @@ var JwkKeyUse;
|
|
|
14
14
|
JwkKeyUse["Encryption"] = "enc";
|
|
15
15
|
JwkKeyUse["Signature"] = "sig";
|
|
16
16
|
})(JwkKeyUse || (exports.JwkKeyUse = JwkKeyUse = {}));
|
|
17
|
-
var KeyCurve;
|
|
18
|
-
(function (KeyCurve) {
|
|
19
|
-
KeyCurve["Secp256k1"] = "secp256k1";
|
|
20
|
-
KeyCurve["P_256"] = "P-256";
|
|
21
|
-
KeyCurve["Ed25519"] = "Ed25519";
|
|
22
|
-
KeyCurve["X25519"] = "X25519";
|
|
23
|
-
})(KeyCurve || (exports.KeyCurve = KeyCurve = {}));
|
|
24
|
-
var KeyType;
|
|
25
|
-
(function (KeyType) {
|
|
26
|
-
KeyType["EC"] = "EC";
|
|
27
|
-
KeyType["OKP"] = "OKP";
|
|
28
|
-
KeyType["RSA"] = "RSA";
|
|
29
|
-
})(KeyType || (exports.KeyType = KeyType = {}));
|
|
30
17
|
exports.SIG_KEY_ALGS = ['ES256', 'ES384', 'ES512', 'EdDSA', 'ES256K', 'Ed25519', 'Secp256k1', 'Secp256r1', 'Bls12381G1', 'Bls12381G2'];
|
|
31
18
|
exports.ENC_KEY_ALGS = ['X25519', 'ECDH_ES_A256KW', 'RSA_OAEP_256'];
|
|
32
|
-
var SignatureAlgorithmJwa;
|
|
33
|
-
(function (SignatureAlgorithmJwa) {
|
|
34
|
-
// todo: Compare to spec and to kmp lib
|
|
35
|
-
SignatureAlgorithmJwa["EdDSA"] = "EdDSA";
|
|
36
|
-
SignatureAlgorithmJwa["ES256"] = "ES256";
|
|
37
|
-
SignatureAlgorithmJwa["ES384"] = "ES384";
|
|
38
|
-
SignatureAlgorithmJwa["ES512"] = "ES512";
|
|
39
|
-
SignatureAlgorithmJwa["ES256K"] = "ES256K";
|
|
40
|
-
SignatureAlgorithmJwa["RS256"] = "RS256";
|
|
41
|
-
SignatureAlgorithmJwa["RS384"] = "RS384";
|
|
42
|
-
SignatureAlgorithmJwa["RS512"] = "RS512";
|
|
43
|
-
SignatureAlgorithmJwa["PS256"] = "PS256";
|
|
44
|
-
SignatureAlgorithmJwa["PS384"] = "PS384";
|
|
45
|
-
SignatureAlgorithmJwa["PS512"] = "PS512";
|
|
46
|
-
})(SignatureAlgorithmJwa || (exports.SignatureAlgorithmJwa = SignatureAlgorithmJwa = {}));
|
|
47
19
|
//# sourceMappingURL=key-util-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-util-types.js","sourceRoot":"","sources":["../../src/types/key-util-types.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAG,aAAsB,CAAA;AACzC,QAAA,kBAAkB,GAAG,MAAM,CAAA;AAIxC,IAAY,GAIX;AAJD,WAAY,GAAG;IACb,0BAAmB,CAAA;IACnB,8BAAuB,CAAA;IACvB,8BAAuB,CAAA;AACzB,CAAC,EAJW,GAAG,mBAAH,GAAG,QAId;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,+BAAkB,CAAA;IAClB,8BAAiB,CAAA;AACnB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;
|
|
1
|
+
{"version":3,"file":"key-util-types.js","sourceRoot":"","sources":["../../src/types/key-util-types.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAG,aAAsB,CAAA;AACzC,QAAA,kBAAkB,GAAG,MAAM,CAAA;AAIxC,IAAY,GAIX;AAJD,WAAY,GAAG;IACb,0BAAmB,CAAA;IACnB,8BAAuB,CAAA;IACvB,8BAAuB,CAAA;AACzB,CAAC,EAJW,GAAG,mBAAH,GAAG,QAId;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,+BAAkB,CAAA;IAClB,8BAAiB,CAAA;AACnB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAEY,QAAA,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;AAC9H,QAAA,YAAY,GAAG,CAAC,QAAQ,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk-ext.key-utils",
|
|
3
3
|
"description": "Sphereon SSI-SDK plugin for key creation.",
|
|
4
|
-
"version": "0.24.1-
|
|
4
|
+
"version": "0.24.1-unstable.111+967cf87",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@ethersproject/random": "^5.7.0",
|
|
14
|
-
"@sphereon/ssi-sdk-ext.x509-utils": "0.24.1-
|
|
15
|
-
"@sphereon/ssi-types": "0.29.1-unstable.
|
|
14
|
+
"@sphereon/ssi-sdk-ext.x509-utils": "0.24.1-unstable.111+967cf87",
|
|
15
|
+
"@sphereon/ssi-types": "0.29.1-unstable.161",
|
|
16
16
|
"@stablelib/ed25519": "^1.0.3",
|
|
17
17
|
"@stablelib/sha256": "^1.0.1",
|
|
18
18
|
"@stablelib/sha512": "^1.0.1",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"DID",
|
|
50
50
|
"Veramo"
|
|
51
51
|
],
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "967cf877695f548a7026a6307fd5f13fe372b520"
|
|
53
53
|
}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ICoseCurve,
|
|
3
|
+
ICoseKeyJson,
|
|
4
|
+
ICoseKeyOperation,
|
|
5
|
+
ICoseKeyType,
|
|
6
|
+
ICoseSignatureAlgorithm,
|
|
7
|
+
JoseCurve,
|
|
8
|
+
JoseCurveString,
|
|
9
|
+
JoseKeyOperation,
|
|
10
|
+
JoseKeyOperationString,
|
|
11
|
+
JoseSignatureAlgorithm,
|
|
12
|
+
JoseSignatureAlgorithmString,
|
|
13
|
+
JWK,
|
|
14
|
+
JwkKeyType,
|
|
15
|
+
JwkKeyTypeString,
|
|
16
|
+
} from '@sphereon/ssi-types'
|
|
17
|
+
|
|
18
|
+
export function coseKeyToJwk(coseKey: ICoseKeyJson): JWK {
|
|
19
|
+
const { x5chain, key_ops, crv, alg, baseIV, kty, ...rest } = coseKey
|
|
20
|
+
return {
|
|
21
|
+
...rest,
|
|
22
|
+
kty: coseToJoseKty(kty),
|
|
23
|
+
...(crv && { crv: coseToJoseCurve(crv) }),
|
|
24
|
+
...(key_ops && { key_ops: key_ops.map(coseToJoseKeyOperation) }),
|
|
25
|
+
...(alg && { alg: coseToJoseSignatureAlg(alg) }),
|
|
26
|
+
...(baseIV && { iv: baseIV }),
|
|
27
|
+
...(x5chain && { x5c: x5chain }),
|
|
28
|
+
} satisfies JWK
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function jwkToCoseKey(jwk: JWK): ICoseKeyJson {
|
|
32
|
+
const { x5c, key_ops, crv, alg, iv, kty, ...rest } = jwk
|
|
33
|
+
return {
|
|
34
|
+
...rest,
|
|
35
|
+
kty: joseToCoseKty(kty),
|
|
36
|
+
...(crv && { crv: joseToCoseCurve(crv) }),
|
|
37
|
+
...(key_ops && { key_ops: key_ops.map(joseToCoseKeyOperation) }),
|
|
38
|
+
...(alg && { alg: joseToCoseSignatureAlg(alg) }),
|
|
39
|
+
...(iv && { baseIV: iv }),
|
|
40
|
+
...(x5c && { x5chain: x5c }),
|
|
41
|
+
} satisfies ICoseKeyJson
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function coseToJoseKty(kty: ICoseKeyType): JwkKeyType {
|
|
45
|
+
switch (kty) {
|
|
46
|
+
case ICoseKeyType.EC2:
|
|
47
|
+
return JwkKeyType.EC
|
|
48
|
+
case ICoseKeyType.RSA:
|
|
49
|
+
return JwkKeyType.RSA
|
|
50
|
+
case ICoseKeyType.Symmetric:
|
|
51
|
+
return JwkKeyType.oct
|
|
52
|
+
case ICoseKeyType.OKP:
|
|
53
|
+
return JwkKeyType.OKP
|
|
54
|
+
default:
|
|
55
|
+
throw Error(`Key type ${kty} not supported in JWA`)
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export function joseToCoseKty(kty: JwkKeyType | JwkKeyTypeString): ICoseKeyType {
|
|
60
|
+
switch (kty) {
|
|
61
|
+
case 'EC':
|
|
62
|
+
return ICoseKeyType.EC2
|
|
63
|
+
case 'RSA':
|
|
64
|
+
return ICoseKeyType.RSA
|
|
65
|
+
case 'oct':
|
|
66
|
+
return ICoseKeyType.Symmetric
|
|
67
|
+
case 'OKP':
|
|
68
|
+
return ICoseKeyType.OKP
|
|
69
|
+
default:
|
|
70
|
+
throw Error(`Key type ${kty} not supported in Cose`)
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function coseToJoseSignatureAlg(coseAlg: ICoseSignatureAlgorithm): JoseSignatureAlgorithm {
|
|
75
|
+
switch (coseAlg) {
|
|
76
|
+
case ICoseSignatureAlgorithm.ES256K:
|
|
77
|
+
return JoseSignatureAlgorithm.ES256K
|
|
78
|
+
case ICoseSignatureAlgorithm.ES256:
|
|
79
|
+
return JoseSignatureAlgorithm.ES256
|
|
80
|
+
case ICoseSignatureAlgorithm.ES384:
|
|
81
|
+
return JoseSignatureAlgorithm.ES384
|
|
82
|
+
case ICoseSignatureAlgorithm.ES512:
|
|
83
|
+
return JoseSignatureAlgorithm.ES512
|
|
84
|
+
case ICoseSignatureAlgorithm.PS256:
|
|
85
|
+
return JoseSignatureAlgorithm.PS256
|
|
86
|
+
case ICoseSignatureAlgorithm.PS384:
|
|
87
|
+
return JoseSignatureAlgorithm.PS384
|
|
88
|
+
case ICoseSignatureAlgorithm.PS512:
|
|
89
|
+
return JoseSignatureAlgorithm.PS512
|
|
90
|
+
case ICoseSignatureAlgorithm.HS256:
|
|
91
|
+
return JoseSignatureAlgorithm.HS256
|
|
92
|
+
case ICoseSignatureAlgorithm.HS384:
|
|
93
|
+
return JoseSignatureAlgorithm.HS384
|
|
94
|
+
case ICoseSignatureAlgorithm.HS512:
|
|
95
|
+
return JoseSignatureAlgorithm.HS512
|
|
96
|
+
case ICoseSignatureAlgorithm.EdDSA:
|
|
97
|
+
return JoseSignatureAlgorithm.EdDSA
|
|
98
|
+
default:
|
|
99
|
+
throw Error(`Signature algorithm ${coseAlg} not supported in Jose`)
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export function joseToCoseSignatureAlg(joseAlg: JoseSignatureAlgorithm | JoseSignatureAlgorithmString): ICoseSignatureAlgorithm {
|
|
104
|
+
switch (joseAlg) {
|
|
105
|
+
case (JoseSignatureAlgorithm.ES256K, 'ES256K'):
|
|
106
|
+
return ICoseSignatureAlgorithm.ES256K
|
|
107
|
+
case (JoseSignatureAlgorithm.ES256, 'ES256'):
|
|
108
|
+
return ICoseSignatureAlgorithm.ES256
|
|
109
|
+
case (JoseSignatureAlgorithm.ES384, 'ES384'):
|
|
110
|
+
return ICoseSignatureAlgorithm.ES384
|
|
111
|
+
case (JoseSignatureAlgorithm.ES512, 'ES512'):
|
|
112
|
+
return ICoseSignatureAlgorithm.ES512
|
|
113
|
+
case (JoseSignatureAlgorithm.PS256, 'PS256'):
|
|
114
|
+
return ICoseSignatureAlgorithm.PS256
|
|
115
|
+
case (JoseSignatureAlgorithm.PS384, 'PS384'):
|
|
116
|
+
return ICoseSignatureAlgorithm.PS384
|
|
117
|
+
case (JoseSignatureAlgorithm.PS512, 'PS512'):
|
|
118
|
+
return ICoseSignatureAlgorithm.PS512
|
|
119
|
+
case (JoseSignatureAlgorithm.HS256, 'HS256'):
|
|
120
|
+
return ICoseSignatureAlgorithm.HS256
|
|
121
|
+
case (JoseSignatureAlgorithm.HS384, 'HS384'):
|
|
122
|
+
return ICoseSignatureAlgorithm.HS384
|
|
123
|
+
case (JoseSignatureAlgorithm.HS512, 'HS512'):
|
|
124
|
+
return ICoseSignatureAlgorithm.HS512
|
|
125
|
+
case (JoseSignatureAlgorithm.EdDSA, 'EdDSA'):
|
|
126
|
+
return ICoseSignatureAlgorithm.EdDSA
|
|
127
|
+
default:
|
|
128
|
+
throw Error(`Signature algorithm ${joseAlg} not supported in Cose`)
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export function joseToCoseKeyOperation(keyOp: JoseKeyOperation | JoseKeyOperationString): ICoseKeyOperation {
|
|
133
|
+
switch (keyOp) {
|
|
134
|
+
case (JoseKeyOperation.SIGN, 'sign'):
|
|
135
|
+
return ICoseKeyOperation.SIGN
|
|
136
|
+
case (JoseKeyOperation.VERIFY, 'verify'):
|
|
137
|
+
return ICoseKeyOperation.VERIFY
|
|
138
|
+
case (JoseKeyOperation.ENCRYPT, 'encrypt'):
|
|
139
|
+
return ICoseKeyOperation.ENCRYPT
|
|
140
|
+
case (JoseKeyOperation.DECRYPT, 'decrypt'):
|
|
141
|
+
return ICoseKeyOperation.DECRYPT
|
|
142
|
+
case (JoseKeyOperation.WRAP_KEY, 'wrapKey'):
|
|
143
|
+
return ICoseKeyOperation.WRAP_KEY
|
|
144
|
+
case (JoseKeyOperation.UNWRAP_KEY, 'unwrapKey'):
|
|
145
|
+
return ICoseKeyOperation.UNWRAP_KEY
|
|
146
|
+
case (JoseKeyOperation.DERIVE_KEY, 'deriveKey'):
|
|
147
|
+
return ICoseKeyOperation.DERIVE_KEY
|
|
148
|
+
case (JoseKeyOperation.DERIVE_BITS, 'deriveBits'):
|
|
149
|
+
return ICoseKeyOperation.DERIVE_BITS
|
|
150
|
+
default:
|
|
151
|
+
throw Error(`Key operation ${keyOp} not supported in Cose`)
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export function coseToJoseKeyOperation(keyOp: ICoseKeyOperation): JoseKeyOperation {
|
|
156
|
+
switch (keyOp) {
|
|
157
|
+
case ICoseKeyOperation.SIGN:
|
|
158
|
+
return JoseKeyOperation.SIGN
|
|
159
|
+
case ICoseKeyOperation.VERIFY:
|
|
160
|
+
return JoseKeyOperation.VERIFY
|
|
161
|
+
case ICoseKeyOperation.ENCRYPT:
|
|
162
|
+
return JoseKeyOperation.ENCRYPT
|
|
163
|
+
case ICoseKeyOperation.DECRYPT:
|
|
164
|
+
return JoseKeyOperation.DECRYPT
|
|
165
|
+
case ICoseKeyOperation.WRAP_KEY:
|
|
166
|
+
return JoseKeyOperation.WRAP_KEY
|
|
167
|
+
case ICoseKeyOperation.UNWRAP_KEY:
|
|
168
|
+
return JoseKeyOperation.UNWRAP_KEY
|
|
169
|
+
case ICoseKeyOperation.DERIVE_KEY:
|
|
170
|
+
return JoseKeyOperation.DERIVE_KEY
|
|
171
|
+
case ICoseKeyOperation.DERIVE_BITS:
|
|
172
|
+
return JoseKeyOperation.DERIVE_BITS
|
|
173
|
+
default:
|
|
174
|
+
throw Error(`Key operation ${keyOp} not supported in Jose`)
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export function joseToCoseCurve(curve: JoseCurve | JoseCurveString): ICoseCurve {
|
|
179
|
+
switch (curve) {
|
|
180
|
+
case (JoseCurve.P_256, 'P-256'):
|
|
181
|
+
return ICoseCurve.P_256
|
|
182
|
+
case (JoseCurve.P_384, 'P-384'):
|
|
183
|
+
return ICoseCurve.P_384
|
|
184
|
+
case (JoseCurve.P_521, 'P-521'):
|
|
185
|
+
return ICoseCurve.P_521
|
|
186
|
+
case (JoseCurve.X25519, 'X25519'):
|
|
187
|
+
return ICoseCurve.X25519
|
|
188
|
+
case (JoseCurve.X448, 'X448'):
|
|
189
|
+
return ICoseCurve.X448
|
|
190
|
+
case (JoseCurve.Ed25519, 'Ed25519'):
|
|
191
|
+
return ICoseCurve.Ed25519
|
|
192
|
+
case (JoseCurve.Ed448, 'Ed448'):
|
|
193
|
+
return ICoseCurve.Ed448
|
|
194
|
+
case (JoseCurve.secp256k1, 'secp256k1'):
|
|
195
|
+
return ICoseCurve.secp256k1
|
|
196
|
+
default:
|
|
197
|
+
throw Error(`Curve ${curve} not supported in Cose`)
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export function coseToJoseCurve(curve: ICoseCurve): JoseCurve {
|
|
202
|
+
switch (curve) {
|
|
203
|
+
case ICoseCurve.P_256:
|
|
204
|
+
return JoseCurve.P_256
|
|
205
|
+
case ICoseCurve.P_384:
|
|
206
|
+
return JoseCurve.P_384
|
|
207
|
+
case ICoseCurve.P_521:
|
|
208
|
+
return JoseCurve.P_521
|
|
209
|
+
case ICoseCurve.X25519:
|
|
210
|
+
return JoseCurve.X25519
|
|
211
|
+
case ICoseCurve.X448:
|
|
212
|
+
return JoseCurve.X448
|
|
213
|
+
case ICoseCurve.Ed25519:
|
|
214
|
+
return JoseCurve.Ed25519
|
|
215
|
+
case ICoseCurve.Ed448:
|
|
216
|
+
return JoseCurve.Ed448
|
|
217
|
+
case ICoseCurve.secp256k1:
|
|
218
|
+
return JoseCurve.secp256k1
|
|
219
|
+
default:
|
|
220
|
+
throw Error(`Curve ${curve} not supported in Jose`)
|
|
221
|
+
}
|
|
222
|
+
}
|
package/src/functions.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { randomBytes } from '@ethersproject/random'
|
|
2
2
|
import { generateRSAKeyAsPEM, hexToBase64, hexToPEM, PEMToJwk, privateKeyHexFromPEM } from '@sphereon/ssi-sdk-ext.x509-utils'
|
|
3
|
-
import { Loggers } from '@sphereon/ssi-types'
|
|
3
|
+
import { JoseCurve, JoseSignatureAlgorithm, JwkKeyType, JWK, Loggers } from '@sphereon/ssi-types'
|
|
4
4
|
import { generateKeyPair as generateSigningKeyPair } from '@stablelib/ed25519'
|
|
5
5
|
import { IAgentContext, IKey, IKeyManager, ManagedKeyInfo, MinimalImportableKey } from '@veramo/core'
|
|
6
6
|
|
|
@@ -11,15 +11,11 @@ import { digestMethodParams } from './digest-methods'
|
|
|
11
11
|
import {
|
|
12
12
|
ENC_KEY_ALGS,
|
|
13
13
|
IImportProvidedOrGeneratedKeyArgs,
|
|
14
|
-
JWK,
|
|
15
14
|
JwkKeyUse,
|
|
16
|
-
KeyCurve,
|
|
17
|
-
KeyType,
|
|
18
15
|
KeyTypeFromCryptographicSuiteArgs,
|
|
19
16
|
SIG_KEY_ALGS,
|
|
20
17
|
SignatureAlgorithmFromKeyArgs,
|
|
21
18
|
SignatureAlgorithmFromKeyTypeArgs,
|
|
22
|
-
SignatureAlgorithmJwa,
|
|
23
19
|
TKeyType,
|
|
24
20
|
} from './types'
|
|
25
21
|
|
|
@@ -189,7 +185,13 @@ export const calculateJwkThumbprint = (args: { jwk: JWK; digestAlgorithm?: 'sha2
|
|
|
189
185
|
: digestMethodParams('SHA-256').digestMethod(data, 'base64url')
|
|
190
186
|
}
|
|
191
187
|
|
|
192
|
-
export const toJwkFromKey = (
|
|
188
|
+
export const toJwkFromKey = (
|
|
189
|
+
key: IKey | MinimalImportableKey | ManagedKeyInfo,
|
|
190
|
+
opts?: {
|
|
191
|
+
use?: JwkKeyUse
|
|
192
|
+
noKidThumbprint?: boolean
|
|
193
|
+
}
|
|
194
|
+
): JWK => {
|
|
193
195
|
const isPrivateKey = 'privateKeyHex' in key
|
|
194
196
|
return toJwk(key.publicKeyHex!, key.type, { ...opts, key, isPrivateKey })
|
|
195
197
|
}
|
|
@@ -213,10 +215,10 @@ export const toJwk = (
|
|
|
213
215
|
let jwk: JWK
|
|
214
216
|
switch (type) {
|
|
215
217
|
case 'Ed25519':
|
|
216
|
-
jwk = toEd25519OrX25519Jwk(publicKeyHex, { ...opts, crv:
|
|
218
|
+
jwk = toEd25519OrX25519Jwk(publicKeyHex, { ...opts, crv: JoseCurve.Ed25519 })
|
|
217
219
|
break
|
|
218
220
|
case 'X25519':
|
|
219
|
-
jwk = toEd25519OrX25519Jwk(publicKeyHex, { ...opts, crv:
|
|
221
|
+
jwk = toEd25519OrX25519Jwk(publicKeyHex, { ...opts, crv: JoseCurve.X25519 })
|
|
220
222
|
break
|
|
221
223
|
case 'Secp256k1':
|
|
222
224
|
jwk = toSecp256k1Jwk(publicKeyHex, opts)
|
|
@@ -293,10 +295,10 @@ const toSecp256k1Jwk = (keyHex: string, opts?: { use?: JwkKeyUse; isPrivateKey?:
|
|
|
293
295
|
const pubPoint = keyPair.getPublic()
|
|
294
296
|
|
|
295
297
|
return {
|
|
296
|
-
alg:
|
|
298
|
+
alg: JoseSignatureAlgorithm.ES256K,
|
|
297
299
|
...(use !== undefined && { use }),
|
|
298
|
-
kty:
|
|
299
|
-
crv:
|
|
300
|
+
kty: JwkKeyType.EC,
|
|
301
|
+
crv: JoseCurve.secp256k1,
|
|
300
302
|
x: hexToBase64(pubPoint.getX().toString('hex'), 'base64url'),
|
|
301
303
|
y: hexToBase64(pubPoint.getY().toString('hex'), 'base64url'),
|
|
302
304
|
...(opts?.isPrivateKey && { d: hexToBase64(keyPair.getPrivate('hex'), 'base64url') }),
|
|
@@ -324,10 +326,10 @@ const toSecp256r1Jwk = (keyHex: string, opts?: { use?: JwkKeyUse; isPrivateKey?:
|
|
|
324
326
|
const keyPair = opts?.isPrivateKey ? secp256r1.keyFromPrivate(keyBytes) : secp256r1.keyFromPublic(keyBytes)
|
|
325
327
|
const pubPoint = keyPair.getPublic()
|
|
326
328
|
return {
|
|
327
|
-
alg:
|
|
329
|
+
alg: JoseSignatureAlgorithm.ES256,
|
|
328
330
|
...(use !== undefined && { use }),
|
|
329
|
-
kty:
|
|
330
|
-
crv:
|
|
331
|
+
kty: JwkKeyType.EC,
|
|
332
|
+
crv: JoseCurve.P_256,
|
|
331
333
|
x: hexToBase64(pubPoint.getX().toString('hex'), 'base64url'),
|
|
332
334
|
y: hexToBase64(pubPoint.getY().toString('hex'), 'base64url'),
|
|
333
335
|
...(opts?.isPrivateKey && { d: hexToBase64(keyPair.getPrivate('hex'), 'base64url') }),
|
|
@@ -337,23 +339,23 @@ const toSecp256r1Jwk = (keyHex: string, opts?: { use?: JwkKeyUse; isPrivateKey?:
|
|
|
337
339
|
/**
|
|
338
340
|
* Generates a JWK from an Ed25519/X25519 public key
|
|
339
341
|
* @param publicKeyHex Ed25519/X25519 public key in hex
|
|
340
|
-
* @param
|
|
342
|
+
* @param opts
|
|
341
343
|
* @return The JWK
|
|
342
344
|
*/
|
|
343
345
|
const toEd25519OrX25519Jwk = (
|
|
344
346
|
publicKeyHex: string,
|
|
345
347
|
opts: {
|
|
346
348
|
use?: JwkKeyUse
|
|
347
|
-
crv:
|
|
349
|
+
crv: JoseCurve.Ed25519 | JoseCurve.X25519
|
|
348
350
|
}
|
|
349
351
|
): JWK => {
|
|
350
352
|
assertProperKeyLength(publicKeyHex, 64)
|
|
351
353
|
const { use } = opts ?? {}
|
|
352
354
|
return {
|
|
353
|
-
alg:
|
|
355
|
+
alg: JoseSignatureAlgorithm.EdDSA,
|
|
354
356
|
...(use !== undefined && { use }),
|
|
355
|
-
kty:
|
|
356
|
-
crv: opts?.crv ??
|
|
357
|
+
kty: JwkKeyType.OKP,
|
|
358
|
+
crv: opts?.crv ?? JoseCurve.Ed25519,
|
|
357
359
|
x: hexToBase64(publicKeyHex, 'base64url'),
|
|
358
360
|
}
|
|
359
361
|
}
|
|
@@ -364,11 +366,11 @@ const toRSAJwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse; key?: IKey | M
|
|
|
364
366
|
// assertProperKeyLength(publicKey, [2048, 3072, 4096])
|
|
365
367
|
|
|
366
368
|
if (key?.meta?.publicKeyJwk) {
|
|
367
|
-
return key.meta.publicKeyJwk as
|
|
369
|
+
return key.meta.publicKeyJwk as JWK
|
|
368
370
|
}
|
|
369
371
|
|
|
370
372
|
const publicKeyPEM = key?.meta?.publicKeyPEM ?? hexToPEM(publicKeyHex, 'public')
|
|
371
|
-
return PEMToJwk(publicKeyPEM, 'public') as
|
|
373
|
+
return PEMToJwk(publicKeyPEM, 'public') as JWK
|
|
372
374
|
}
|
|
373
375
|
|
|
374
376
|
export const padLeft = (args: { data: string; size?: number; padString?: string }): string => {
|
|
@@ -496,21 +498,21 @@ export const toRawCompressedHexPublicKey = (rawPublicKey: Uint8Array, keyType: T
|
|
|
496
498
|
|
|
497
499
|
export const hexStringFromUint8Array = (value: Uint8Array): string => u8a.toString(value, 'base16')
|
|
498
500
|
|
|
499
|
-
export const signatureAlgorithmFromKey = async (args: SignatureAlgorithmFromKeyArgs): Promise<
|
|
501
|
+
export const signatureAlgorithmFromKey = async (args: SignatureAlgorithmFromKeyArgs): Promise<JoseSignatureAlgorithm> => {
|
|
500
502
|
const { key } = args
|
|
501
503
|
return signatureAlgorithmFromKeyType({ type: key.type })
|
|
502
504
|
}
|
|
503
505
|
|
|
504
|
-
export const signatureAlgorithmFromKeyType = (args: SignatureAlgorithmFromKeyTypeArgs):
|
|
506
|
+
export const signatureAlgorithmFromKeyType = (args: SignatureAlgorithmFromKeyTypeArgs): JoseSignatureAlgorithm => {
|
|
505
507
|
const { type } = args
|
|
506
508
|
switch (type) {
|
|
507
509
|
case 'Ed25519':
|
|
508
510
|
case 'X25519':
|
|
509
|
-
return
|
|
511
|
+
return JoseSignatureAlgorithm.EdDSA
|
|
510
512
|
case 'Secp256r1':
|
|
511
|
-
return
|
|
513
|
+
return JoseSignatureAlgorithm.ES256
|
|
512
514
|
case 'Secp256k1':
|
|
513
|
-
return
|
|
515
|
+
return JoseSignatureAlgorithm.ES256K
|
|
514
516
|
default:
|
|
515
517
|
throw new Error(`Key type '${type}' not supported`)
|
|
516
518
|
}
|
|
@@ -527,6 +529,7 @@ export const keyTypeFromCryptographicSuite = (args: KeyTypeFromCryptographicSuit
|
|
|
527
529
|
return 'Ed25519'
|
|
528
530
|
case 'JsonWebSignature2020':
|
|
529
531
|
case 'ES256':
|
|
532
|
+
case 'ECDSA':
|
|
530
533
|
return 'Secp256r1'
|
|
531
534
|
case 'EcdsaSecp256k1Signature2019':
|
|
532
535
|
case 'ES256K':
|
|
@@ -535,3 +538,42 @@ export const keyTypeFromCryptographicSuite = (args: KeyTypeFromCryptographicSuit
|
|
|
535
538
|
throw new Error(`Cryptographic suite '${suite}' not supported`)
|
|
536
539
|
}
|
|
537
540
|
}
|
|
541
|
+
|
|
542
|
+
export async function verifySignatureWithSubtle({
|
|
543
|
+
data,
|
|
544
|
+
signature,
|
|
545
|
+
key,
|
|
546
|
+
crypto: cryptoArg,
|
|
547
|
+
}: {
|
|
548
|
+
data: Uint8Array
|
|
549
|
+
signature: Uint8Array
|
|
550
|
+
key: JsonWebKey
|
|
551
|
+
crypto?: Crypto
|
|
552
|
+
}) {
|
|
553
|
+
let { alg, crv } = key
|
|
554
|
+
if (alg === 'ES256' || !alg) {
|
|
555
|
+
alg = 'ECDSA'
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
const subtle = cryptoArg?.subtle ?? crypto.subtle
|
|
559
|
+
const publicKey = await subtle.importKey(
|
|
560
|
+
'jwk',
|
|
561
|
+
key,
|
|
562
|
+
{
|
|
563
|
+
name: alg,
|
|
564
|
+
namedCurve: crv,
|
|
565
|
+
} as EcKeyImportParams,
|
|
566
|
+
true,
|
|
567
|
+
['verify']
|
|
568
|
+
)
|
|
569
|
+
|
|
570
|
+
return subtle.verify(
|
|
571
|
+
{
|
|
572
|
+
name: alg as string,
|
|
573
|
+
hash: 'SHA-256', // fixme; make arg
|
|
574
|
+
},
|
|
575
|
+
publicKey,
|
|
576
|
+
signature,
|
|
577
|
+
data
|
|
578
|
+
)
|
|
579
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -16,75 +16,9 @@ export enum JwkKeyUse {
|
|
|
16
16
|
Signature = 'sig',
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
export enum KeyCurve {
|
|
20
|
-
Secp256k1 = 'secp256k1',
|
|
21
|
-
P_256 = 'P-256',
|
|
22
|
-
Ed25519 = 'Ed25519',
|
|
23
|
-
X25519 = 'X25519',
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export enum KeyType {
|
|
27
|
-
EC = 'EC',
|
|
28
|
-
OKP = 'OKP',
|
|
29
|
-
RSA = 'RSA',
|
|
30
|
-
}
|
|
31
|
-
|
|
32
19
|
export const SIG_KEY_ALGS = ['ES256', 'ES384', 'ES512', 'EdDSA', 'ES256K', 'Ed25519', 'Secp256k1', 'Secp256r1', 'Bls12381G1', 'Bls12381G2']
|
|
33
20
|
export const ENC_KEY_ALGS = ['X25519', 'ECDH_ES_A256KW', 'RSA_OAEP_256']
|
|
34
21
|
|
|
35
|
-
export enum SignatureAlgorithmJwa {
|
|
36
|
-
// todo: Compare to spec and to kmp lib
|
|
37
|
-
|
|
38
|
-
EdDSA = 'EdDSA',
|
|
39
|
-
ES256 = 'ES256',
|
|
40
|
-
ES384 = 'ES384',
|
|
41
|
-
ES512 = 'ES512',
|
|
42
|
-
ES256K = 'ES256K',
|
|
43
|
-
RS256 = 'RS256',
|
|
44
|
-
RS384 = 'RS384',
|
|
45
|
-
RS512 = 'RS512',
|
|
46
|
-
PS256 = 'PS256',
|
|
47
|
-
PS384 = 'PS384',
|
|
48
|
-
PS512 = 'PS512',
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export interface JWK extends BaseJWK {
|
|
52
|
-
d?: string
|
|
53
|
-
dp?: string
|
|
54
|
-
dq?: string
|
|
55
|
-
ext?: boolean
|
|
56
|
-
k?: string
|
|
57
|
-
key_ops?: string[]
|
|
58
|
-
kid?: string
|
|
59
|
-
oth?: Array<{
|
|
60
|
-
d?: string
|
|
61
|
-
r?: string
|
|
62
|
-
t?: string
|
|
63
|
-
}>
|
|
64
|
-
p?: string
|
|
65
|
-
q?: string
|
|
66
|
-
qi?: string
|
|
67
|
-
use?: string
|
|
68
|
-
/** JWK "x5c" (X.509 Certificate Chain) Parameter. */
|
|
69
|
-
x5c?: string[]
|
|
70
|
-
/** JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. */
|
|
71
|
-
x5t?: string
|
|
72
|
-
/** "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. */
|
|
73
|
-
'x5t#S256'?: string
|
|
74
|
-
/** JWK "x5u" (X.509 URL) Parameter. */
|
|
75
|
-
x5u?: string
|
|
76
|
-
[propName: string]: unknown
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export interface BaseJWK {
|
|
80
|
-
kty: string
|
|
81
|
-
crv?: string
|
|
82
|
-
x?: string
|
|
83
|
-
y?: string
|
|
84
|
-
e?: string
|
|
85
|
-
n?: string
|
|
86
|
-
}
|
|
87
|
-
|
|
88
22
|
export type KeyVisibility = 'public' | 'private'
|
|
89
23
|
|
|
90
24
|
export interface X509Opts {
|