Commit graph

34 commits

Author SHA1 Message Date
Daniel Huigens
cf8b8d4a80 Update go-crypto 2023-06-19 18:20:45 +02:00
M. Thiercelin
524e1b89a9
Update go-crypto, go-mime and prepare v2.6.1 release 2023-03-22 13:23:35 +01:00
M. Thiercelin
d3fa075f06
Upgrade dependencies
Upgrade golang.org/x/crypto to v0.7.0
2023-03-13 13:23:47 +01:00
M. Thiercelin
10f6e3fa07
Fix the build pipeline for iOS and Android
Use the latest version of gomobile instead of the fork of protonmail.
Use go get gomobile in the build script instead of adding it to the
go.mod by default.
Fix the script to work with latest gomobile
2023-03-13 11:13:45 +01:00
Daniel Huigens
ba8a846837 Update go-crypto 2023-02-20 12:53:44 +01:00
M. Thiercelin
6093df57b9
Prepare release of version 2.5.2 2023-01-26 12:24:27 +01:00
Aron Wussler
47534e9288 Upgrade go crypto and adapt SEIPD 2023-01-25 14:42:41 +01:00
Aron Wussler
0ce389aab2 Clean dependencies 2023-01-09 09:07:53 +01:00
Daniel Huigens
bb3363278f Update go-crypto 2022-12-15 16:15:22 +01:00
M. Thiercelin
8f70487a58
Update go-mime to latest 2022-10-31 15:07:19 +01:00
Aron Wussler
6a7e485872 Release version 2.4.10 2022-08-23 13:12:55 +02:00
Aron Wussler
a065bf20b0 Update go-crypto 2022-08-19 11:20:08 +02:00
M. Thiercelin
0e4303d086
Update github.com/ProtonMail/go-mime 2022-03-02 16:40:19 +01:00
Aron Wussler
5c9d4688cb Update go-crypto and prevent AEAD messages 2022-01-13 14:46:53 +01:00
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
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