Commit graph

21 commits

Author SHA1 Message Date
Aron Wussler
dcc575e039 Release version 2.4.0 2021-12-21 18:42:12 +01:00
Aron Wussler
130472d5a5 Release 2.3.0: Update go-crypto, add Key.IsRevoked and fix key.IsExpired 2021-11-15 15:46:42 +01:00
Aron Wussler
64c051f0d9 Generate keys with compression & release 2.2.3 2021-09-21 11:20:36 +02:00
marinthiercelin
c46ed8ed9e
Add a streaming api to KeyRing and SessionKey (#131)
* barebone streaming functionality

* encryption needs to return a writecloser

* added eof check

* workaround for reader problem with copies

* separate mobile wrappers from main api

* add a clone in the read result to avoid memory corruption

* refactor to reuse code, and fix verification

* have to give the verify key at the start of the decryption

* enfore readAll before signature verification

* streaming api for SessionKey

* add split message stream apis

* name interface params

* fix streaming api so it's supported by go-mobile

* hide internal writeCloser

* fix nil access

* added detached sigs methods

* started unit testing

* unit testing and fixed a bug where key and data packets where inverted

* remove unecessary error wrapping

* figured out closing order and error handling

* add GC calls to mobile writer and reader

* remove debugging values and arrays

* writer with builtin sha256

* unit testing the mobile helpers

* comments and linting

* Typo in error

Co-authored-by: wussler <aron@wussler.it>

* Add GetKeyPacket doc

Co-authored-by: wussler <aron@wussler.it>

* Add rfc reference in comments

Co-authored-by: wussler <aron@wussler.it>

* small improvements

* add compatibility tests with normal methods

* remove unecessary copies in the tests

* update go-crypto to the merged changes commit

* update comments of core internal functions

* remove unused nolint comment

* group message metadata in a struct

* fix comments

* change default values for metadata

* change the mobile reader wrapper to fit the behavior of java

* remove gc calls in the wrappers to avoid performance penalties

* bring back the former Go2MobileReader to be used for ios

* Update crypto/keyring_streaming.go

Co-authored-by: wussler <aron@wussler.it>

* return an error when verifying an embedded sig with no keyring

* Update crypto/sessionkey_streaming.go

Co-authored-by: wussler <aron@wussler.it>

* linter error

* update changelog

* update changelog

Co-authored-by: wussler <aron@wussler.it>
2021-06-30 16:49:30 +02:00
Daniel Huigens
9126511a96
Update go-crypto (#129)
* Update go-crypto

* Edit changelog

Co-authored-by: Aron Wussler <aron@wussler.it>
2021-04-28 18:33:14 +02:00
marinthiercelin
973856d299
Add new attachment processor that uses pre-allocated buffer (#120) 2021-03-29 20:46:47 +02:00
marinthiercelin
b5823b9dee
Update to go 1.16 for mobile builds (#121)
* modified build script to work with updated fork of go-mobile

* changed spacing and added trace for easier debugging

* fixed issue with user input overwritten

* removed mentions of make

* use go 1.16 in builds

* disabled some linters

* updated change log

Co-authored-by: wussler <aron@wussler.it>
2021-03-29 16:29:34 +02:00
Daniel Huigens
32842f4135 Update go-crypto 2021-03-17 14:29:41 +01:00
marinthiercelin
2a4ac0999b
Change gomobile fork to use the github.com/ProtonMail/go-mobile fork (#107)
* changed the go-mobile fork to use PM's fork

* changed build dir in build.sh

* changed the build dir so we need to change the upload source

* fix syntax err in github action

* fixed the error with the new build dir

* added the java package flag for android builds

* removed the other go-mobile forks from the go.sum

Co-authored-by: marin thiercelin <marin.thiercelin@pm.me>
2020-12-09 10:03:39 +01:00
Daniel Huigens
d0daa53ca6
Update x/crypto fork to github.com/ProtonMail/go-crypto (#106) 2020-12-08 18:34:39 +01:00
wussler
385e6d21d2
Drop regex for canonicalization (#102)
* Drop regex for canonicalization

* Fix CI
2020-12-01 18:09:25 +01:00
Daniel Huigens
f8d9ba516a Update ProtonMail/crypto 2020-11-12 13:53:46 +01:00
wussler
371d429001
WIP: Add compression to API (#91)
* Add compression to API

* Add docs

* Use defaults for a simpler interface

* Update x/crypto

* Fix ecdsa key types for lib update
2020-11-04 17:40:45 +01:00
wussler
6b2ac0b11c
Migrate CI to actions, build artifacts (#89)
* Create go workflow

* Delete travis config

* Update build script

* Create apple workflow

* Create android workflow

Co-authored-by: marin thiercelin <marin.thiercelin@pm.me>
2020-10-19 10:07:25 +02:00
Daniel Huigens
486e1220a1
Update ProtonMail/crypto (#42) 2020-04-25 16:03:49 +02:00
wussler
3c79f40acb
Add SHA256 fingerprint utils and helpers (#41) 2020-04-07 14:59:25 +02:00
wussler
54f45d0471
Openpgp security update (V2) (#31)
* Change keyring unlock functionalities

* Add keyring#Lock, keyring#CheckIntegrity, tests

* Update helpers, fix bugs

* Update go.mod with ProtonMail/crypto commit

* Change key management system

* Clear keys from memory + tests

* Create SessionKey with direct encryption for datapackets. Move symmetrickey to password.

* Fix upstream dependencies

* Update module to V2, documentation

* Add linter

* Add v2 folder to .gitignore

* Minor changes to KeyID getters

* Remove old changelog

* Improve docs, remove compilation script
2019-12-27 19:35:43 +01:00
Daniel Huigens
7e8dd9ab95 Update ProtonMail/crypto 2019-08-14 17:34:13 +02:00
Daniel Huigens
781681b548 Use Entitiy.EncryptionKey instead of reimplementing it
This fixes us sometimes using subkeys whose key flags allow
encryption but don't have a valid algorithm for encryption,
or that are expired, etc.
2019-06-04 16:45:33 +02:00
Daniel Huigens
82d49bf235 Update dependencies 2019-05-21 16:09:42 +02:00
Daniel Huigens
def57f1f88
Switch to Go modules (#7) 2019-05-21 15:43:33 +02:00