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
>