signalapp / libsignal-protocol-java

GNU General Public License v3.0
1.82k stars 429 forks source link

Required Docuentation #71

Open sathishmscict opened 4 years ago

sathishmscict commented 4 years ago

Could you please share proper documentation or sample app to implement E2EE. Example : SessionStore sessionStore = new MySessionStore(); PreKeyStore preKeyStore = new MyPreKeyStore(); SignedPreKeyStore signedPreKeyStore = new MySignedPreKeyStore(); IdentityKeyStore identityStore = new MyIdentityKeyStore();

// Instantiate a SessionBuilder for a remote recipientId + deviceId tuple. SessionBuilder sessionBuilder = new SessionBuilder(sessionStore, preKeyStore, signedPreKeyStore, identityStore, recipientId, deviceId);

// Build a session with a PreKey retrieved from the server. sessionBuilder.process(retrievedPreKey);

SessionCipher sessionCipher = new SessionCipher(sessionStore, recipientId, deviceId); CiphertextMessage message = sessionCipher.encrypt("Hello world!".getBytes("UTF-8"));

deliver(message.serialize());

In above example

  1. MySessionStore , MyPreKeyStore ,MySignedPreKeyStore,MyIdentityKeyStore implementation have various methods. How do we use not able to find anywhere.

  2. SessionBuilder( sessionStore, preKeyStore, signedPreKeyStore, identityStore, recipientId, deviceId ) Here in latest library only 5 params need to pass. That one also not updated and not able to found any documentation also. SignalProtocolAddress contains deviceId and name. How to create object of SignalProtocolAddress,

  3. sessionBuilder.process(retrievedPreKey) Here what is retrievedPreKey and could you please share any working sample.

  4. val sessionCipher = SessionCipher(sessionStore, recipientId, deviceId) In latest lib SessionCipher have only 2 parametrs.

Android project under this project no code files available. If possible please share at-least a sample code files in this project. That can really helpful to start lib-signal-protocol. Sorry for my bad english.

Shek863 commented 2 years ago

Please making that