はじめに
この記事は前回の記事(以下リンク参照)の続きです。
以下のような情報を提供してもらったので、試してようと思います。
Nodejs v16をインストール
$ curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
バージョンが古いせいか色々と言われますが、そのまま待っていればOKです。
$ node -v
v16.20.2
Symbol-bootstrapをインストール&ファイルを生成
$ sudo npm install -g symbol-bootstrap
$ symbol-bootstrap -v
symbol-bootstrap/1.1.10 linux-x64 node-v16.20.2
$ symbol-bootstrap config -a dual -p testnet
_ _ _ _ _
___ _ _ _ __ ___ | |__ ___ | | | |__ ___ ___ | |_ ___ | |_ _ __ __ _ _ __
/ __|| | | || '_ ` _ \ | '_ \ / _ \ | | _____ | '_ \ / _ \ / _ \ | __|/ __|| __|| '__|/ _` || '_ \
\__ \| |_| || | | | | || |_) || (_) || ||_____|| |_) || (_) || (_) || |_ \__ \| |_ | | | (_| || |_) |
|___/ \__, ||_| |_| |_||_.__/ \___/ |_| |_.__/ \___/ \___/ \__||___/ \__||_| \__,_|| .__/
|___/ |_|
? Enter the password used to encrypt and decrypt custom presets, addresses.yml, and preset.yml files. When providing a
password, private keys will be encrypted. Keep this password in a secure place! *****
2024-01-31T01:13:40.866Z info Password has been provided
2024-01-31T01:13:40.910Z info Generating config from preset 'testnet'
2024-01-31T01:13:40.911Z info Using assembly 'dual'
2024-01-31T01:13:40.926Z info Generating Main account...
2024-01-31T01:13:40.953Z info Generating Transport account...
2024-01-31T01:13:40.962Z info Generating Remote account...
2024-01-31T01:13:40.975Z info Generating VRF account...
2024-01-31T01:13:41.003Z info Deleting folder target/nodes/node/cert
2024-01-31T01:13:41.014Z info User for docker resolved: 1000:1000
2024-01-31T01:13:41.014Z info Running image using Exec: symbolplatform/symbol-server:gcc-1.0.3.6 bash createNodeCertificates.sh
2024-01-31T01:14:13.055Z info Certificate for node node created.
2024-01-31T01:14:13.059Z info Getting nodes information from https://testnet.symbol.services/nodes?limit=50
2024-01-31T01:14:13.952Z info Generating node server configuration
2024-01-31T01:14:14.070Z info Generating broker broker configuration
2024-01-31T01:14:14.118Z info Node node is not voting.
2024-01-31T01:14:14.138Z info Deleting folder target/nemesis/seed
2024-01-31T01:14:14.357Z info Configuration generated.
復号
$ symbol-bootstrap decrypt --password 12345 --source target/addresses.yml --destination plain-addresses.yml
$ cat plain-addresses.yml
version: 2
networkType: 152
nemesisGenerationHashSeed: 49D6E1CE276A85B70EAFE52349AACCA389302E7A9754BCF1221E79494FC665A4
nodes:
-
name: node
friendlyName: 22D2283
roles: Peer,Api
main:
privateKey: 9AF3634D10FAE6DDE94AE8B2AA77DEDBBF5057863405B5B81F9D3684813E7221
publicKey: 22D2283855C40688D03CE11736E27F2FCAB5292BAA690F8AA0A8BC95CD37D663
address: TCHAIBGA25ERUZ7QQ5LUNGSGQFTIFXWOSJUSOTY
transport:
privateKey: 497D1337D3E07F530F5A795E2F7DD092D7C16CD9F44CD0438927A59326C8E533
publicKey: 8EB5022186EE352ECFA348C3189BBD3FAD5E5FCC2979DF4264727038107CD450
address: TCAXMU2ORK3MWQP2CVYIZYREVVBBVN6WH3S6LLI
remote:
privateKey: 30FB08448FAE310AFD421C96BCBE1AEECE8058C59241A7077F0C5D9E211D0F27
publicKey: D0CB5A02318B70D3BD9926DB381850F300557E84188E7F780EEBB960502E38A2
address: TCDRDRUUQBYU4UXFJALBU4S3ZTBTVCMBJ42RMBY
vrf:
privateKey: 39B68FCA6357F6D7433C2D62379BBF9B8B5B143024813E72080D55E78BB9F172
publicKey: F8739E638EA8A4AA0777DD7FC6DF5660B385859AC34AEC28476A3513231515E7
address: TADJNXWVZHY25AUHQMPMUVI423AMCQJEXBWVH6Q
nvmでNodejs v20を入れる&symbol-bootstrapのインストール
# 古いNodejsを削除
$ sudo apt-get remove nodejs npm
# シェルの再起動
$ exec $SHELL -l
# nvmインストール
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
$ source ~/.bashrc
$ nvm -v
0.39.7
# nvmでNodejs20をインストール
$ nvm install 20
Downloading and installing node v20.11.0...
Downloading https://nodejs.org/dist/v20.11.0/node-v20.11.0-linux-x64.tar.xz...
######################################################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.11.0 (npm v10.2.4)
Creating default alias: default -> 20 (-> v20.11.0)
$ node -v
v20.11.0
# symbol-bootstrapのインストール(sudo 不要)
$ npm install -g symbol-bootstrap
$ symbol-bootstrap -v
symbol-bootstrap/1.1.10 linux-x64 node-v20.11.0
復号
$ symbol-bootstrap decrypt --password 12345 --source target/addresses.yml --destination plain-addresses.yml
2024-01-31T01:27:48.730Z info Decrypted file plain-addresses.yml has been created! Any private keys on this file are now in plain text. Remember to remove the file!
$ cat plain-addresses.yml
version: 2
networkType: 152
nemesisGenerationHashSeed: 49D6E1CE276A85B70EAFE52349AACCA389302E7A9754BCF1221E79494FC665A4
nodes:
-
name: node
friendlyName: 22D2283
roles: Peer,Api
main:
privateKey: 9AF3634D10FAE6DDE94AE8B2AA77DEDBBF5057863405B5B81F9D3684813E7221
publicKey: 22D2283855C40688D03CE11736E27F2FCAB5292BAA690F8AA0A8BC95CD37D663
address: TCHAIBGA25ERUZ7QQ5LUNGSGQFTIFXWOSJUSOTY
transport:
privateKey: 497D1337D3E07F530F5A795E2F7DD092D7C16CD9F44CD0438927A59326C8E533
publicKey: 8EB5022186EE352ECFA348C3189BBD3FAD5E5FCC2979DF4264727038107CD450
address: TCAXMU2ORK3MWQP2CVYIZYREVVBBVN6WH3S6LLI
remote:
privateKey: 30FB08448FAE310AFD421C96BCBE1AEECE8058C59241A7077F0C5D9E211D0F27
publicKey: D0CB5A02318B70D3BD9926DB381850F300557E84188E7F780EEBB960502E38A2
address: TCDRDRUUQBYU4UXFJALBU4S3ZTBTVCMBJ42RMBY
vrf:
privateKey: 39B68FCA6357F6D7433C2D62379BBF9B8B5B143024813E72080D55E78BB9F172
publicKey: F8739E638EA8A4AA0777DD7FC6DF5660B385859AC34AEC28476A3513231515E7
address: TADJNXWVZHY25AUHQMPMUVI423AMCQJEXBWVH6Q
復号できちゃったwww
symbol-bootstrapのバージョンを変えてみよう
よくよく考えると1年ほど前の情報なので、最新の1.1.10ではなく1.1.8とか1.1.9で作成している可能性があるので再度、aptでNodejs16をインストールして最初から作業してみます。
途中は端折っているので適時読み直してください。
v1.1.8
$ node -v
v16.20.2
# 念の為、削除
$ sudo npm uninstall -g symbol-bootstrap
$ sudo npm install -g symbol-bootstrap@1.1.8
$ symbol-bootstrap -v
symbol-bootstrap/1.1.8 linux-x64 node-v16.20.2
$ cd v1.1.8
$ symbol-bootstrap config -a dual -p testnet
v1.1.9
$ node -v
v16.20.2
# 念の為、削除
$ sudo npm uninstall -g symbol-bootstrap
$ sudo npm install -g symbol-bootstrap@1.1.9
$ symbol-bootstrap -v
symbol-bootstrap/1.1.9 linux-x64 node-v16.20.2
別ディレクトにて暗号化ファイルを作成
$ cd v1.1.9
$ symbol-bootstrap config -a dual -p testnet
nvmでNodejs20を入れる&bootstrapを最新版にする
# 古いNodejsを削除
$ sudo apt-get remove nodejs npm
# シェルの再起動
$ exec $SHELL -l
# nvmインストール(~/.bashrcをコメントアウトしてる場合はコメントアウトを解除のみでもOK)
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
$ source ~/.bashrc
$ nvm -v
0.39.7
# nvmでNodejs20をインストール
$ nvm install 20
$ node -v
v20.11.0
# symbol-bootstrapのインストール(sudo 不要,最新版)
# 古いのが残っている可能性があるので最新版に上げる
$ npm install -g symbol-bootstrap
$ symbol-bootstrap -v
symbol-bootstrap/1.1.10 linux-x64 node-v20.11.0
v1.1.8で作成した暗号化ファイルを復号
$ symbol-bootstrap decrypt --password 12345 --source target/addresses.yml --destination plain-addresses.yml
2024-01-31T02:02:22.136Z info Decrypted file plain-addresses.yml has been created! Any private keys on this file are now in plain text. Remember to remove the file!
$ cat plain-addresses.yml
version: 2
networkType: 152
nemesisGenerationHashSeed: 7FCCD304802016BEBBCD342A332F91FF1F3BB5E902988B352697BE245F48E836
nodes:
-
name: node
friendlyName: 7FAC686
roles: Peer,Api
main:
privateKey: 53429DBA768AFC995C39ABB540C8A345C1BCB01D374857F1D3BCA6E979C328B8
publicKey: 7FAC686C5CB78EBC761D5299BD25BB81040F7F1C45651F2C4A1B255FF7320159
address: TDTHZO2BG5LL5SAJZMIZXA2DP43OOJP44XXNKUA
transport:
privateKey: 04C8DC86A25621AAF88C9A0535BEA51A9F48D515DAEF2C2BA06640D2C66067E2
publicKey: EDE246EDBD739EF21F6CA18B3BCDCC82D64EF1318079B1F9D7FB6913083B95E8
address: TAHB3A5R5FOANDULOHN3VGZQV5O2FV7ABQPFBFA
remote:
privateKey: 7B06D3924A055B396E770D43A99876669DDA63CF72516BEE60CAC38C4F7E8205
publicKey: 6D2139EFA099309C0D02E8130A1D3BC64E12A97E7904B51E97D7A5505DE2B0F8
address: TCVY3DSN57LBFJHSZTOKFAMP4UCBX7B4OR7DWXI
vrf:
privateKey: 5D65E60961E603554DFFB2FA0C3EC72D5EC755A7E80694AC495D5D63EAF5BF78
publicKey: 40B1E309368DDDFEFBCC44FEBF77EAF591721530336EEA4AFD0A5832413DF27B
address: TC5ORDOVWZ3LUNGPQMNRK7HQAL2HGRCCDNSB6RQ
v1.1.9で作成した暗号化ファイルを復号
$ symbol-bootstrap decrypt --password 12345 --source target/addresses.yml --destination plain-addresses.yml
2024-01-31T02:03:44.505Z info Decrypted file plain-addresses.yml has been created! Any private keys on this file are now in plain text. Remember to remove the file!
$ cat plain-addresses.yml
version: 2
networkType: 152
nemesisGenerationHashSeed: 49D6E1CE276A85B70EAFE52349AACCA389302E7A9754BCF1221E79494FC665A4
nodes:
-
name: node
friendlyName: 84AF3CA
roles: Peer,Api
main:
privateKey: 9FE8D70080DBB175B43428B01DACAB2326C0CE6C65C74589EE530D3E0A4D985B
publicKey: 84AF3CA8F96B7A468010C6F23ABF27CD65A873FDD06E3B1C7A4F38D98B0B0DF1
address: TCM7ABZP3UE5BV7DJOTL6MGO4FDSC7PS2MZJO4Y
transport:
privateKey: F0E1A9E5563DBA85BE0CB2E20011992A344BA147E2D43B5BBCAD066C5D8FE9C1
publicKey: C2AA3AE8878733A64916F8C90E531DAFD09FC2A0415FA0DB7E1745FB8D95CE05
address: TCM54JXYAHMQ5WDRSFCEMMR6QGI4O2FIQCZHYGQ
remote:
privateKey: 47DE9106E4B6B321F6BE17E3532622A64AF72C94CBEB1489F7E7FFCA435E929A
publicKey: 7347676B9538F9C40E38974F1352B115B744F2FADE72C5A7B53C5F1B848C5C4D
address: TBW3R3DQZNPSXL4QCA2S5UZWWLM2KIJYFC3RRMY
vrf:
privateKey: 187E571F04F39112AF1835401BEB95664C2236DEA78CAAFB4AB7D27CB4BAEF08
publicKey: 109EC2F158F2B64B55A7E58B1AB22D9075606BF9E574EDE77134E005CD85751E
address: TBWVZIHXQMIAGHCF2AK4I3TZ6FCUU5QDE33NKLI
..................なんでや..........やり方が悪いんか?..............もうだめだ...........
Nodejsの18を挟むと発生する可能性があるかもとのことですが、、、もう力尽きましたw
ってかタイトル「復号できない」じゃなくて「復号できる」の方が良かったかも??
復号できないファイルがどのタイミングで生成されるのか(復号できない組み合わせ)を突き止めたかったですが、流石にこれ以上は辛いので以上で検証を終わります。
終
制作・著作
━━━━━
ⒹⒶⒾ
PS.
OSのバージョンも関係してそう。
まぁ、ワークアラウンドとしては以下の記事が参考になるので、もし復号できないような事態になったらそちらを参照してください〜