aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/crypto/axolotl (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-03-02Fixes FS#147: Disable OMEMOsteckbrief5-951/+1275
2016-02-02re-read common name from certificates on startupDaniel Gultsch1-0/+25
2016-01-23show fetch errors in trust keys activityDaniel Gultsch1-0/+13
2015-12-31Fix OMEMO session creating logginAndreas Straub1-1/+1
Now prints the correct JID to the log when finding devices without sessions.
2015-12-23show certificate informationDaniel Gultsch2-0/+8
2015-12-23save certificate when verifying with x509Daniel Gultsch2-2/+10
2015-12-19store identity key in XmppAxolotlSession instead of the fingerprintDaniel Gultsch2-23/+27
2015-12-19add more debugging to certificate checks after new omemo session was establishedDaniel Gultsch1-0/+4
2015-12-10some more NPE checksDaniel Gultsch1-1/+1
2015-12-08also verify sessions in CBE mode that got created by key transport messagesDaniel Gultsch1-2/+14
2015-10-31indicate cbe in chat message hintDaniel Gultsch1-0/+16
2015-10-31explicitly mark verified omemo keys in UIDaniel Gultsch2-5/+29
2015-10-30fixed session objects not being build on start upDaniel Gultsch1-1/+0
2015-10-29push CN into nick pep node when uploading certificate. subscribe to nick nodeDaniel Gultsch1-0/+1
2015-10-17don't retry building broken omemo keysDaniel Gultsch1-4/+15
2015-10-17load axolotl session cache on first device updateDaniel Gultsch1-2/+6
2015-10-17improved error reporting in trust keys activityDaniel Gultsch1-7/+19
2015-10-16introduced code to verify omemo device keys with x509 certificates.Daniel Gultsch1-19/+67
cleaned up TrustKeysActivity to automatically close if there is nothing to do
2015-10-12add config variable to enable x509 verificationDaniel Gultsch1-3/+3
2015-10-12code clean upDaniel Gultsch1-13/+1
2015-10-11add menu item in account details to renew certificateDaniel Gultsch1-23/+82
2015-10-11Clean upAndreas Straub2-13/+5
Fixes some random linter warnings.
2015-09-17be more careful when publishing device bundleDaniel Gultsch1-0/+14
2015-09-06indicate broken pep in server infoDaniel Gultsch1-0/+4
2015-09-06Only show that have sessions in fingerprint listAndreas Straub2-5/+21
Doesn't access database directly anymore but goes through AxolotlService now to obtain list of fingerprints associated with an Account/Contact. This should prevent orphaned keys littering the UI which previously couldn't be removed through the Clear Devices function. Together with 1c79982da84964c1d81179a0927d9cd1eadf53de this fixes #1393
2015-09-06Don't manually add keys to the storeAndreas Straub1-2/+0
There is no need to preemptively add the keys to the store oneself. SessionBuilder will take care of this for us. What's more, this will prevent IdentityKeys from otherwise invalid bundles to show up in our UI.
2015-09-05Never build a session with oneselfAndreas Straub2-9/+12
If we detect our own ID is not in our own devicelist on receiving an update, we reannounce ourselves. This used to have the side effect of modifying the list of devices we thought were in the update set, causing us to accidentally build a session with ourselves. This lead to our own key being set to TRUSTED_INACTIVE, resulting in red lock icons on messages sent by the own device. We fix this by having publishOwnDeviceId() operate on a copy of the original set. This commit also includes a db migration which deletes sessions with oneself and sets own keys back to TRUSTED.
2015-08-26Fix error handling for announce check retrievalAndreas Straub1-3/+3
Only aborts when a timeout was received. Error conditions (most notably item-not-found) are interpreted as no other devices existing.
2015-08-26Only announce device after publishing bundleAndreas Straub1-6/+18
2015-08-26Fix key publishingAndreas Straub1-72/+68
Remove invalid check for result code, which prevented publishing if the node was empty to begin with. Fix pepBroken check
2015-08-25Add more logging to pep attemp counter logicAndreas Straub1-0/+1
2015-08-25Limit number of PEP publish triesAndreas Straub1-9/+42
If PEP publish tries are repeatedly triggered by empty PEP updates, stop attempting to publish after 3 tries. This should work around broken PEP implementations in older ejabberd and OpenFire versions.
2015-08-25Pass through device IDs when updating own listAndreas Straub1-17/+17
2015-08-25cleared up some error messages in axolotl service and execute ↵Daniel Gultsch1-3/+7
publishOwnDevicesWhenNeeded() only if processing our own jid
2015-08-23Add error handling to OMEMO PEP codeAndreas Straub1-116/+131
Log received errors and abort processing
2015-08-07Increase number of published prekeys for releaseAndreas Straub1-1/+1
2015-08-01Let UNTRUSTED/UNDECIDED keys become INACTIVEAndreas Straub3-79/+94
2015-07-31Provide process function for key transport messageAndreas Straub3-18/+83
2015-07-31Refactor axolotl message processing workflowAndreas Straub3-152/+116
XmppAxolotlMessage is now entirely responsible for handling encryption and decryption of messages, only leveraging XmppAxolotlSession as a packing/unpacking primitive for payload keys. Removed pseudo-dead session generation code step from prepareMessage function, as sessions have been created by invoking the TrustKeysActivity for a while now. Added prepareKeyTransportMessage function, which creates a message with no payload. The key that is packed into the header keyElements can then be used for other purposes (e.g. encrypted file transfer).
2015-07-31Reformat codeAndreas Straub3-86/+87
2015-07-31Change to new wire protocol versionAndreas Straub4-72/+111
2015-07-29Fix NPE: consider unknown keys UNDECIDEDAndreas Straub1-1/+2
2015-07-29Refactor out inner classes, cache trust storeAndreas Straub4-563/+613
Moves SQLiteAxolotlStore and XmppAxolotlSession into proper classes. IdentityKeys trust statuses are now cached in an LruCache to prevent hammering the database when rendering the UI.
2015-07-22Always build own device session automaticallyAndreas Straub1-6/+13
2015-07-21Add INACTIVE state for removed keysAndreas Straub1-11/+43
We introduce a new trust state: INACTIVE. This state is intended for old keys that have been removed. When a TRUSTED device is removed from the PEP devicelist, it's status will be set to INACTIVE. INACTIVE keys are shown in the UI as greyed out, non-interactible key rows. Messages are not encrypted for INACTIVE devices. When an INACTIVE device reappears in PEP, or a message is received from an INACTIVE device, it is set back to trusted.
2015-07-21Fill own device sessions into SessionMapAndreas Straub1-7/+14
2015-07-21Use properly fixed numeral values in Trust enumAndreas Straub1-4/+26
Why, oh God, why?! #thanksjamesgosling
2015-07-21Remove unused importAndreas Straub1-1/+0
2015-07-21Switch payload encryption to AES-GCMAndreas Straub3-17/+46
This also ensures that the IV is generated with proper randomness.
2015-07-20Also decrypt messages from UNTRUSTED sessionsAndreas Straub1-1/+1