-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8c71519
commit a6f1d40
Showing
7 changed files
with
21 additions
and
65 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,39 @@ | ||
# Supreme Multiplatform (JVM, Android, iOS) Demo App | ||
|
||
<p align="center"> | ||
|
||
![img.png](img.png) | ||
|
||
This app showcases the _Supreme_ KMP Crypto provider on Android and on iOS. Demoing the JVM target would require additional configuration due to limitations of Kotlin. | ||
It was decided to avoid this clutter for the demo app, since the Supreme test suite already showcases the JVM provider usage. | ||
</p> | ||
|
||
This app showcases the _Supreme_ KMP Crypto provider on JVM, Android and on iOS. | ||
It is possible to generate key pairs, sign data, and verify the signature. | ||
|
||
Generation of attestation statements is also supported, although on iOS, only P-256 keys can be attested due to platform constreaints. | ||
The default JVM provider does not natively support the creation of attestation statements. | ||
Generation of attestation statements is also supported, although on iOS, only P-256 keys can be attested due to platform constraints. | ||
The default JVM provider does not natively support the creation of attestation statements, so it is a NOOP there. | ||
|
||
Except for the JVM (because there is no system-wide keystore), the app relies only on multiplatform code. | ||
Hence, everything is located in the common [App.kt](composeApp/src/commonMain/kotlin/at/asitplus/cryptotest/App.kt). | ||
As can be seen, no activity passing and callbacks are required, even for biometric auth! Everything _just works_© automagically… | ||
|
||
## Before running! | ||
- check your system with [KDoctor](https://github.com/Kotlin/kdoctor) | ||
- install JDK 17 on your machine | ||
- add `local.properties` file to the project root and set a path to Android SDK there | ||
|
||
### Android | ||
## Android | ||
To run the application on android device/emulator: | ||
- open project in Android Studio and run imported android run configuration | ||
|
||
To build the application bundle: | ||
- run `./gradlew :composeApp:assembleDebug` | ||
- find `.apk` file in `composeApp/build/outputs/apk/debug/composeApp-debug.apk` | ||
|
||
### iOS | ||
## iOS | ||
To run the application on iPhone device/simulator: | ||
- Open `iosApp/iosApp.xcproject` in Xcode and run standard configuration | ||
- Or use [Kotlin Multiplatform Mobile plugin](https://plugins.jetbrains.com/plugin/14936-kotlin-multiplatform-mobile) for Android Studio | ||
|
||
**Attestation and biometric auth is not supported on the simulator!** Only Apple could fix this, but this is unlikely to ever happen. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters