7

I am having some troubles connecting either one of these two wallets to a local node on the same machine. The correct ports are listening (netstat -tulpn). The setup of TLS looks good, for example I get the correct response when poking the tezos node with:

./tezos-client -port 1234 -S get balance for xyz

In config.json I tried different flavors of "listen-addr" (both in "rpc" and "p2p"), 127.0.0.1, localhost, ::1, 0.0.0.0 + port numbers, nothing seems to work.

Perhaps it is the self-signed TLS certificate or the location of the files, any idea?

3
  • Please post the answer as an answer instead of inside your question! It will help mods understand that the question has actually been answered and you can also mark it as such which will help mods. Thanks
    – Ezy
    Apr 15, 2019 at 1:10
  • apologies for the confusion. I agree the answer should have been posted as a comment. This is what I wanted to do until I read the following text in the comment box: "Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting." Apr 16, 2019 at 8:33
  • Sorry you still got it wrong. Your should please post the answer as an “ANSWER”, not as a comment and not in the question itself. Please let me know if something is not clear in what i am saying.
    – Ezy
    Apr 16, 2019 at 10:59

1 Answer 1

2

SOLUTION (for TezBox web version)

Not as intuitive as one can imagine. The following has been done on a machine with Fedora OS running a Tezos node.
First as a user create a certificate and a key:

openssl req -x509 -newkey rsa:2048 -nodes -keyout server.key -new -out server.crt -subj /CN=localhost -reqexts SAN -extensions SAN -config <(cat /etc/pki/tls/openssl.cnf <(printf '[SAN]\nsubjectAltName=DNS:localhost,DNS:127.0.0.1,IP:127.0.0.1')) -sha256 -days 3650

Install node.js as root:

dnf install nodejs

(the above command will install also npm (js package manager))
install local-web-server, as root:

 npm install -g local-web-server

run local-web-server as a user:

  ws --https --hostname 127.0.0.1 --key /home/<user>/server.key --cert /home/<user>/server.crt --rewrite '/chains/* ->http://localhost:8732/chains/$1' -v

the command assumes that the certificate and the key are in /home/<user>, the Tezos RPC port is 8732, the default port for 127.0.0.1 is 8000 (the flag -v is for verbose output).

Use Chrome to connect to https://127.0.0.1:8000 and click on proceed to 127.0.0.1 (unsafe)
then type the f12 key and follow "view certificate" -> "details" -> "export" and save the certificate as PKCS #7 Certificates (e.g. output name localhost).
Make sure that nss-tools is installed (for other linux distros it is called libnss3-tools).
From the location where the localhost file has been saved, as a user type:

  certutil -d sql:/home/max/.pki/nssdb -A -t "P,," -n localhost -i localhost

Restart Chrome, now connecting to https://127.0.0.1:8000 should not show any warning.

Go to https://wallet.tezbox.com and open an existing/new wallet then go to setting (upper right rod) and replace https://rpc.tezrpc.me with https://127.0.0.1:8000


[addendum 04/10/19] It also works with Opera browser. Instead of using F12 to enter the developers mode, type Ctrl+Shift+I then go to security -> view certificate, the rest is the same. Green light for TezBox connected to a local node using Opera.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.