mirror of
https://github.com/home-assistant/android
synced 2024-10-07 00:29:32 +00:00
e0731c9c79
* Add Wear OS TLS client certificate authentication (TLS CCA) support Wear OS does not currently allow the user to install certificates to the system-wide KeyChain for TLS CCA support. This commit adds support for using certificates from the app-specific Android KeyStore with UI for setting up a certificate during the Wear OS onboarding process. The manual step in the onboarding process is required since we cannot transmit certificates of the Android KeyChain because they are not extractable. In particular, this commit adds the following changes: * KeyStoreImpl as an additional KeyChainRepository interface implementation for loading and storing keys to the application's KeyStore. TLSHelper uses KeyStoreImpl as a fallback key manager. * UI for selecting a certificate file with GET_CONTENT intent during Wear OS onboarding in OnboardingActivity if it is detected that the Home Assistant may require TLS CCA. The UI includes a password check for the PKCS12 container. * During onboarding the app sends the raw PKCS12 data to Wear OS together with the container password. The connection is assumed to be encrypted and trusted so that no additional encryption is necessary. * Move PKCS12 password check to lifecycle scope * Remove redundant try-catch when loading PKCS12 * Simplify MobileAppIntegrationView layout code |
||
---|---|---|
.. | ||
src | ||
build.gradle.kts | ||
proguard-rules.pro |