-
ageis(Spring Boot Project): This is your main Aegis Security API. It's the central brain that will handle device registration and signature validation. -
backend-app(Spring Boot Project): This is your Demo Bank Backend. It will act as the middleman, pretending to be the "UCO Bank Backend" to show the complete end-to-end communication flow. -
sfe(Android Project):sfe-client: This is your Aegis Client SDK. This library module contains all the security logic for the Android device.app: This is your Demo App, which will use thesfe-clientlibrary and make calls to yourbackend-app.
Technically, the Registration Key would be generated by your Aegis Security API and provided to the bank's development team through a secure, out-of-band channel. Here is the most standard technical implementation:
-
A Secure Admin Portal: You would build a simple, secure web dashboard (the "Regulatory & Admin Dashboard" from your design documents). This portal would be a part of your
ageisbackend service. -
Onboarding the Bank: When UCO Bank decides to use your service, you would create an administrator account for a trusted person on their technical team (e.g., their lead architect or security officer).
-
The Generation Process:
- The UCO Bank administrator logs into your secure admin portal.
- They navigate to a section like "Applications" or "API Credentials".
- They click a button like "Generate New Registration Key" for their specific application (e.g., "UCO Bank Android App v2.5").
- Your
ageisbackend then generates a long, cryptographically random string. technically:String registrationKey = new BigInteger(256, new SecureRandom()).toString(32);
-
One-Time Display: The portal displays this newly generated key one time. The UCO Bank admin must copy it immediately. For security, the portal would not allow them to view the key again later. They can only revoke it and generate a new one.
-
Secure Distribution & Embedding: The UCO Bank admin is then responsible for securely transmitting this key to their mobile development team. The mobile developers then embed this key as a string constant in the source code of the
UCO Bank Appbefore compiling and publishing it to the Play Store.