@sphereon/ssi-sdk-ext.key-utils 0.13.1-next.2 → 0.13.1-next.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AAE7D,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAGvC,OAAO,EAEH,iCAAiC,EACjC,SAAS,EAIT,QAAQ,EACX,MAAM,SAAS,CAAA;AAGhB;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,SAAgB,QAAQ,KAAG,QAAQ,MAAM,CAmB1E,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAC9C,IAAI,EAAE,iCAAiC,GAAG;IACtC,GAAG,EAAE,MAAM,CAAA;CACd,EACD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,WAO1C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,iBAAkB,MAAM,QAAQ,QAAQ,SAAS;IAAE,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,KAAG,UAoBpG,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,SAAU,QAAQ,gBAAgB,SAAS,KAAG,SAAS,GAAG,SAQrF,CAAA"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,OAAO,EAAgB,iCAAiC,EAAE,SAAS,EAAmC,QAAQ,EAAE,MAAM,SAAS,CAAA;AAG/H;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,SAAgB,QAAQ,KAAG,QAAQ,MAAM,CAmB1E,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,iCAAiC,GAAG;IACxC,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,WAO1C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,iBAAkB,MAAM,QAAQ,QAAQ,SAAS;IAAE,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,KAAG,UAoBpG,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,SAAU,QAAQ,gBAAgB,SAAS,KAAG,SAAS,GAAG,SAQrF,CAAA"}
@@ -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/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.13.1-next.2+52c560b",
4
+ "version": "0.13.1-next.3+77704a2",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -47,5 +47,5 @@
47
47
  "DID",
48
48
  "Veramo"
49
49
  ],
50
- "gitHead": "52c560b4d4fef999554ec00130cf7136dc2db1c6"
50
+ "gitHead": "77704a2064e1c1d3ffc23e580ddbb36063fc70ae"
51
51
  }
package/src/functions.ts CHANGED
@@ -1,20 +1,12 @@
1
- import {randomBytes} from '@ethersproject/random'
2
- import {generateKeyPair as generateSigningKeyPair} from '@stablelib/ed25519'
3
- import {IAgentContext, IKey, IKeyManager} from '@veramo/core'
1
+ import { randomBytes } from '@ethersproject/random'
2
+ import { generateKeyPair as generateSigningKeyPair } from '@stablelib/ed25519'
3
+ import { IAgentContext, IKey, IKeyManager } from '@veramo/core'
4
4
 
5
- import {JsonWebKey} from 'did-resolver'
5
+ import { JsonWebKey } from 'did-resolver'
6
6
  import elliptic from 'elliptic'
7
7
  import * as u8a from 'uint8arrays'
8
- import {
9
- ENC_KEY_ALGS,
10
- IImportProvidedOrGeneratedKeyArgs,
11
- JwkKeyUse,
12
- KeyCurve,
13
- KeyType,
14
- SIG_KEY_ALGS,
15
- TKeyType
16
- } from './types'
17
- import {generateRSAKeyAsPEM, hexToPEM, PEMToJwk, privateKeyHexFromPEM} from './x509'
8
+ import { ENC_KEY_ALGS, IImportProvidedOrGeneratedKeyArgs, JwkKeyUse, KeyCurve, KeyType, SIG_KEY_ALGS, TKeyType } from './types'
9
+ import { generateRSAKeyAsPEM, hexToPEM, PEMToJwk, privateKeyHexFromPEM } from './x509'
18
10
 
19
11
  /**
20
12
  * Generates a random Private Hex Key for the specified key type
@@ -22,24 +14,24 @@ import {generateRSAKeyAsPEM, hexToPEM, PEMToJwk, privateKeyHexFromPEM} from './x
22
14
  * @return The private key in Hex form
23
15
  */
