GitHunt
JO

JobDoesburg/rde-android-client-app

Android client app for the Remote Document Encryption prototype

RDE client app (android)

This repository contains the source code for the RDE client app for Android.
It uses the RDE Java client library for implementing RDE functionality, which is included as a submodule.

Usage

The app implements the following functionality:

  • Enrolling an e-passport for RDE and pushing the enrollment parameters to the server
  • Retrieving secret keys from an e-passport communicating via websockets with the RDE JS client

Enrolling

To enroll an e-passport for RDE, the app needs to scan a QR code containing the HTTP endpoint to which the enrollment parameters should be pushed.
The app then offers a screen to enter some information about the document that is required for communicating with the document (the BAC key).
Afterwards, the app will give the user to set certain options for the enrollment process.
After the enrollment process is finished, the enrollment parameters are pushed to the url specified in the QR code.

Retrieving secret keys

To retrieve secret keys from an e-passport, the app needs to scan a QR code containing a WebSocket URL.
The app will follow the DecryptionHandshake protocol to set up a tunnel to the RDE JS client via the WebSocket.
It then receives the DecryptionParameters object from the RDE JS client and uses it to retrieve the secret key from the e-passport, which is then sent back to the RDE JS client.

Contributors

Created March 28, 2023
Updated October 6, 2025
JobDoesburg/rde-android-client-app | GitHunt