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:
parent
486e1220a1
commit
0f35072bc4
3 changed files with 14 additions and 9 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
17
README.md
17
README.md
|
|
@ -1,4 +1,5 @@
|
||||||
# GopenPGP V2
|
# GopenPGP V2
|
||||||
|
[](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
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue