Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement endpoint library #4

Closed
gnarea opened this issue Feb 20, 2019 · 0 comments
Closed

Implement endpoint library #4

gnarea opened this issue Feb 20, 2019 · 0 comments

Comments

@gnarea
Copy link
Member

gnarea commented Feb 20, 2019

Overview

We need to create a new library in a new repository to abstract away the low-level details of using Relaynet in an Android app.

Functionality supported

The library should handle the following; more operations may be needed.

  • First-party endpoints:
    • Creation (includes registering with Android GW). We should also re-register the endpoint when the private gateway broadcasts a message saying that its certificate changed.
    • Renewal (re-registering with the Android GW before the certificate expires). This can be done behind the scenes without developer input.
    • Removal (includes cryptographically-secure destruction of the private key; i.e., replace the private key with random values before removing it).
    • List existing endpoints.
  • Third-party endpoints.
  • Service messages
    • Send message
    • Receive messages
  • Config
    • Setup bind strategy
    • Bind to gateway
    • Unbind to gateway
    • Observe gateway status

Security

Private keys MUST be encrypted at rest with an Android KeyStore master key.

Testing

Use the Relaynet testing library in the unit tests: https://github.com/relaycorp/relaynet-jvm-testing

Open question: How can we create functional/instrumentation tests? Can we run another app (i.e., the Android Gateway) whilst running the instrumentation tests of a dummy test app? Seems unlikely.

@gnarea gnarea changed the title Implement abstract endpoint class Implement endpoint library Dec 9, 2020
@gnarea gnarea transferred this issue from relaycorp/awala-jvm Feb 2, 2021
@gnarea gnarea closed this as completed Apr 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant