Экспорт ключа ipfs в удобочитаемый текстовый формат

#cryptography #gnupg #ipfs

#криптография #gnupg #ipfs

Вопрос:

Как экспортировать мой ключ ipfs в файл (и использовать его аналогично gpg). Мне нужен ключ экспорта в формате openssl / gpg.

Ответ №1:

Вы можете экспортировать ключи из go-ipfs, используя ipfs key export , пока демон не запущен. Я не уверен, что вы имеете в виду, говоря, что вам нужно экспортировать ключ в текстовом режиме, но ключи — это ключи libp2p, формат которых описан здесь .

Вы, конечно, можете закодировать ключ в любом представлении, которое вы хотите (например, base16, base32 и т. Д.). С другой стороны, если вы хотите преобразовать ключи libp2p в какой-либо другой формат, вы можете сделать это, написав некоторую программу преобразования для преобразования ключа. Здесь находится функция разблокировки ключа libp2p в Go.

Ниже приведен пример запуска экспорта в PowerShell:

 C:Usersadin> ipfs key gen example
k51qzi5uqu5dlxhpvewosfhwueh87q9c0rttznvu0k8fhui8mvjd0qmpt2n9b0

C:Usersadin> ipfs key list
self
example

C:Usersadin> ipfs key export example -o="myoutput.key"
C:Usersadin> [Convert]::ToBase64String([IO.File]::ReadAllBytes("myoutput.key"))
CAESQCncEZprjyHaWjMkduj9qcma/Hk7Rjb2sqObS06Rwv g5pgBN5fZ0DdRMmVLs49OJP0hM/NfkPa2kdOK64u0dNw=
 

Комментарии:

1. как экспортировать ключ? ipfs.sh ключ экспорта собственных ipfs: чтение из /dev/stdin; отправьте Ctrl-d для остановки. И, во-вторых, в каком формате находится ключ? .pem ? Могу ли я использовать его в gpg, openssl и т. Д.? Когда я генерирую ключ, я получаю хэш, как это сгенерировать?

2. Пожалуйста, напишите пример экспорта и как выглядит результат

3. ipfs key export {keyName} -o=outputFile , не вы НЕ МОЖЕТЕ сделать это для self ключа. Если вы хотите создать резервную копию ключа libp2p узлов, вы можете просто скопировать его из файла конфигурации (например ~/.ipfs/config ).

4. не работает, просто я написал, и мне нужен стандартный код, и ничего не произошло

5. Я добавил пример powershell core 7.1.2 к ответу выше. Не могли бы вы опубликовать именно то, что вы используете? Похоже, вы просто не отправляете полную команду.