Commit graph

414 commits

Author SHA1 Message Date
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
Aron Wussler
38a773b9aa Release version 2.1.8 2021-04-27 17:40:13 +02:00
wussler
c19faed5da
Add methods for embedded signatures using session keys (#128)
* Add methods to sign when using session keys

* Add mobile helpers for explicit decryption

* Add functions to CHANGELOG

* Fix linter
2021-04-27 17:38:25 +02:00
Aditya Wasan
3dd1711707
Add methods to get key capabilities (#125)
* Add methods to get key capabilities

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Use correct indetity to check for flags

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Fix lint

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Remove CanCertify and update CanSign to use SigningKey

Signed-off-by: GitHub <noreply@github.com>

* keyring: implement CanSign and CanEncrypt

Signed-off-by: GitHub <noreply@github.com>

* key/keyring: add tests for key capabilities

Signed-off-by: GitHub <noreply@github.com>

* Apply suggestions from code review

Renames CanSign to CanVerify and adds an extended test for public-only keys to confirm CanVerify is true for them.

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

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: wussler <aron@wussler.it>
2021-04-09 12:32:10 +02:00
wussler
80b9a7aca2
Release 2.1.7 (#123) 2021-03-30 12:06:50 +02:00
wussler
934571ce56
Fix AES tests for helpers (#122) 2021-03-30 11:46:32 +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
wussler
7b16cf94c8
Release 2.1.6 (#119) 2021-03-17 16:54:47 +01:00
Daniel Huigens
32842f4135 Update go-crypto 2021-03-17 14:29:41 +01:00
wussler
ff54225384
Fix various keys issues (#117)
* Fix armouring headers for public keys
* Fix error for session key decryption failure
2021-03-09 19:06:35 +01:00
wussler
27efcb4627
WIP: Add tests for attachments (#116)
* Add tests for attachments

* Fix CI

* Use go 1.15 for mobile
2021-03-08 17:59:03 +01:00
wussler
72062c4925
Release version 2.1.5 (#115) 2021-02-19 15:32:39 +01:00
marinthiercelin
cea3d0da4d
Removed the cloning of the final data in the attachment processor (#114)
* removed the cloning of the final data in the attachment processor

* fix linter
2021-02-19 14:54:31 +01:00
wussler
681ceb0546
Release v2.1.4 (#110)
* Release v2.1.4

* Loosen linter
2021-01-08 18:37:56 +01:00
marinthiercelin
e0deea82a3
add signcryption methods to the keyrings (#109)
* add signcryption methods to the keyrings

* added signing and verifying keyrings

* added nil checks

* added unit test for signcrypt

* updated changelog

* switched the keyrings in the api

* update the error messages

* changed the names of the keyRing variable
2020-12-17 12:58:25 +01:00
wussler
a42d48a203
Release 2.1.3 (#108) 2020-12-09 15:57:44 +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
71d595a366 Update changelog 2020-12-08 19:18:53 +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
6105a3bcc0
Improve attachment memory allocation (#105)
* Improve attachment memory allocation

* added explicit garbage collection

* redundant GC

* added GCs in attachment processor and a FreeOSMemory helper

* added changelog

* linting

* Remove commented call to debug.FreeOSMemory

Co-authored-by: marin thiercelin <marin.thiercelin@pm.me>
Co-authored-by: marinthiercelin <marin.thiercelin@epfl.ch>
2020-12-08 17:52:50 +01:00
wussler
75f27fd1df
Add key generation offset (#104)
* Add key generation offset

* Bump version to 2.1.2
2020-12-01 19:44:49 +01:00
wussler
385e6d21d2
Drop regex for canonicalization (#102)
* Drop regex for canonicalization

* Fix CI
2020-12-01 18:09:25 +01:00
wussler
5b1a42c2cd
Release v2.1.1 (#100) 2020-11-16 09:51:51 +01:00
wussler
4166d25a63
Allow multiple keypackets in session key decryption (#99)
* Fix session key decryption

* Break on all data packets

Co-authored-by: Daniel Huigens <d.huigens@protonmail.com>
2020-11-13 14:13:11 +01:00
Daniel Huigens
f8d9ba516a Update ProtonMail/crypto 2020-11-12 13:53:46 +01:00
wussler
8a9f9f8fa9
Release version 2.1.0 (#96) 2020-11-04 17:49:30 +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
marinthiercelin
9503b68f0c
Update the changelog with new helpers description (#93)
Co-authored-by: marin thiercelin <marin.thiercelin@pm.me>
2020-10-29 17:00:34 +01:00
marinthiercelin
062cca9201
Added helpers with encrypted signatures and unarmored binary ciphertexts (#83)
* added signcryption for binary ciphertexts

* fixing merge issues

* removed newlines before error handling

Co-authored-by: marin thiercelin <marin.thiercelin@pm.me>
2020-10-29 14:20:39 +01:00
wussler
53a85837e0
Improve error handling, fix linter (#92)
* Improve error handling, fix linter
2020-10-29 12:42:32 +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
wussler
d53bd4a351
Move getters to file excluded from android build (#88) 2020-10-14 18:28:12 +02:00
wussler
ac353fcbef
Make Time and Filename public (#87) 2020-10-13 13:14:09 +02:00
wussler
ce607e0fa8
Canonicalize line endings for text messages (#86)
* Canonicalize line endings for text messages

* Improve cleartext messages
2020-10-12 21:24:33 +02:00
wussler
a4d89bce32
Add filename and time properties to message (#85)
* Add filename and time properties to message

* Message time defaults to current time
2020-10-12 18:45:57 +02:00
wussler
7de8833ff6
Fix binary format for session key encryption (#84) 2020-10-12 12:17:10 +02:00
marinthiercelin
ada3fd0533
Signcryption (#82)
* added signcryption in the helpers

* changed the name of encrypted signature

* changed the name of an encrypted signature

Co-authored-by: marin thiercelin <marin.thiercelin@pm.me>
2020-10-07 15:26:36 +02:00
marinthiercelin
2b8d58d357
Fix gomobile compilation ssues (#81)
Co-authored-by: marin thiercelin <marin.thiercelin@pm.me>
2020-09-28 18:26:31 +02:00
wussler
16024c21ec
Move encrypt detached helper to avoid building on mobile (#79) 2020-09-14 09:19:33 +02:00
marinthiercelin
55c4bd994d
Additional helpers for iOS drive (#78)
* add tests

Co-authored-by: wussler <aron@wussler.it>
Co-authored-by: marin thiercelin <marin.thiercelin@pm.me>
2020-09-11 15:35:22 +02:00
wussler
64b3b45404
Fix mixed symmetric/asymmetric decryption (#77) 2020-09-01 11:07:30 +02:00
wussler
2f89b9fa0e
Add KeyIDs public API functionality (#76)
* Add public KeyIDs functions

* Add signature keyIDs functions

* Lint code
2020-09-01 10:02:13 +02:00
Ilya Chesnokov
1f4d966115
use aes256 for password encryption (#75) 2020-08-31 13:42:06 +03:00
marinthiercelin
39c2fa863e
new helpers for drive decryption (#73)
* new helpers for drive decryption

* modular helper functions and reciprocals

* removed duplicates helper functions

* added mobile wrapper

* unit tests for new helpers

Co-authored-by: wussler <aron@wussler.it>
2020-08-27 17:34:46 +02:00
Ilya Chesnokov
af371097e0
break for cycle in getEncryptionKeyIDs (#74)
break cycle on literal/aead/encrypted/compressed packets
2020-08-26 19:05:06 +03:00
marinthiercelin
475db8b1cb
Correction to README.md (#71) 2020-08-26 11:06:50 +02:00
wussler
fd9e7b40a9
Fix linter on CI (#67) 2020-08-04 11:08:31 +02:00
wussler
b152448673
Convert private to public keys in helpers to prevent locked errors (#66) 2020-08-04 10:04:40 +02:00
wussler
979fdb3f4b
Add ToPublic method to get a public key object from a private key (#65) 2020-07-22 17:13:23 +02:00