diff --git a/gradle.properties b/gradle.properties index 9fd98c9..6415030 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ jdk.version=17 -artifactVersion=2.1.4-SNAPSHOT +artifactVersion=2.2.0 androidAttestationVersion=1.6.0 \ No newline at end of file diff --git a/sample/backend/README.md b/sample/backend/README.md index 1b6f67d..d363c83 100644 --- a/sample/backend/README.md +++ b/sample/backend/README.md @@ -1,14 +1,19 @@ # Dead-Simple Key Attestation Demo Service -This dead-simple key attestation demo service showcases [our Attestation Library](https://github.com/a-sit-plus/warden) in action. +This dead-simple key attestation demo service showcases [WARDEN](https://github.com/a-sit-plus/warden) in action. Apps for [Android](../client-android) and [iOS](../client-ios) demonstrate the respective client parts. For in-depth documentation regarding the Attestation library, please refer to the [official documentation](../../README.md). +**NOTE: This still uses the legacy key attestation emulation for iOS. See the [official documentation](../../README.md) for notes about +deprecation.** +A new, integrated attestation suite based on WARDEN is in the works, with full KMP/CMP support, meaning you'll +never have to worry about the wire format and how client and server should act. + ## Overview This service is based on [ktor](https://ktor.io) and establishes trust in mobile clients based on -[our Attestation Library](https://github.com/a-sit-plus/warden). This concrete incarnation utilises the attestation library's unified -interface to provide key attestation on both Android and iOS. +[WARDEN](https://github.com/a-sit-plus/warden). This concrete incarnation utilises the attestation library's unified +legacy interface to provide key attestation on both Android and iOS. The process to attest a mobile client works a follows: @@ -112,7 +117,7 @@ This message is for your eyes only. ``` ## Development -Minimum JDK Version required: 11. +Minimum JDK Version required: 17. To produce a runnable jar, run `/.gradlew buildFatJar` diff --git a/sample/backend/build.gradle.kts b/sample/backend/build.gradle.kts index c9ae647..23098a9 100644 --- a/sample/backend/build.gradle.kts +++ b/sample/backend/build.gradle.kts @@ -32,7 +32,7 @@ kotlin { } } group = "at.asitplus" -version = "0.0.4" +version = "0.0.5" application { mainClass.set("io.ktor.server.cio.EngineMain") diff --git a/sample/backend/gradle.properties b/sample/backend/gradle.properties index 8147942..8ced78f 100644 --- a/sample/backend/gradle.properties +++ b/sample/backend/gradle.properties @@ -2,4 +2,4 @@ ktor_version=2.2.4 kotlin_version=2.0.0 logback_version=1.2.11 kotlin.code.style=official -attestation_version=2.1.0 +attestation_version=2.2.0 diff --git a/warden/src/main/kotlin/Warden.kt b/warden/src/main/kotlin/Warden.kt index 4e362e6..3e3de3f 100644 --- a/warden/src/main/kotlin/Warden.kt +++ b/warden/src/main/kotlin/Warden.kt @@ -192,11 +192,6 @@ class Warden( challenge: ByteArray ): KeyAttestation = when (attestationProof) { - is SelfAttestation, is IosLegacyHomebrewAttestation -> KeyAttestation( - null, - AttestationResult.Error("${attestationProof::class.simpleName} is unsupported") - ) - is IosHomebrewAttestation -> { if (IosHomebrewAttestation.ClientData( attestationProof.parsedClientData.publicKey, @@ -239,6 +234,12 @@ class Warden( } } + //Signum will remove IosLegacyHomebrewAttestation in new version + else -> KeyAttestation( + null, + AttestationResult.Error("${attestationProof::class.simpleName} is unsupported") + ) + } /**