Skip to content

Commit 34455b5

Browse files
authored
fix: allow importing the self key (#2700)
Because the keychain doesn't create keys, only accepts them, allow importing the "self" key. If the key already exists it will fail, and you still can't remove or rename it.
1 parent 62ce7b2 commit 34455b5

File tree

2 files changed

+1
-13
lines changed

2 files changed

+1
-13
lines changed

packages/keychain/src/keychain.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ export class Keychain implements KeychainInterface {
196196
}
197197

198198
async importKey (name: string, key: PrivateKey): Promise<KeyInfo> {
199-
if (!validateKeyName(name) || name === 'self') {
199+
if (!validateKeyName(name)) {
200200
await randomDelay()
201201
throw new InvalidParametersError(`Invalid key name '${name}'`)
202202
}

packages/keychain/test/keychain.spec.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -174,13 +174,6 @@ describe('keychain', () => {
174174
const importedKey = await ks.importKey(keyName, exportedKey)
175175
expect(importedKey.id).to.eql(keyInfo.id)
176176
})
177-
178-
it('cannot create the "self" key', async () => {
179-
const key = await generateKeyPair('Ed25519')
180-
181-
await expect(ks.importKey('self', key)).to.eventually.be.rejected
182-
.with.property('name', 'InvalidParametersError')
183-
})
184177
})
185178

186179
describe('query', () => {
@@ -268,11 +261,6 @@ describe('keychain', () => {
268261
.with.property('name', 'InvalidParametersError')
269262
})
270263

271-
it('cannot create the "self" key', async () => {
272-
await expect(ks.renameKey(rsaKeyName, 'self')).to.eventually.be.rejected
273-
.with.property('name', 'InvalidParametersError')
274-
})
275-
276264
it('removes the existing key name', async () => {
277265
const key = await ks.renameKey(rsaKeyName, renamedRsaKeyName)
278266
expect(key).to.exist()

0 commit comments

Comments
 (0)