From e6a863de497b6cb5fca85d80a520b0e37502c4ab Mon Sep 17 00:00:00 2001 From: wussler Date: Mon, 20 Jul 2020 16:49:54 +0200 Subject: [PATCH] Update documentation (#63) --- CHANGELOG.md | 10 +++++++++- README.md | 10 +++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8aa2094..9eb6b67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 (key *Key) GetEntity() *openpgp.Entity ``` +- Helpers for binary message encryption and decryption +```go +EncryptBinaryMessageArmored(key string, data []byte) (string, error) +DecryptBinaryMessageArmored(privateKey string, passphrase []byte, ciphertext string) ([]byte, error) +``` + ### Changed - Improved key and message armoring testing - `EncryptSessionKey` now creates encrypted key packets for each valid encryption key in the provided keyring. @@ -33,7 +39,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Public key armoring headers - +- `EncryptSessionKey` throws an error when invalid encryption keys are provided +- Session keys' size is now checked against the expected value to prevent panics + ## [2.0.1] - 2020-05-01 ### Security - Updated underlying crypto library diff --git a/README.md b/README.md index 623ffb8..2a3a6cb 100644 --- a/README.md +++ b/README.md @@ -151,13 +151,13 @@ const passphrase = []byte(`the passphrase of the private key`) // Passphrase of // encrypt plain text message using public key armor, err := helper.EncryptMessageArmored(pubkey, "plain text") +// decrypt armored encrypted message using the private key and obtain plain text +decrypted, err := helper.DecryptMessageArmored(privkey, passphrase, armor) + // encrypt binary message using public key armor, err := helper.EncryptBinaryMessageArmored(pubkey, []byte("plain text")) -// decrypt armored encrypted message using the private key and got plain text -decrypted, err := helper.DecryptMessageArmored(privkey, passphrase, armor) - -// decrypt armored encrypted message using the private key and got binary +// decrypt armored encrypted message using the private key expecting binary data decrypted, err := helper.DecryptBinaryMessageArmored(privkey, passphrase, armor) ``` @@ -173,7 +173,7 @@ armor, err := helper.EncryptSignMessageArmored(pubkey, privkey, passphrase, "pla decrypted, err := helper.DecryptVerifyMessageArmored(pubkey, privkey, passphrase, armor) ``` -With binary data or advanced modes: +For more advanced modes the full API (i.e. without helpers) can be used: ```go // Keys initialization as before (omitted) var binMessage = crypto.NewPlainMessage(data)