Перейти к содержанию

Class: ExportClient

Инструмент экспорта приватного ключа

Имплементирует получение серверного секрета и генерирует комплексные приватные ключи, действует схоже с синхронизацией распределенного ключа, но напрямую через собранные секреты. После того как секреты собраны, дальнейшие операции (кроме экспорта и полного удаления секрета) не должны производиться.

Заметьте

Требуется строгая авторизация, отличная от SignerClient

Конструкторы

constructor

new ExportClient(url, auth, crypto)

Параметры

Имя Тип Описание
url string signer service эндпоинт (HTTP(S))
auth AuthorizationSession сессия авторизации AuthorizationSession
crypto Crypto любой валидный Crypto для обработки данных и вычислений

Свойства

auth

auth: AuthorizationSession

сессия авторизации AuthorizationSession


crypto

crypto: Crypto

любой валидный Crypto для обработки данных и вычислений

Методы

exportSecret

exportSecret(secretId): Promise<void>

Экспорт серверного секрета, связанного с данным secretId

Скачивает серверный секрет (тем самым аннулирует его для SMPC) и готовится к генерации приватных ключей. Эта процедура может быть повторена пока секрет не удален exportSecret

Параметры

Имя Тип Описание
secretId string ID (UUID) данного секрета

Возвращает

Promise<void>


getCompoundEcdsaPrivateKey

getCompoundEcdsaPrivateKey(curve, derivationCoin, derivationAccount): string

Восстанавливает приватный ключ из экспортированного секрета и параметров вывода

Каждый секрет используется для генерации фрагментов ключа (BIP-44 с путем m/44'/(coin)'/(account)'/0'/0'), и затем производится восстановление локального ключа по этим фрагментам для получения финального приватного ключа

Параметры

Имя Тип Описание
curve "secp256k1" эллиптическая кривая (ECC) (на данный момент поддерживается только secp256k1)
derivationCoin number coin свойство формирования HD ключа (BIP-44)
derivationAccount number account свойство формирования HD ключа (BIP-44)

Возвращает

string

восстановленный приватный ключ (32 байта)


getCompoundEddsaPrivateKey

getCompoundEddsaPrivateKey(curve, derivationCoin, derivationAccount): string

Восстанавливает приватный ключ из экспортированного секрета и параметров вывода

Каждый секрет используется для генерации фрагментов ключа (BIP-44 с путем m/44'/(coin)'/(account)'/0'/0'), и затем производится восстановление локального ключа по этим фрагментам для получения финального приватного ключа

Параметры

Имя Тип Описание
curve "secp256k1" эллиптическая кривая (ECC) (на данный момент поддерживается только secp256k1)
derivationCoin number coin свойство формирования HD ключа (BIP-44)
derivationAccount number account свойство формирования HD ключа (BIP-44)

Возвращает

string

восстановленный приватный ключ (32 байта)


removeSecret

removeSecret(secretId): Promise<void>

Навсегда удаляет серверный секрет связанный с данным secretId

Сначала должен быть экспортирован секрет. Нет никакой возможности восстановления.

Параметры

Имя Тип Описание
secretId string ID (UUID) секрета

Возвращает

Promise<void>