aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/key.go
Commit message (Collapse)AuthorAgeFilesLines
* crypto: return common.Address rather than raw bytesobscuren2015-06-051-1/+1
|
* Update key store to new spec but keep address field for nowGustav Simonsson2015-05-121-25/+25
| | | | * Also fix address types post-rebase
* Address pull request comments; key header and hex encodingGustav Simonsson2015-05-121-17/+35
| | | | | | * Remove key header from unencrypted key file format and replace it with a version field * Change encoding of bytes in key files from base64 to hex
* Revert "Add key header to unencrypted key file"Gustav Simonsson2015-05-121-12/+5
| | | | This reverts commit a94d4ba0b53c4558ab838aaed635a2ff66ddfa53.
* Add key header to unencrypted key fileGustav Simonsson2015-05-121-5/+12
|
* Add key header to encrypted keysGustav Simonsson2015-05-121-4/+19
| | | | | | | * Add key header containing key version, kdf and kdf params * Store key header as JSON in the key file * Read in KDF params from key header * Include key header in MAC calculation and MAC verification
* Use common.Address type for accounts.AddressGustav Simonsson2015-05-121-4/+5
|
* Improve key store passphrase cryptoGustav Simonsson2015-05-121-0/+1
| | | | | | | * Change MAC-then-Encrypt to Encrypt-then-MAC * Change AES256 to AES128 * Use first 16 bytes of KDF derived key for AES and remaining 16 for MAC
* import/export accountszelig2015-03-271-7/+11
| | | | | | | | | | | - cli: add passwordfile flag - cli: change unlock flag only takes account - cli: with unlock you are prompted for password or use passfile with password flag - cli: unlockAccount used in normal client start (run) and accountExport - cli: getPassword used in accountCreate and accountImport - accounts: Manager.Import, Manager.Export - crypto: SaveECDSA (to complement LoadECDSA) to save to file - crypto: NewKeyFromECDSA added (used in accountImport and New = generated constructor)
* Use ECDSA instead of ellipticobscuren2015-03-111-6/+3
|
* crypto: add key loading functionsFelix Lange2015-02-101-1/+2
|
* Address pull request commentsGustav Simonsson2015-01-281-1/+1
| | | | | | | | | * Use crypto.Sign instead of directly calling secp256k1 lib * Rename UserAccount to Account and Addr to Address (for consistency) * Change AccountManager.Sign to take ptr to Account instead of address byte array * Simplify copying of Accounts in Accounts() * PubkeyToAddress and GetEntropyCSPRNG now exported
* Add accounts package and refactor key storesGustav Simonsson2015-01-261-12/+13
| | | | | | | | * Add initial UserAccount and AccountManager structs * Add NewAccount, Sign and Accounts functions * Refactor key stores to use key address as main identifier while keeping the UUID. * Use key address as file/dir names instead of UUID
* Add ImportPreSaleKeyGustav Simonsson2015-01-211-4/+5
| | | | | | * ImportPreSaleKey takes a KeyStore, a presale key JSON (e.g. file content) and a password string. It stores the key in the given key store. * Refactored common AES decryption and moved some functions to crypto.go
* Address pull request commentsGustav Simonsson2015-01-201-5/+1
| | | | | * Allocate with composite literal instead of new * Remove check of number of bytes read from rand
* Address pull request commentsGustav Simonsson2015-01-161-122/+28
| | | | | | | | * Remove flags field from key struct * Change JSON struct fields from string to []byte * Change GenerateNewKey API to take io.Reader for random source * Remove mixing entropy source function * Use testing Fatal in tests
* Address pull request commentsGustav Simonsson2015-01-161-11/+11
| | | | | | | | | * Simplify scrypt constants with const block * Add key store constructors and make their types private * Simplify key store and file namings to be less Java Enterpriseā„¢ * Change test error logging to use t.Error(err) * Reduce number of naked returns (just like my ex-gf) * Simplify file reading path code
* Add new key_store interface and two new key storesGustav Simonsson2015-01-161-0/+205
* Add new generic key_store interface * Add new plaintext key store storing unprotected keys on disk * Add new encrypted key store storing encrypted keys on disk * Add new entropy mixing function using OS and go runtime sources