Description
e4go v1.1.0 brings public key support to e4client, more flexibility and control over the storage of the client data, and some minor bug fixes and performance improvements.
See the upgrade instructions below to migrate from e4go v1.0.x
Improvements
e4go:
- Reworked client storage to allow more storage options than a file (such as memory, browser local storage...). The new storage interface is compatible with the generated bindings, see the updated README for an example implementation of an Android FileStore. (#35)
- Added SetC2Key command support and performance improvement by storing a precomputed shared key instead of recalculating on each calls (#36)
e4client
- Added public key mode support (#24)
Fixes and bugs
e4go
- SetIDKey command was rejecting Ed25519 keys (#39)
- Switched dependency from github.com/agl/ed25519/extra25519 to github.com/teserakt-io/golang-ed25519/extra25519 due to repository deprecation notice (#41)
- Typo fix (#38)
e4keygen
- E4 Keygen now truncate an existing output file when
--force
flag is used (#40)
Known issues and upgrade instructions
- Migrating to the new storage interface:
e4go <= v1.0.1
client, err := e4.NewClient(config, "./myClient.json")
e4go >= v1.1.0
saveFile, err := os.OpenFile("./myClient.json", os.O_CREATE|os.O_RDWR, 0600)
if err != nil {
panic(err)
}
defer saveFile.Close()
client, err := e4.NewClient(config, saveFile)
Changelog
4d1b9ca Added extra validations when loading a saved client
4cddb5c Added missing return
b35ef1e Added missing support for ed25519 key sizes on SetIDKey command
8238455 Added more storage examples using filsystem for go and android
3cac3b1 Added more tests to sharedkey feature
925e0b9 Added pubkey support to e4client
796f2a6 Added seek error checks
227b97e Added shared key precomputation. Added new SetC2Key command
922698e Added truncate on open flags to ensure target key file does not contains additionnal data
66c353e CI indicator for github actions.
8e781f6 Cleaned up write
705b086 Cleaned up write
0e9794a Fixed build error
2dec803 Fixed code style and documentation
fb0b816 Fixed comment
a5fd526 Fixed doc typo
7c04942 Fixed outdated method reference in readme
d030eca Fixed variable name
2dfa90a Improved inMemoryStore
14bf3a7 Improved java / kotlin sample code
6779203 Improved test readability
04d08b3 Merge branch 'develop' into av/ed25519-dependency
09fad8f Merge pull request #24 from teserakt-io/fb/e4client-pubkey
cb86271 Merge pull request #33 from teserakt-io/add-Godoc-reference-to-README
a8c8486 Merge pull request #35 from teserakt-io/fb/storage-abstraction
f0b0db4 Merge pull request #36 from teserakt-io/fb/precompute-sharedkey
543cbd0 Merge pull request #38 from teserakt-io/fb/ciphertext-typo
b95096f Merge pull request #39 from teserakt-io/fb/setIDKey-keysize-fix
0a0c43d Merge pull request #40 from teserakt-io/fb/fix-keygen-overwrite
7670bd1 Merge pull request #41 from teserakt-io/av/ed25519-dependency
742711b Merge remote-tracking branch 'origin/develop' into fb/e4client-pubkey
4a6a13f Merge remote-tracking branch 'origin/develop' into fb/storage-abstraction
ffa35d8 Merge remote-tracking branch 'origin/develop' into fb/storage-abstraction
bca3348 README: add Godoc badge for easy access
4e485d1 Removed e4 filesystem dependancy
b0704c7 Renamed e4.Store to e4.ReadWriteSeeker
8fb7337 Renamed memoryStore -> inMemoryStore
53d6091 Replaced ErrToShortCipher with ErrTooShortCipherText. Fix #37
79b92d7 Replaced crytpo/ed25519 by golang.org/x/crypto/ed25519
6a62d7d Reverted readme link
8f750d8 Review fixes
580c6f2 Reworked client tests to improve readability
8f52277 Simplified how e4client loads from file
6c2df16 Switch to teserakt ed25519 extra repository.
6ad2437 Update dependencies to use Elligator-free repo.
fd648d8 Updated store interface to allow android bindings compatibility.
04dac96 go mod tidy