Update README
This commit is contained in:
parent
5239b3e8f8
commit
e84a0948e9
1 changed files with 17 additions and 22 deletions
|
@ -45,16 +45,13 @@ State is kept in the following places:
|
||||||
At install time, a libaxolotl client needs to generate its identity keys, registration id, and
|
At install time, a libaxolotl client needs to generate its identity keys, registration id, and
|
||||||
prekeys.
|
prekeys.
|
||||||
|
|
||||||
```
|
IdentityKeyPair identityKeyPair = KeyHelper.generateIdentityKeyPair();
|
||||||
IdentityKeyPair identityKeyPair = KeyHelper.generateIdentityKeyPair();
|
int registrationId = KeyHelper.generateRegistrationId();
|
||||||
int registrationId = KeyHelper.generateRegistrationId();
|
List<PreKeyRecord> preKeys = KeyHelper.generatePreKeys(startId, 100);
|
||||||
List<PreKeyRecord> preKeys = KeyHelper.generatePreKeys(startId, 100);
|
|
||||||
|
|
||||||
// Store identityKeyPair somewhere durable and safe.
|
// Store identityKeyPair somewhere durable and safe.
|
||||||
// Store registrationId somewhere durable and safe.
|
// Store registrationId somewhere durable and safe.
|
||||||
// Store preKeys somewhere durable and safe.
|
// Store preKeys somewhere durable and safe.
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
## Building a session
|
## Building a session
|
||||||
|
|
||||||
|
@ -63,20 +60,18 @@ SessionStore. These will manage loading and storing of identity, prekeys, and s
|
||||||
|
|
||||||
Once those are implemented, building a session is fairly straightforward:
|
Once those are implemented, building a session is fairly straightforward:
|
||||||
|
|
||||||
```
|
SessionStore sessionStore = new MySessionStore();
|
||||||
SessionStore sessionStore = new MySessionStore();
|
PreKeyStore preKeyStore = new MyPreKeyStore();
|
||||||
PreKeyStore preKeyStore = new MyPreKeyStore();
|
IdentityKeyStore identityStore = new MyIdentityKeyStore();
|
||||||
IdentityKeyStore identityStore = new MyIdentityKeyStore();
|
|
||||||
|
|
||||||
// Instantiate a SessionBuilder for a remote recipientId + deviceId tuple.
|
// Instantiate a SessionBuilder for a remote recipientId + deviceId tuple.
|
||||||
SessionBuilder sessionBuilder = new SessionBuilder(sessionStore, preKeyStore, identityStore,
|
SessionBuilder sessionBuilder = new SessionBuilder(sessionStore, preKeyStore, identityStore,
|
||||||
recipientId, deviceId);
|
recipientId, deviceId);
|
||||||
|
|
||||||
// Build a session with a PreKey retrieved from the server.
|
// Build a session with a PreKey retrieved from the server.
|
||||||
sessionBuilder.process(retrievedPreKey);
|
sessionBuilder.process(retrievedPreKey);
|
||||||
|
|
||||||
SessionCipher sessionCipher = new SessionCipher(sessionStore, recipientId, deviceId);
|
SessionCipher sessionCipher = new SessionCipher(sessionStore, recipientId, deviceId);
|
||||||
CiphertextMessage message = sessionCipher.encrypt("Hello world!".getBytes("UTF-8"));
|
CiphertextMessage message = sessionCipher.encrypt("Hello world!".getBytes("UTF-8"));
|
||||||
|
|
||||||
deliver(message.serialize());
|
deliver(message.serialize());
|
||||||
```
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue