Как заставить пользователя загрузить файл с закрытым ключом перед любой транзакцией в фабрике Hyperledger? - PullRequest
1 голос
/ 13 июня 2019

Я понимаю, что Hyperledger хранит закрытый ключ пользователей в каталоге с именем keystore.Я не хочу, чтобы моя сеть сохраняла его, пользователь должен загрузить этот файл перед любой транзакцией.Как это сделать.

Ответы [ 2 ]

1 голос
/ 14 июня 2019

У меня нет полного кода, чтобы предоставить вам, и у меня нет времени, чтобы написать его. Тем не менее, вот последовательность действий, которой вы можете следовать:

  • FRONT END: разрешить пользователю загружать файлы (пример (предполагается, что вы создаете веб-приложение): http://reusableforms.com/d/o3/html5-contact-form-with-file-upload)
  • BACK END: получить файл из запроса.
  • BACK END: создать пользовательский контекст из этих файлов
  • НАЗАД КОНЕЦ: Построить / отправить транзакцию
  • ТКАНЬ: Обработка транзакции
  • НАЗАД КОНЕЦ: Если транзакция ДЕЙСТВИТЕЛЬНА, удалите всю информацию о пользователе (в частности, закрытый ключ)
  • BACK END: отправить ответ обратно FRONT END

Я не знаю, каков ваш сценарий, но:

  • Я думаю, что управление пользователем своими собственными ключами - это риск, поскольку он может его потерять или кто-то может взломать пользовательское устройство, чтобы получить его.
  • Наличие личных ключей, перемещающихся по сети, может быть проблемой безопасности, если кто-то может перехватить ее.

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

0 голосов
/ 16 июня 2019

Я думаю, что есть неправильное понимание того, что выполняет папка хранилища ключей и чего вы хотите достичь здесь.

В контексте MSP в папке хранилища ключей хранятся закрытые ключи. Он хранит закрытые ключи идентификаторов, представленных MSP. Однако это очень уникально для узла, на котором работает MSP.

На одноранговом узле хранилище ключей будет хранить сертификат для однорангового узла и ключ для идентификатора однорангового узла. Он не будет хранить ключи для какой-либо другой идентичности, поскольку этот узел не предназначен для того, чтобы действовать в качестве этой идентичности (помните, что владение private = может выступать в качестве этой идентичности). Он также будет хранить сертификаты (не частные ключи) идентификаторов, которые должны выступать в качестве администраторов этого партнера.

Что именно вы пытаетесь сделать, позволяя пользователям загружать закрытый ключ? Если вы пытаетесь позволить пользователям идентифицировать себя в сети, предоставление их ключа не является решением. Если это что-то еще, попробуйте отредактировать свой пост, чтобы объяснить ваш вариант использования более четко, чтобы мы могли помочь.

...