Skip to content

A simple Android application that demonstrates how the end-to-end encryption works.

License

Notifications You must be signed in to change notification settings

VirgilSecurity/demo-e3kit-android

Repository files navigation

Virgil E3Kit Android Demo

Introduction

This is a sample Android project for Virgil Security's E3Kit SDK which simplifies work with Virgil services and presents an easy-to-use API for adding a security layer to any application. E3Kit interacts with Virgil Cards Service, Keyknox Service and Pythia Service. Virgil E3Kit allows you to setup user encryption with multidevice support in just a few simple steps.

The demo is using E3Kit v2.0.4.

Note: It is a sample project and cannot be used in production.

We know your time is valuable, therefore if you want quickly to take a look at how Demo works you also can watch the video we recorded for you on our YouTube Channel.

Prerequisites

  • Android Studio
  • Virgil Developer Account and a Virgil Application
  • Local backend set up to generate Virgil JWT (you can find our Node.js sample here)

Set up and run demo

  1. Make sure the local backend is set up and running (you can find our Node.js sample here).
  2. In Device.kt file (path: ./demo-e3kit-android/app/src/main/java/com/virgiltest/cardoso/e3kitandroiddemo/Device.kt), find the val baseUrl = "http://10.0.2.2:3000/virgil-jwt" value (it will be in two places) and change it to your backend URL (if you use our sample backend, the URL will be http://"YOUR-IP-ADRESS-HERE":3000/virgil-jwt).

Device.kt file

Device.kt file

  1. Build and run the Android Studio project in an Android emulator.

Build and run

Explore demo

This demo will automatically go through the following steps:

  1. Initialize EThree. The demo obtains JWT tokens from backend and initializes E3Kit.
  2. Register users. The app tries to register 2 users - Alice and Bob. If they were registered before, the app revokes their Virgil Cards, generates new key pairs for them and registers new Virgil Cards with the same identities but different Card IDs.
  3. Find users. Alice looks for Bob's Card, and Bob looks for Alice's Card to get each other's public keys.
  4. Encrypt and sign message. Alice encrypts a message to Bob using Bob's public key, signs it using her private key, and sends it.
  5. Decrypt and verify. Bob receives the message, decrypts it using Bob's private key, and verifies it using Alice's public key.

Virgil E3Kit Android Demo

License

This library is released under the 3-clause BSD License.

Support

Our developer support team is here to help you. Find out more information on our Help Center.

You can find us on Twitter or send us email support@VirgilSecurity.com.

Please don't forget to subscribe our YouTube channel

Also, get extra help from our support team on Slack.

About

A simple Android application that demonstrates how the end-to-end encryption works.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages