ホットキーの生成
このページでは、Neuron 管理のために使用するホットキーを生成する方法について説明します。
ホットキーを取得する方法として推奨されるのは、公開されている ic
リポジトリと同じプロセスを使用してプログラム的に生成することです。
しかし、以下のように手動でホットキーを生成することも可能です。
このページは、期待されるデータフォーマットを示すいくつかの例とともに、順を追って説明します。
手動のプロセス
手動でホットキーを生成する場合、PEM ファイルを生成しそれに対応する秘密鍵と公開鍵を導出することになります。
PEM の生成
鍵を生成するには、まずプライベートな PEM ファイルを生成することから始めます:
openssl genpkey -algorithm ed25519 -outform PEM -out private.pem
出力例です:
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VwBCIEIHAOt4HGrNdcIFhBy7N9p6iq3iRowd4NZjDZ8aaaDCcX
-----END PRIVATE KEY-----
そして、そこから公開用 PEM を作成します:
openssl pkey -in private.pem -pubout > public.pem
出力例です:
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA4JKtE2KNVUTo96cl202FgWv5ctwP7f1ds1O73PZ6+VE=
-----END PUBLIC KEY-----
16進数(hex)キー表現の生成
プライベート DER ファイルを作成します:
openssl pkey -inform pem -outform der -in private.pem -out private.der
公開用 DER ファイルを作成します:
openssl pkey -inform pem -outform der -in private.pem -out public.der -pubout
16進数(hex)表現
生成された DER ファイルは、人間が読めるように意図されていないバイナリ形式になっています。 しかし、両鍵とも 16進数(hex)表現を得ることはできます:
プライベートキー
xxd -p private.der
出力例です:
302e020100300506032b657004220420700eb781c6acd75c205841cbb37d
a7a8aade2468c1de0d6630d9f1a69a0c2717
パブリックキー
xxd -p public.der
302a300506032b6570032100e092ad13628d5544e8f7a725db4d85816bf9
72dc0fedfd5db353bbdcf67af951
公開鍵の最後の 32バイトだけを残しておく必要があります:
xxd -s 12 -c 32 -p public.der
出力例です:
e092ad13628d5544e8f7a725db4d85816bf972dc0fedfd5db353bbdcf67af951
これは、Rosetta の操作で、ホットキーを識別するために使用できる公開鍵です。
FAQ
- PEM ファイル生成時に "Algorithm ed25519 not found” と表示されるのはなぜですか?
MacOS に含まれる OpenSSL のバージョンは、デフォルトでは ed25519 をサポートしていません。 別のバージョンの OpenSSL を (たとえば brew を使って) インストールするか、Linux マシンからこのコマンドを実行する必要があるかもしれません。