element-x-ada/libraries
Damir Jelić 73ba371a3e Add the user certificates as additional certificates to the ClientBuilder
Now, this is a story all about how
Certificates work in Android town
And I'd like to take a minute
Enter, close the door
I'll tell you how I've figured out the inner workings of the Keystore

Well it all boils down the fact that Google got scared
It said, "You're certs are movin' to a place you won't find".

So the directory, user certificates are stored, is hard to find, and possibly
not readable by your application[1]. Instead, we need to use the Keystore[2]
API, specifically we'll need to open the `AndroidCAStore` Keystore type.

The various Keystore types are supposedly documented[3], but I'm failing to
find a logical path that would lead you to conclude that:

    a) System certificates can or should be accessed using the Keystore,
       specifically the AndroidCAStore type
    b) User certificates can be found in the same Keystore type as the system
       certificates

So this was mostly found using random googling, swearing, and a couple of
educated guesses.

[1]: https://android-developers.googleblog.com/2016/07/changes-to-trusted-certificate.html
[2]: https://developer.android.com/reference/java/security/KeyStore
[3]: https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html#keystore-types
2024-02-21 13:18:11 +01:00
..
androidutils Sync Strings from Localazy 2024-02-05 00:09:59 +00:00
architecture favorite : apply pr review remarks 2024-02-15 13:25:37 +01:00
core Restore branch and git sha, to use it in logs and in rageshakes. 2024-01-25 14:16:21 +01:00
cryptography Fix moar ktlint issues 2024-01-11 10:02:10 +01:00
dateformatter Move RoomListRoomSummary factory to a dedicated file, more tests will be added. 2024-02-08 11:34:54 +01:00
deeplink Fix ktlint issues 2024-01-10 19:33:39 +01:00
designsystem Add first tests for ShowLocationView 2024-02-19 13:36:08 +01:00
di Fix crash about several DataStores using the same file (#2312) 2024-01-30 11:10:46 +01:00
encrypted-db Fix ktlint issues 2024-01-10 19:33:39 +01:00
eventformatter rust sdk : should fix test 2024-02-19 21:52:19 +01:00
featureflag Merge pull request #2354 from element-hq/feature/bma/markUnread 2024-02-08 17:36:29 +01:00
indicator Fix moar ktlint issues 2024-01-11 10:02:10 +01:00
maplibre-compose Fix ktlint issues 2024-01-10 19:33:39 +01:00
matrix Add the user certificates as additional certificates to the ClientBuilder 2024-02-21 13:18:11 +01:00
matrixui Sort the room member list and display member roles (#2412) 2024-02-19 15:03:36 +00:00
mediapickers Fix moar ktlint issues 2024-01-11 10:02:10 +01:00
mediaplayer Fix moar ktlint issues 2024-01-11 10:02:10 +01:00
mediaupload Fix moar ktlint issues 2024-01-11 10:02:10 +01:00
mediaviewer Update Compound to v0.0.5 and update icons (#2380) 2024-02-12 16:41:58 +00:00
network Fix ktlint issues 2024-01-10 19:33:39 +01:00
permissions Sync Strings from Localazy 2024-02-05 00:09:59 +00:00
preferences Avoid computing default value if it's not necessary. 2024-02-05 12:29:36 +01:00
push Sync Strings from Localazy 2024-02-12 00:10:26 +00:00
pushproviders Do not crash on UP unregistered 2024-02-01 12:04:47 +01:00
pushstore PushClientSecretImpl needs to be a singleton now that it observe the sessions. 2024-01-16 17:33:36 +01:00
roomselect Do not display empty room list state before the loading one (#2402) 2024-02-21 12:16:00 +01:00
rustsdk
session-storage Merge pull request #2244 from element-hq/feature/bma/encryptedDb2 2024-01-19 17:40:23 +01:00
testtags Add first tests for ShowLocationView 2024-02-19 13:36:08 +01:00
textcomposer Update Compound to v0.0.5 and update icons (#2380) 2024-02-12 16:41:58 +00:00
ui-strings Display banned users in room member list (#2415) 2024-02-20 10:07:06 +01:00
ui-utils Add voice message recording duration indicator and limit (#1628) 2023-10-24 11:44:53 +00:00
usersearch Fix moar ktlint issues 2024-01-11 10:02:10 +01:00
voicerecorder Fix moar ktlint issues 2024-01-11 11:24:10 +01:00