├── demo ├── resources │ ├── ecdsa │ │ └── .gitkeep │ ├── firebase │ │ └── .gitkeep │ ├── tls │ │ └── init_tls.cnf │ └── sqlite │ │ └── demo-schema.sql ├── android │ ├── src │ │ └── main │ │ │ ├── res │ │ │ ├── raw │ │ │ │ └── .gitkeep │ │ │ ├── values │ │ │ │ ├── styles.xml │ │ │ │ └── strings.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ └── layout │ │ │ │ └── activity_main.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── google │ │ │ │ └── capillary │ │ │ │ └── demo │ │ │ │ └── android │ │ │ │ ├── AndroidConstants.java │ │ │ │ ├── callables │ │ │ │ ├── LogToken.java │ │ │ │ ├── DelIid.java │ │ │ │ ├── GenKey.java │ │ │ │ ├── DelKey.java │ │ │ │ ├── DecryptSavedCiphertexts.java │ │ │ │ ├── RegUser.java │ │ │ │ ├── RegKey.java │ │ │ │ └── RequestMessage.java │ │ │ │ ├── DeviceUnlockedBroadcastReceiver.java │ │ │ │ ├── DemoFiidService.java │ │ │ │ ├── DemoFmService.java │ │ │ │ ├── TlsOkHttpChannelGenerator.java │ │ │ │ └── DemoCapillaryHandler.java │ │ │ └── AndroidManifest.xml │ ├── lint.xml │ └── build.gradle ├── common │ ├── build.gradle │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── google │ │ │ └── capillary │ │ │ └── demo │ │ │ └── common │ │ │ └── Constants.java │ └── proto │ │ └── capillary_demo_common.proto ├── img │ ├── connect.png │ ├── del_iid.png │ ├── del_key.png │ ├── gen_key.png │ ├── reg_key.png │ ├── auth_key.png │ ├── log_token.png │ ├── reg_user.png │ ├── regen_del.png │ ├── regen_reg.png │ ├── regen_req.png │ ├── req_message.png │ └── req_auth_message.png └── server │ ├── src │ └── main │ │ └── java │ │ └── com │ │ └── google │ │ └── capillary │ │ └── demo │ │ └── server │ │ ├── NoSuchUserException.java │ │ ├── DemoDb.java │ │ ├── FcmSender.java │ │ ├── DemoServiceImpl.java │ │ └── DemoServer.java │ └── build.gradle ├── img ├── no_e2ee.png └── with_capillary.png ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── lib-android ├── src │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── google │ │ │ └── capillary │ │ │ └── android │ │ │ ├── CapillaryHandlerErrorCode.java │ │ │ ├── CiphertextStorage.java │ │ │ ├── CapillaryHandler.java │ │ │ ├── Utils.java │ │ │ ├── RsaEcdsaKeyManager.java │ │ │ ├── AndroidKeyStoreRsaUtils.java │ │ │ └── DecrypterManager.java │ ├── androidTest │ │ ├── resources │ │ │ └── com │ │ │ │ └── google │ │ │ │ └── capillary │ │ │ │ └── android │ │ │ │ ├── signing_key.dat │ │ │ │ └── verification_key.dat │ │ └── java │ │ │ └── com │ │ │ └── google │ │ │ └── capillary │ │ │ └── android │ │ │ ├── TestUtils.java │ │ │ ├── CiphertextStorageAndroidTest.java │ │ │ ├── AndroidKeyStoreRsaUtilsAndroidTest.java │ │ │ └── TestHandler.java │ └── test │ │ └── java │ │ └── com │ │ └── google │ │ └── capillary │ │ └── android │ │ ├── TestUtils.java │ │ ├── CiphertextStorageTest.java │ │ └── KeyManagerTest.java ├── publish.gradle └── build.gradle ├── settings.gradle ├── lib ├── src │ ├── test │ │ ├── resources │ │ │ └── com │ │ │ │ └── google │ │ │ │ └── capillary │ │ │ │ ├── signing_key.dat │ │ │ │ ├── ec_public_key.dat │ │ │ │ ├── rsa_private_key.dat │ │ │ │ ├── rsa_public_key.dat │ │ │ │ └── verification_key.dat │ │ └── java │ │ │ └── com │ │ │ └── google │ │ │ └── capillary │ │ │ ├── HybridRsaUtilsTest.java │ │ │ ├── WebPushEncrypterManagerTest.java │ │ │ ├── RsaEcdsaEncrypterManagerTest.java │ │ │ ├── TestUtils.java │ │ │ ├── RsaEcdsaHybridEncryptTest.java │ │ │ ├── EncrypterManagerTest.java │ │ │ └── RsaEcdsaHybridDecryptTest.java │ └── main │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── capillary │ │ │ ├── CapillaryException.java │ │ │ ├── NoSuchKeyException.java │ │ │ ├── AuthModeUnavailableException.java │ │ │ ├── Config.java │ │ │ ├── WebPushEncrypterManager.java │ │ │ ├── RsaEcdsaConstants.java │ │ │ ├── RsaEcdsaEncrypterManager.java │ │ │ ├── EncrypterManager.java │ │ │ └── HybridRsaUtils.java │ │ └── proto │ │ └── capillary_internal.proto ├── build.gradle └── publish.gradle ├── gradle.properties ├── .gitignore ├── .github └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── tools ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── google │ └── capillary │ └── tools │ └── EcdsaKeyPairGenerator.java ├── config └── checkstyle │ └── java.header ├── CONTRIBUTING.md ├── gradlew.bat └── gradlew /demo/resources/ecdsa/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/resources/firebase/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/android/src/main/res/raw/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/common/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | -------------------------------------------------------------------------------- /img/no_e2ee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/img/no_e2ee.png -------------------------------------------------------------------------------- /demo/img/connect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/connect.png -------------------------------------------------------------------------------- /demo/img/del_iid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/del_iid.png -------------------------------------------------------------------------------- /demo/img/del_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/del_key.png -------------------------------------------------------------------------------- /demo/img/gen_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/gen_key.png -------------------------------------------------------------------------------- /demo/img/reg_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/reg_key.png -------------------------------------------------------------------------------- /demo/img/auth_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/auth_key.png -------------------------------------------------------------------------------- /demo/img/log_token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/log_token.png -------------------------------------------------------------------------------- /demo/img/reg_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/reg_user.png -------------------------------------------------------------------------------- /demo/img/regen_del.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/regen_del.png -------------------------------------------------------------------------------- /demo/img/regen_reg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/regen_reg.png -------------------------------------------------------------------------------- /demo/img/regen_req.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/regen_req.png -------------------------------------------------------------------------------- /img/with_capillary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/img/with_capillary.png -------------------------------------------------------------------------------- /demo/img/req_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/req_message.png -------------------------------------------------------------------------------- /demo/img/req_auth_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/demo/img/req_auth_message.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/capillary/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /demo/android/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 |