Official Go implementation of the Ethereum protocol
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
go-ethereum/accounts/scwallet
Guillaume Ballet 714675cd2a Upgrade to keycard app v2.1.1 6 years ago
..
README.md Upgrade to keycard app v2.1.1 6 years ago
apdu.go accounts, console: frendly card errors, support pin unblock 6 years ago
hub.go Update a comment to reflect the workings of the updated system 6 years ago
securechannel.go Fix linter issues 6 years ago
wallet.go Upgrade to keycard app v2.1.1 6 years ago

README.md

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.