/id-wallet-1-app

Self-Sovereign Identity Wallet based on Hyperledger Aries

Primary LanguageC#OtherNOASSERTION

ID Wallet

Contact

Digital Enabling GmbH
Rheinstr. 5
63225 Langen
info@digital-enabling.com

License

The app's transparency and security are of great importance to users. For this reason, the licensor would like to disclose the source programs of the app and enable users to check and analyze the source programs. Editing, further development, distribution or other use of the source programs is not permitted.

Detailed license conditions can be found in the LICENSE file.

Releases

Source code for releases of the ID Wallet will be provided in a timely manner and for each major and minor version change. Patch and bug fix releases are excluded.

Libraries

The ID Wallet requires libraries that are not included in this repository:

iOS

Android

Get it from https://developer.android.com/ndk/downloads:

  • src/libs-android/arm64-v8a/libc++_shared.so
  • src/libs-android/arm64-v8a/libgnustl_shared.so
  • src/libs-android/armeabi-v7a/libc++_shared.so
  • src/libs-android/armeabi-v7a/libgnustl_shared.so
  • src/libs-android/x86/libc++_shared.so
  • src/libs-android/x86/libgnustl_shared.so
  • src/libs-android/x86_64/libc++_shared.so
  • src/libs-android/x86_64/libgnustl_shared.so

Get it from: https://repo.sovrin.org/android/libindy/stable/1.15.0/:

  • src/libs-android/arm64-v8a/libindy.so
  • src/libs-android/armeabi-v7a/libindy.so
  • src/libs-android/x86/libindy.so
  • src/libs-android/x86_64/libindy.so

Bindings

To use the Governikus AusweisApp2 SDK it requires two binding subprojects for both iOS and Android.

Configuration

Some configuration needs to be set:

Wallet Parameters

  • src/IDWallet/WalletParams.cs
    - MediatorEndpoint
    - MediatorConnectionAliasName
    - SafetyNetApiKey
    - NotificationHubName
    - ListenConnectionString
    - MobileSecret
    - MobileToken
    - AusweisHost
    - TeamId
    - PushServiceName

Android Firebase PNS

  • src/IDWallet.Android/google-services.json

BDR API

Set public keys hashes (key pinning) and API-Key of Bundesdruckerei API

  • src/IDWallet/Services/SDKMessageService.cs

App Build

It is recommended to build the project directly from a Xamarin compatible IDE (e.g. Visual Studio or JetBrains Rider). For building and running the iOS app you will need to be on or to be connected to a Mac with the macOS operating system with all necessary Xamarin dependencies (https://docs.microsoft.com/de-de/xamarin/ios/) installed. Further information for Android can also be found here: https://docs.microsoft.com/de-de/xamarin/android/