Documentation fixes (#43)

* Fix Comment - NewKeyFromReader

* Trailing whitespace, correct function name

* Update CHANGELOG

* update README

Co-authored-by: zugzwang <talbotvinnik@pm.me>
Co-authored-by: Aron Wussler <aron@wussler.it>
This commit is contained in:
zugzwang 2020-04-25 16:28:07 +02:00 committed by GitHub
parent 486e1220a1
commit 0f35072bc4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 9 deletions

View file

@ -5,8 +5,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [Unreleased]
### Security
- Updated underlying crypto library
### Fixed ### Fixed
- Fixed test `TestMultipleKeyMessageEncryption` - Fixed test `TestMultipleKeyMessageEncryption`
- Fixed garbage collection issues when compiled on gomobile, by copying byte slices
### Added ### Added
- SHA256 fingerprint support - SHA256 fingerprint support

View file

@ -1,4 +1,5 @@
# GopenPGP V2 # GopenPGP V2
[![Build Status](https://travis-ci.org/ProtonMail/gopenpgp.svg?branch=master)](https://travis-ci.org/ProtonMail/gopenpgp)
GopenPGP is a high-level OpenPGP library built on top of [a fork of the golang GopenPGP is a high-level OpenPGP library built on top of [a fork of the golang
crypto library](https://github.com/ProtonMail/crypto). crypto library](https://github.com/ProtonMail/crypto).
@ -92,7 +93,7 @@ Finally, build the application
```bash ```bash
sh build.sh sh build.sh
``` ```
This script will build for both android and iOS at the same time, This script will build for both android and iOS at the same time,
to filter one out you can comment out the line in the corresponding section. to filter one out you can comment out the line in the corresponding section.
## Examples ## Examples
@ -225,7 +226,7 @@ The output is an armored signature.
const privkey = `-----BEGIN PGP PRIVATE KEY BLOCK----- const privkey = `-----BEGIN PGP PRIVATE KEY BLOCK-----
... ...
-----END PGP PRIVATE KEY BLOCK-----` // Encrypted private key -----END PGP PRIVATE KEY BLOCK-----` // Encrypted private key
const passphrase = []byte("LongSecret") // Private key passphrase const passphrase = []byte("LongSecret") // Private key passphrase
var message = crypto.NewPlaintextMessage("Verified message") var message = crypto.NewPlaintextMessage("Verified message")
@ -360,26 +361,26 @@ pgpMessage := pgpSplitMessage.GetPGPMessage()
// And vice-versa // And vice-versa
newPGPSplitMessage, err := pgpMessage.SeparateKeyAndData() newPGPSplitMessage, err := pgpMessage.SeparateKeyAndData()
// Key Packet is in newPGPSplitMessage.GetKeyPacket() // Key Packet is in newPGPSplitMessage.GetBinaryKeyPacket()
// Data Packet is in newPGPSplitMessage.GetDataPacket() // Data Packet is in newPGPSplitMessage.GetBinaryDataPacket()
``` ```
### Checking keys ### Checking keys
In order to check that the primary key is valid the `Key#Check` function can be used. In order to check that the primary key is valid the `Key#Check` function can be used.
This operation is as of 2.0.0 fairly expensive, as it requires a signature operation. This operation is as of 2.0.0 fairly expensive, as it requires a signature operation.
It will be improved in the future versions, and possibly expanded to the subkeys, that are It will be improved in the future versions, and possibly expanded to the subkeys, that are
for now assumed to be correct thanks to the binding signature. for now assumed to be correct thanks to the binding signature.
```go ```go
const privkey = `-----BEGIN PGP PRIVATE KEY BLOCK----- const privkey = `-----BEGIN PGP PRIVATE KEY BLOCK-----
... ...
-----END PGP PRIVATE KEY BLOCK-----` // Encrypted private key -----END PGP PRIVATE KEY BLOCK-----` // Encrypted private key
const passphrase = []byte("LongSecret") // Private key passphrase const passphrase = []byte("LongSecret") // Private key passphrase
privateKeyObj, err := crypto.NewKeyFromArmored(privkey) privateKeyObj, err := crypto.NewKeyFromArmored(privkey)
unlockedKeyObj = privateKeyObj.Unlock(passphrase) unlockedKeyObj = privateKeyObj.Unlock(passphrase)
isVerified, _ := unlockedKeyObj.Check(); isVerified, _ := unlockedKeyObj.Check();
if !isVerified { if !isVerified {
// Handle broken keys // Handle broken keys
} }
``` ```

View file

@ -39,7 +39,7 @@ func NewKeyFromArmoredReader(r io.Reader) (key *Key, err error) {
return key, nil return key, nil
} }
// NewKeyFromReader reads an binary data into Key // NewKeyFromReader reads binary data into a Key object.
func NewKeyFromReader(r io.Reader) (key *Key, err error) { func NewKeyFromReader(r io.Reader) (key *Key, err error) {
key = &Key{} key = &Key{}
err = key.readFrom(r, false) err = key.readFrom(r, false)