Skip to main content

ホットキーの生成

このページでは、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 マシンからこのコマンドを実行する必要があるかもしれません。