libp2p
    Preparing search index...

    Interface Keychain

    interface Keychain {
        exportKey(name: string): Promise<PrivateKey>;
        findKeyById(id: string): Promise<KeyInfo>;
        findKeyByName(name: string): Promise<KeyInfo>;
        importKey(name: string, key: PrivateKey): Promise<KeyInfo>;
        listKeys(): Promise<KeyInfo[]>;
        removeKey(name: string): Promise<KeyInfo>;
        renameKey(oldName: string, newName: string): Promise<KeyInfo>;
        rotateKeychainPass(oldPass: string, newPass: string): Promise<void>;
    }
    Index

    Methods

    • Export an existing private key.

      Parameters

      • name: string

      Returns Promise<PrivateKey>

      import { generateKeyPair } from '@libp2p/crypto/keys'

      const key = await generateKeyPair('Ed25519')
      const keyInfo = await libp2p.keychain.importKey('my-key', key)
      const key = await libp2p.keychain.exportKey(keyInfo.id)
    • Find a key by id

      Parameters

      • id: string

      Returns Promise<KeyInfo>

      import { generateKeyPair } from '@libp2p/crypto/keys'

      const key = await generateKeyPair('Ed25519')
      const keyInfo = await libp2p.keychain.importKey('my-key', key)
      const keyInfo2 = await libp2p.keychain.findKeyById(keyInfo.id)
    • Find a key by name

      Parameters

      • name: string

      Returns Promise<KeyInfo>

      import { generateKeyPair } from '@libp2p/crypto/keys'

      const key = await generateKeyPair('Ed25519')
      const keyInfo = await libp2p.keychain.importKey('my-key', key)
      const keyInfo2 = await libp2p.keychain.findKeyByName(keyInfo.name)
    • Import a new private key.

      Parameters

      Returns Promise<KeyInfo>

      import { generateKeyPair } from '@libp2p/crypto/keys'

      const key = await generateKeyPair('Ed25519')
      const keyInfo = await libp2p.keychain.importKey('my-key', key)
    • Removes a key from the keychain.

      Parameters

      • name: string

      Returns Promise<KeyInfo>

      await libp2p.services.keychain.createKey('keyTest', 'RSA', 4096)
      const keyInfo = await libp2p.services.keychain.removeKey('keyTest')
    • Rename a key in the keychain. This is done in a batch commit with rollback so errors thrown during the operation will not cause key loss.

      Parameters

      • oldName: string
      • newName: string

      Returns Promise<KeyInfo>

      await libp2p.services.keychain.createKey('keyTest', 'RSA', 4096)
      const keyInfo = await libp2p.services.keychain.renameKey('keyTest', 'keyNewTest')
    • Rotate keychain password and re-encrypt all associated keys

      Parameters

      • oldPass: string
      • newPass: string

      Returns Promise<void>

      await libp2p.services.keychain.rotateKeychainPass('oldPassword', 'newPassword')