go-ethereum/accounts/scwallet
2019-04-08 13:21:22 +02:00
..
apdu.go accounts, console: frendly card errors, support pin unblock 2019-04-08 13:19:37 +02:00
hub.go Update a comment to reflect the workings of the updated system 2019-04-08 13:21:22 +02:00
README.md Upgrade to keycard app v2.1.1 2019-04-08 13:21:22 +02:00
securechannel.go fix unnecessary condition linter warning 2019-04-08 13:21:22 +02:00
wallet.go refresh the account list when initializing the card 2019-04-08 13:21:22 +02:00

Using the smartcard wallet

Requirements

  • A USB smartcard reader
  • A keycard that supports the status app

Preparing the smartcard

You can use status' keycard-cli and you should get version 2.1.1 of their smartcard application

You also need to make sure that the PCSC daemon is running on your system.

Then, you can install the application to the card by typing:

keycard install -a keycard_v2.1.cap

Then you can initialize the application by typing:

keycard init

Finally, you need to have the card generate a new master key:

keycard shell <<END
keycard-select
keycard-set-pairing PAIRING_KEY PAIRING_INDEX
keycard-open-secure-channel
keycard-verify-pin CARD_PIN
keycard-generate-key
END

Usage

  1. Start geth with the console command
  2. Check the card's URL by checking personal.listWallets:
  listWallets: [{
      status: "Online, can derive public keys",
      url: "pcsc://a4d73015"
  }]
  1. Open the wallet, you will be prompted for your pairing password, then PIN:
personal.openWallet("pcsc://a4d73015")
  1. Check that creation was successful by typing e.g. personal. Then use it like a regular wallet.

Known issues

  • Starting geth with a valid card seems to make firefox crash.