LoginSignup
9
4

復号できない パート2

Posted at

はじめに

この記事は前回の記事(以下リンク参照)の続きです。

以下のような情報を提供してもらったので、試してようと思います。

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:joy:

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:innocent:

ってかタイトル「復号できない」じゃなくて「復号できる」の方が良かったかも??:joy:

復号できないファイルがどのタイミングで生成されるのか(復号できない組み合わせ)を突き止めたかったですが、流石にこれ以上は辛いので以上で検証を終わります。

  終
制作・著作
━━━━━
 ⒹⒶⒾ


PS.
OSのバージョンも関係してそう。
まぁ、ワークアラウンドとしては以下の記事が参考になるので、もし復号できないような事態になったらそちらを参照してください〜

9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4