Skip to content

Commit

Permalink
Merge pull request #25 from teserakt-io/fb/readme
Browse files Browse the repository at this point in the history
Readme fixes.
  • Loading branch information
diagprov committed Dec 28, 2019
2 parents 8d00905 + 8ad10a6 commit 7ffac1a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
10 changes: 9 additions & 1 deletion README.md
Expand Up @@ -20,7 +20,7 @@

This repository provides the `e4` Go package, the client library for [Teserakt's E4](https://teserakt.io/e4.html), and end-to-end encryption and key management framework for MQTT and other publish-subscribe protocols.

The `e4` package defines a `Client` object that has a minimal interface, making its integration straightforward via the following methods:
The `e4` package defines a `Client` object that has a minimal interface, making its integration straightforward via the following methods:
* `ProtectMessage(payload []byte, topic string)` takes a cleartext payload to protect and the associated topic, and returns a `[]byte` that is the payload encrypted and authenticated with the topic's key.

* `Unprotect(protected []byte, topic string)` takes a protected payload and attempts to decrypt and verify it. If `topic` is the special topic reserved for control messages, then the control message is processed and the client's state updated accordingly.
Expand Down Expand Up @@ -173,6 +173,14 @@ Therefore,

In order to have the key associated to a certain topic, you must instruct the C2 to deliver said topic key to the client.

## Client application

To try E4 without writing your own application, we created a simple [interactive client application](./cmd/e4client/) that you can use in combination with our [public demo server interface](https://console.demo.teserakt.io). You can directly [download](https://github.com/teserakt-io/e4go/releases) the client's binary for your platform or build it yourself, and then follow the instructions in the client's [README](./cmd/e4client/README.md).

## Keygen

To ease key creation, we also provide a [key generator](./cmd/e4keygen) that you can use to generate symmetric, Ed25519 or Curve25519 keys needed for E4 operations. You can directly [download](https://github.com/teserakt-io/e4go/releases) the keygen binary for your platform or build it yourself, and then follow the instructions in the keygen [README](./cmd/e4keygen/README.md).

## Contributing

See [CONTRIBUTING.md](./CONTRIBUTING.md).
Expand Down
2 changes: 1 addition & 1 deletion cmd/e4client/README.md
Expand Up @@ -18,7 +18,7 @@ Usage of ./bin/e4client:

Choose your own deviceID and a password (min 16 characters), and launch the client:
```
./bin/e4client -name deviceID -password superSecretDevicePassword -broker mqtt.teserakt.io:1883
./bin/e4client -name deviceID -password superSecretDevicePassword -broker mqtt.demo.teserakt.io:1883
```

This will start an E4 interactive shell, with commands to subscribe to topics and send protected / unprotected messages.
Expand Down

0 comments on commit 7ffac1a

Please sign in to comment.