Commit graph

55 commits

Author SHA1 Message Date
wussler
e65ed17b41
Refactor api (#6)
* Refactor library, remove duplicates

* Rebuild structure to use Messages and Signature models

* Use PGPSplitMessage

* Remove signature model

* Various fixes

* Add helpers with tests

* Fixes, add some docs, add tests

* Add attachment helpers

* Add helpers Symmetric encryption

* Edit docs + examples

* Rename kr to keyRing

* Various fixes for documentation

* Edit JSON handling functions, add decrypt keyring via token

* Add proposal changes doc

* Fix CI

* Drop *Message functions, join CleartextMessage and BinaryMessage

* Change canonicalization and trimming only to text signatures

* Add cleartextsignature, detach signature from message model, move helpers

* Documentation, remove optional parameters

* Move verification to separate model

* Don't return message in VerifyDetached

* Update table of contents in readme

* Appease golint

* Run go fmt

* Rename Encrypt/DecryptMessageWithPassword to ..WithToken

These functions shouldn't be used with user-provided passwords,
as they don't do any key-stretching.

* Change key generation usernames
2019-06-03 17:00:01 +02:00
Daniel Huigens
4ef882c564 More documentation fixes 2019-05-15 15:17:03 +02:00
wussler
388fa872e7 Rename functions, clarify examples (#3) 2019-05-15 14:56:49 +02:00
wussler
b3047cee4d Improve docs for keyrings (#2) 2019-05-15 14:36:04 +02:00
Daniel Huigens
7d9930b8e0 Improve documentation and naming
- Rename pmmime to gomime
- Rename pmKeyObject to pgpKeyObject
2019-05-15 14:34:22 +02:00
Daniel Huigens
30ee92e63b Rename pmcrypto.go to gopenpgp.go 2019-05-15 13:51:42 +02:00
wussler
b074657c90 Add tests, remove duplicate signing functions (#1) 2019-05-15 13:48:47 +02:00
Daniel Huigens
d4cdec5229 Move subtle.go to its own package 2019-05-15 00:35:39 +02:00
Daniel Huigens
bb1be4a43b Rename PmCrypto to GopenPGP 2019-05-14 18:12:35 +02:00
Daniel Huigens
536a499f94 Rename go-pm-mime to go-mime 2019-05-14 18:09:06 +02:00
Daniel Huigens
da2e0f77f0 Rename package to gopenpgp 2019-05-14 18:09:06 +02:00
Aron Wussler
b42e382224 Add signature tests, fix tests 2019-05-14 16:08:25 +00:00
Daniel Huigens
4081e693fc Fix build
`errors` import was missing due to conflicting PRs.
2019-05-14 16:51:02 +02:00
Daniel Huigens
0931705fce Merge branch 'addexamples' into 'master'
Add examples

See merge request ProtonMail/go-pm-crypto!20
2019-05-14 14:44:08 +00:00
Aron Wussler
78e3abb0d8 go vet and lint
* Naming
    * If this is not some OpenPGP standard I follow rule that `DES` should be
      upper case as it is abreviation and `Triple` should be camel-case as it
      is normal word hence `TripleDES`
    * rename `errors2` -> `errorsPGP`
* long lines
    * https://github.com/golang/go/wiki/CodeReviewComments#line-length
    * I bit improved long lines based on my folding
    * reuse type in definition if possible i.e. `a string, b string, c string` -> `a,b,c string`
    * `if long_statetent(); err!=nil {` -> `long_statement;↵ if err!=nil {`
    * spaces around operators (e.g. `a + b` -> `a+b`)
* removing empty lines on start and end of scope
* comments
    * on all exported functions
    * start with function name
* import:
    * order in alphabet
    * separate native, golang.org/x/ and our libs
2019-05-14 14:42:38 +00:00
William Gotti
0421e1c829 Add Encrypt/Decrypt examples 2019-05-14 15:45:15 +02:00
Daniel Huigens
b1e3bd78d1 Don't loop forever when passed an incorrect password 2019-05-14 13:34:42 +00:00
William Gotti
e1098f7d34 refactor functions and merge in keyring 2019-05-14 08:07:49 +00:00
Aron Wussler
8af460ba61 Create key.go unit tests 2019-05-13 14:06:54 +00:00
William Gotti
b820c14c1a Remove unused code + handle errors 2019-05-13 12:42:29 +00:00
William Gotti
5cdec38a18 fix typo / improve documentatation 2019-05-13 12:33:01 +00:00
Jakub
9b75197da8 fix rsa type 2019-05-10 12:53:48 +02:00
Jakub
532ce66247 found TODO while patching android 2019-05-10 08:08:03 +02:00
Aron Wussler
56a73b1532 Add new key tests 2019-05-09 20:13:30 +02:00
Aron Wussler
fd27ec08fb Fix existing tests, move large constants to files 2019-05-09 18:19:14 +02:00
Daniel Huigens
2091fc106c Use new KeyExpired function 2019-04-27 07:32:20 +02:00
Daniel Huigens
ea2fcb9438 Handle encrypt error in EncryptAttachment 2019-04-27 07:32:20 +02:00
Jakub
99c48c2e4e fix crash on missing keyring 2019-03-07 17:39:34 +01:00
Jakub
968888eb0e change error message pmapi -> pm-crypto 2019-03-07 17:03:16 +01:00
Jakub
36b497d591 fix compile 2019-03-07 16:56:12 +01:00
Jakub
37459ffa7b first key id 2019-03-07 15:15:35 +01:00
Jakub
a92113e341 format and comment 2019-03-07 14:23:38 +01:00
Jakub
8f4bbfc780 return decrypt error 2019-03-07 14:08:17 +01:00
Jakub Lehotsky
b218f523af Methods use + unit tests update 2019-01-11 00:23:00 +01:00
Jakub Cuth
ec2deeb892 Merge branch 'feat/scrypt-cost-param' into 'feat/pmapi-crypto-refactoring'
Parameterize cost factor N of scrypt

See merge request ProtonMail/go-pm-crypto!6
2019-01-07 12:42:14 +00:00
Jakub Lehotsky
1ac42ecce1 Merge branch 'feat/pmapi-crypto-refactoring' of https://gitlab.protontech.ch/ProtonMail/go-pm-crypto into feat/pmapi-crypto-refactoring 2019-01-07 12:39:02 +01:00
Jakub Lehotsky
39f5b3af18 Method from go-pmapi merge 2019-01-07 12:36:57 +01:00
Daniel Huigens
102d7c2d5f Parameterize cost factor N of scrypt 2018-12-19 11:52:52 -05:00
Daniel Huigens
9c0a78e7e2 Add symmetric AES encryption functions 2018-12-03 15:08:04 +01:00
Jakub Lehotsky
d7f0550a4b Low-memory garbage collector 2018-11-22 10:53:14 +01:00
Jakub Lehotsky
686d4f1b7d Medning wrong commit 2018-11-22 00:01:18 +01:00
Jakub Lehotsky
8cf5054ff2 Readded deleted sym.encryption methods 2018-11-21 23:44:33 +01:00
Jakub Lehotsky
fc706ffa3e Signing/unlocking entities simplification 2018-11-21 21:11:30 +01:00
Jakub Lehotsky
d57b71e5ec Android-side KeyRing reuse refactoring support 2018-11-09 13:03:46 +01:00
Jakub Lehotsky
984f8eb391 Android stable version 2018-11-09 02:08:39 +01:00
Jakub Lehotsky
3fe6899fbb Android stable version 2018-11-09 02:03:19 +01:00
Jakub Lehotsky
36f8e2d437 Issue #3 - forgotten added new files 2018-11-05 23:01:53 +01:00
Jakub Lehotsky
fdd1a727cb Issue #3: mobile client fallback version 2018-11-05 22:55:45 +01:00
Jakub Lehotsky
0bf075d49d Minor build fixes 2018-11-01 17:03:43 +01:00
Jakub Lehotsky
b3e6e67cac Refactor: Moved relevant parts of Key and KeyRing objs from go-pmapi 2018-09-20 15:20:45 +02:00