24
16
  export const generatePrivateKeyHex = async (type: TKeyType): Promise<string> => {
25
- switch (type) {
26
- case 'Ed25519': {
27
- const keyPairEd25519 = generateSigningKeyPair()
28
- return u8a.toString(keyPairEd25519.secretKey, 'base16')
29
- }
30
- // The Secp256 types use the same method to generate the key
31
- case 'Secp256r1':
32
- case 'Secp256k1': {
33
- const privateBytes = randomBytes(32)
34
- return u8a.toString(privateBytes, 'base16')
35
- }
36
- case 'RSA': {
37
- const pem = await generateRSAKeyAsPEM('RSA-PSS', 'SHA-256', 2048)
38
- return privateKeyHexFromPEM(pem)
39
- }
40
- default:
41
- throw Error(`not_supported: Key type ${type} not yet supported for this did:jwk implementation`)
17
+ switch (type) {
18
+ case 'Ed25519': {
19
+ const keyPairEd25519 = generateSigningKeyPair()
20
+ return u8a.toString(keyPairEd25519.secretKey, 'base16')
42
21
  }
22
+ // The Secp256 types use the same method to generate the key
23
+ case 'Secp256r1':
24
+ case 'Secp256k1': {
25
+ const privateBytes = randomBytes(32)
26
+ return u8a.toString(privateBytes, 'base16')
27
+ }
28
+ case 'RSA': {
29
+ const pem = await generateRSAKeyAsPEM('RSA-PSS', 'SHA-256', 2048)
30
+ return privateKeyHexFromPEM(pem)
31
+ }
32
+ default:
33
+ throw Error(`not_supported: Key type ${type} not yet supported for this did:jwk implementation`)
34
+ }
43
35
  }
44
36
 
45
37
  /**
@@ -50,49 +42,49 @@ export const generatePrivateKeyHex = async (type: TKeyType): Promise<string> =>
50
42
  * @private
51
43
  */
52
44
  export async function importProvidedOrGeneratedKey(
53
- args: IImportProvidedOrGeneratedKeyArgs & {
54
- kms: string
55
- },
56
- context: IAgentContext<IKeyManager>
45
+ args: IImportProvidedOrGeneratedKeyArgs & {
46
+ kms: string
47
+ },
48
+ context: IAgentContext<IKeyManager>
57
49
  ): Promise<IKey> {
58
- // @ts-ignore
59
- const type = args.options?.type ?? args.options?.key?.type ?? args.options?.keyType ?? 'Secp256r1'
60
- const key = args?.options?.key
61
- // Make sure x509 options are also set on the metadata as that is what the kms will look for
62
- if (args.options?.x509 && key) {
63
- key.meta = {
64
- ...key.meta,
65
- x509: {
66
- ...args.options.x509,
67
- ...key.meta?.x509,
68
- },
69
- }
50
+ // @ts-ignore
51
+ const type = args.options?.type ?? args.options?.key?.type ?? args.options?.keyType ?? 'Secp256r1'
52
+ const key = args?.options?.key
53
+ // Make sure x509 options are also set on the metadata as that is what the kms will look for
54
+ if (args.options?.x509 && key) {
55
+ key.meta = {
56
+ ...key.meta,
57
+ x509: {
58
+ ...args.options.x509,
59
+ ...key.meta?.x509,
60
+ },
70
61
  }
71
-
72
- if (args.options && args.options?.use === JwkKeyUse.Encryption && !ENC_KEY_ALGS.includes(type)) {
73
- throw new Error(`${type} keys are not valid for encryption`)
62
+ }
63
+
64
+ if (args.options && args.options?.use === JwkKeyUse.Encryption && !ENC_KEY_ALGS.includes(type)) {
65
+ throw new Error(`${type} keys are not valid for encryption`)
66
+ }
67
+
68
+ let privateKeyHex: string
69
+ if (key) {
70
+ privateKeyHex = key.privateKeyHex ?? key.meta?.x509?.privateKeyHex
71
+ if ((!privateKeyHex || privateKeyHex.trim() === '') && key?.meta?.x509?.privateKeyPEM) {
72
+ // If we do not have a privateKeyHex but do have a PEM
73
+ privateKeyHex = privateKeyHexFromPEM(key.meta.x509.privateKeyPEM)
74
74
  }
75
-
76
- let privateKeyHex: string
77
- if (key) {
78
- privateKeyHex = key.privateKeyHex ?? key.meta?.x509?.privateKeyHex
79
- if ((!privateKeyHex || privateKeyHex.trim() === '') && key?.meta?.x509?.privateKeyPEM) {
80
- // If we do not have a privateKeyHex but do have a PEM
81
- privateKeyHex = privateKeyHexFromPEM(key.meta.x509.privateKeyPEM)
82
- }
83
- if (!privateKeyHex && !key.meta?.x509?.privateKeyPEM) {
84
- throw new Error(`We need to have a private key in Hex or PEM when importing a key`)
85
- }
86
- } else {
87
- privateKeyHex = await generatePrivateKeyHex(type)
75
+ if (!privateKeyHex && !key.meta?.x509?.privateKeyPEM) {
76
+ throw new Error(`We need to have a private key in Hex or PEM when importing a key`)
88
77
  }
89
-
90
- return context.agent.keyManagerImport({
91
- ...key,
92
- kms: args.kms,
93
- type,
94
- privateKeyHex,
95
- })
78
+ } else {
79
+ privateKeyHex = await generatePrivateKeyHex(type)
80
+ }
81
+
82
+ return context.agent.keyManagerImport({
83
+ ...key,
84
+ kms: args.kms,
85
+ type,
86
+ privateKeyHex,
87
+ })
96
88
  }
97
89
 
98
90
  /**
@@ -101,12 +93,12 @@ export async function importProvidedOrGeneratedKey(
101
93
  * @return Base64Url encoded value
102
94
  */
103
95
  export const hex2base64url = (value: string) => {
104
- //fixme: Buffer to u8a
105
- const buffer = Buffer.from(value, 'hex')
106
- const base64 = buffer.toString('base64')
107
- const base64url = base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
96
+ //fixme: Buffer to u8a
97
+ const buffer = Buffer.from(value, 'hex')
98
+ const base64 = buffer.toString('base64')
99
+ const base64url = base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
108
100
 
109
- return base64url
101
+ return base64url
110
102
  }
111
103
 
112
104
  /**
@@ -117,25 +109,25 @@ export const hex2base64url = (value: string) => {
117
109
  * @return The JWK
118
110
  */
119
111
  export const toJwk = (publicKeyHex: string, type: TKeyType, opts?: { use?: JwkKeyUse; key?: IKey }): JsonWebKey => {
120
- const {key} = opts ?? {}
121
- if (key && key.publicKeyHex !== publicKeyHex) {
122
- throw Error(`Provided key with id ${key.kid}, has a different public key hex than supplied public key ${publicKeyHex}`)
123
- }
124
- switch (type) {
125
- case 'Ed25519':
126
- return toEd25519OrX25519Jwk(publicKeyHex, {...opts, crv: KeyCurve.Ed25519})
127
- case 'X25519':
128
- return toEd25519OrX25519Jwk(publicKeyHex, {...opts, crv: KeyCurve.X25519})
129
- case 'Secp256k1':
130
- return toSecp256k1Jwk(publicKeyHex, opts)
131
- case 'Secp256r1':
132
- return toSecp256r1Jwk(publicKeyHex, opts)
133
- case 'RSA':
134
- return toRSAJwk(publicKeyHex, opts)
135
-
136
- default:
137
- throw new Error(`not_supported: Key type ${type} not yet supported for this did:jwk implementation`)
138
- }
112
+ const { key } = opts ?? {}
113
+ if (key && key.publicKeyHex !== publicKeyHex) {
114
+ throw Error(`Provided key with id ${key.kid}, has a different public key hex than supplied public key ${publicKeyHex}`)
115
+ }
116
+ switch (type) {
117
+ case 'Ed25519':
118
+ return toEd25519OrX25519Jwk(publicKeyHex, { ...opts, crv: KeyCurve.Ed25519 })
119
+ case 'X25519':
120
+ return toEd25519OrX25519Jwk(publicKeyHex, { ...opts, crv: KeyCurve.X25519 })
121
+ case 'Secp256k1':
122
+ return toSecp256k1Jwk(publicKeyHex, opts)
123
+ case 'Secp256r1':
124
+ return toSecp256r1Jwk(publicKeyHex, opts)
125
+ case 'RSA':
126
+ return toRSAJwk(publicKeyHex, opts)
127
+
128
+ default:
129
+ throw new Error(`not_supported: Key type ${type} not yet supported for this did:jwk implementation`)
130
+ }
139
131
  }
140
132
 
141
133
  /**
@@ -145,13 +137,13 @@ export const toJwk = (publicKeyHex: string, type: TKeyType, opts?: { use?: JwkKe
145
137
  * @param suppliedUse A supplied use. Will be used in case it is present
146
138
  */
147
139
  export const jwkDetermineUse = (type: TKeyType, suppliedUse?: JwkKeyUse): JwkKeyUse | undefined => {
148
- return suppliedUse
149
- ? suppliedUse
150
- : SIG_KEY_ALGS.includes(type)
151
- ? JwkKeyUse.Signature
152
- : ENC_KEY_ALGS.includes(type)
153
- ? JwkKeyUse.Encryption
154
- : undefined
140
+ return suppliedUse
141
+ ? suppliedUse
142
+ : SIG_KEY_ALGS.includes(type)
143
+ ? JwkKeyUse.Signature
144
+ : ENC_KEY_ALGS.includes(type)
145
+ ? JwkKeyUse.Encryption
146
+ : undefined
155
147
  }
156
148
 
157
149
  /**
@@ -161,17 +153,17 @@ export const jwkDetermineUse = (type: TKeyType, suppliedUse?: JwkKeyUse): JwkKey
161
153
  * @param expectedKeyLength Expected key length(s)
162
154
  */
163
155
  const assertProperKeyLength = (keyHex: string, expectedKeyLength: number | number[]) => {
164
- if (Array.isArray(expectedKeyLength)) {
165
- if (expectedKeyLength.includes(keyHex.length)) {
166
- throw Error(
167
- `Invalid key length. Needs to be a hex string with length from ${JSON.stringify(expectedKeyLength)} instead of ${
168
- keyHex.length
169
- }. Input: ${keyHex}`
170
- )
171
- }
172
- } else if (keyHex.length !== expectedKeyLength) {
173
- throw Error(`Invalid key length. Needs to be a hex string with length ${expectedKeyLength} instead of ${keyHex.length}. Input: ${keyHex}`)
156
+ if (Array.isArray(expectedKeyLength)) {
157
+ if (expectedKeyLength.includes(keyHex.length)) {
158
+ throw Error(
159
+ `Invalid key length. Needs to be a hex string with length from ${JSON.stringify(expectedKeyLength)} instead of ${
160
+ keyHex.length
161
+ }. Input: ${keyHex}`
162
+ )
174
163
  }
164
+ } else if (keyHex.length !== expectedKeyLength) {
165
+ throw Error(`Invalid key length. Needs to be a hex string with length ${expectedKeyLength} instead of ${keyHex.length}. Input: ${keyHex}`)
166
+ }
175
167
  }
176
168
 
177
169
  /**
@@ -181,16 +173,16 @@ const assertProperKeyLength = (keyHex: string, expectedKeyLength: number | numbe
181
173
  * @return The JWK
182
174
  */
183
175
  const toSecp256k1Jwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse }): JsonWebKey => {
184
- assertProperKeyLength(publicKeyHex, 130)
185
- const {use} = opts ?? {}
186
- return {
187
- alg: 'ES256K',
188
- ...(use !== undefined && {use}),
189
- kty: KeyType.EC,
190
- crv: KeyCurve.Secp256k1,
191
- x: hex2base64url(publicKeyHex.substr(2, 64)),
192
- y: hex2base64url(publicKeyHex.substr(66, 64)),
193
- }
176
+ assertProperKeyLength(publicKeyHex, 130)
177
+ const { use } = opts ?? {}
178
+ return {
179
+ alg: 'ES256K',
180
+ ...(use !== undefined && { use }),
181
+ kty: KeyType.EC,
182
+ crv: KeyCurve.Secp256k1,
183
+ x: hex2base64url(publicKeyHex.substr(2, 64)),
184
+ y: hex2base64url(publicKeyHex.substr(66, 64)),
185
+ }
194
186
  }
195
187
 
196
188
  /**
@@ -200,21 +192,21 @@ const toSecp256k1Jwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse }): JsonW
200
192
  * @return The JWK
201
193
  */
202
194
  const toSecp256r1Jwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse }): JsonWebKey => {
203
- const {use} = opts ?? {}
204
- const publicKey = publicKeyHex
205
- assertProperKeyLength(publicKey, 66)
206
-
207
- const secp256r1 = new elliptic.ec('p256')
208
- const key = secp256r1.keyFromPublic(publicKey, 'hex')
209
- const pubPoint = key.getPublic()
210
- return {
211
- alg: 'ES256',
212
- ...(use !== undefined && {use}),
213
- kty: KeyType.EC,
214
- crv: KeyCurve.P_256,
215
- x: hex2base64url(pubPoint.getX().toString('hex')),
216
- y: hex2base64url(pubPoint.getY().toString('hex')),
217
- }
195
+ const { use } = opts ?? {}
196
+ const publicKey = publicKeyHex
197
+ assertProperKeyLength(publicKey, 66)
198
+
199
+ const secp256r1 = new elliptic.ec('p256')
200
+ const key = secp256r1.keyFromPublic(publicKey, 'hex')
201
+ const pubPoint = key.getPublic()
202
+ return {
203
+ alg: 'ES256',
204
+ ...(use !== undefined && { use }),
205
+ kty: KeyType.EC,
206
+ crv: KeyCurve.P_256,
207
+ x: hex2base64url(pubPoint.getX().toString('hex')),
208
+ y: hex2base64url(pubPoint.getY().toString('hex')),
209
+ }
218
210
  }
219
211
 
220
212
  /**
@@ -224,32 +216,32 @@ const toSecp256r1Jwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse }): JsonW
224
216
  * @return The JWK
225
217
  */
226
218
  const toEd25519OrX25519Jwk = (
227
- publicKeyHex: string,
228
- opts: {
229
- use?: JwkKeyUse
230
- crv: KeyCurve.Ed25519 | KeyCurve.X25519
231
- }
219
+ publicKeyHex: string,
220
+ opts: {
221
+ use?: JwkKeyUse
222
+ crv: KeyCurve.Ed25519 | KeyCurve.X25519
223
+ }
232
224
  ): JsonWebKey => {
233
- assertProperKeyLength(publicKeyHex, 64)
234
- const {use} = opts ?? {}
235
- return {
236
- alg: 'EdDSA',
237
- ...(use !== undefined && {use}),
238
- kty: KeyType.OKP,
239
- crv: opts?.crv ?? KeyCurve.Ed25519,
240
- x: hex2base64url(publicKeyHex.substr(0, 64)),
241
- }
225
+ assertProperKeyLength(publicKeyHex, 64)
226
+ const { use } = opts ?? {}
227
+ return {
228
+ alg: 'EdDSA',
229
+ ...(use !== undefined && { use }),
230
+ kty: KeyType.OKP,
231
+ crv: opts?.crv ?? KeyCurve.Ed25519,
232
+ x: hex2base64url(publicKeyHex.substr(0, 64)),
233
+ }
242
234
  }
243
235
 
244
236
  const toRSAJwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse; key?: IKey }): JsonWebKey => {
245
- const {key} = opts ?? {}
246
- // const publicKey = publicKeyHex
247
- // assertProperKeyLength(publicKey, [2048, 3072, 4096])
237
+ const { key } = opts ?? {}
238
+ // const publicKey = publicKeyHex
239
+ // assertProperKeyLength(publicKey, [2048, 3072, 4096])
248
240
 
249
- if (key?.meta?.publicKeyJwk) {
250
- return key.meta.publicKeyJwk as JsonWebKey
251
- }
241
+ if (key?.meta?.publicKeyJwk) {
242
+ return key.meta.publicKeyJwk as JsonWebKey
243
+ }
252
244
 
253
- const publicKeyPEM = key?.meta?.publicKeyPEM ?? hexToPEM(publicKeyHex, 'public')
254
- return PEMToJwk(publicKeyPEM, 'public') as JsonWebKey
245
+ const publicKeyPEM = key?.meta?.publicKeyPEM ?? hexToPEM(publicKeyHex, 'public')
246
+ return PEMToJwk(publicKeyPEM, 'public') as JsonWebKey
255
247
  }