- added security warning to producer API plugin
- made existing checks uniform and more robust
- added security error for wallet when its exposed to the LAN and unencrypted
EOSIO/eos#3598EOSIO/eos#3599
- new Beast based simple http_client in fc with support for TLS and non-TLS connections (only supports synchronous POST right now)
- added "Connection: close" to websocketpps http request handling as "keep-alive" is the default for HTTP/1.1 and it was confusing Beast
- add "sign_digest" endpoint to wallet_(api_)?plugin
- add support for signature-providers in producer_plugin which is a superset of the now deprecated "private-key" that can also suppot OOB signing methods like KEOSD
- add support for manually specifying root-certs
In addition to being unlocked, wallets now require their password to reveal their private keys.
RPC endpoint changes:
/v1/wallet/get_public_keys -- No change. This endpoint prints all public keys from all unlocked wallets.
/v1/wallet/list_keys -- This endpoint now requires two strings: the name of an unlocked wallet and its password. It will then reveal the public and private key pairs of that wallet. Be aware this means a slight change in behavior in that it is now impossible to query private keys from all unlocked wallets.
cleos changes:
wallet keys -- This command has been changed to print all public keys from unlocked wallets (corresponds to the get_public_keys endpoint). Be aware that there is a change in behavior due to different behavior in how get_public_keys works vs previous behavior: if there is no open wallet or all wallets are locked, wallet keys will now return a "no available wallet" or "locked wallet" error. Previously an empty list would be returned.
wallet private_keys -- This is a new command that maps to the list_keys endpoint. It will take the wallet name and password as arguments before printing the public/private key pairs.
This change adds the concept of a wallet being asked to create a new private/public key pair. It is a precursor to hardware key support in the wallet because hardware key stores don’t always have the concept of “importing” a key. It’s also beneficial as it gives an alternative means to `cleos create key` which if not careful can cause a private key to easily weasel its way in to a user’s shell history.
- rename eosd to eosiod
- rename eosc to eosioc
- rename eos-walletd to eosio-walletd
- fix wallet plugin
- fix producer plugin
- eosiod will now produce blocks every 500ms
- rename eos_chain to eosio_chain
- move include/eos to include/eosio for various libraries