- include latest WARDEN-roboto to work around upstream bug #77
- Dependency Updates:
- Ktor 3.0.3
- Fix documentation issue (Android version was missing a zero in all docs)
- Dependency Updates
- WARDEN-roboto 1.7.1 (also fixing the same documentation issue)
- Kotlin 2.1.0
- Signum Indispensable 3.12.0
- Bouncy Castle 1.79
- Fix wrong dependency
- Update to WARDEN-roboto 1.7.0
- Android attestation statements (for SW, HW, but not Hybrid Nougat Attestation) do now verify attestation creation time!
- Refer to the WARDEN-roboto changelog!
- Change Android verification offset calculation:
It is now the sum of the toplevel offset and the Android-specific offset - Change the reason for iOS attestation statement temporal invalidity:
- It is now
AttestationException.Content.iOS(cause = IosAttestationException(…, reason = IosAttestationException.Reason.STATEMENT_TIME))
- This reason was newly introduced in this release, making it binary and source incompatible!
- iOS attestations are now also rejected if their validity starts in the future
- The validity time can now be configured in the same way as for Android, using the
attestationStatementValiditySeconds
property - Any configured
verificationTimeOffset
is NOT automatically compensated for any more. This means if you have previously used a five minutes offset, you now have to manually increase theattestationStatementValiditySeconds
to10 * 60
!
- It is now
- Introduce new attestation format
- Fix Parsing of iOS Build Numbers
- Dependency Updates:
- Kotlin 2.0.20
- Serialization 1.7.2
- Rely on Signum to transcode public keys
- Add working
hashCode
andequals
toAttestationResult
andKeyAttestation
- Rework key attestation key comparison
- Try all encodings for public keys
- Throw exception with very detailed message when key attestation runs into a logical error
- Rebrand to WARDEN
- Dependency Updates
- Update android-attestation 1.5.2 to WARDEN-roboto 1.6.0
- Dependency Updates:
- Android-Attestation 1.5.2 with HTTP Proxy support for fetching revocation info
- Java 17
- Kotlin 2.0.0
- bouncycastle: 1.78.1!!
- coroutines: 1.8.1
- datetime: 0.6.0
- kmmresult: 1.6.1
- kotest: 5.9.1!!
- kotlin: 2.0.0
- ksp: 1.0.22
- ktor: 2.3.11
- napier: 2.7.1
- nexus: 1.3.0
- serialization: 1.7.1
- Fix publishing
- Gradle 8.7
Breaking changes ahead!
- Parsing of iOS Build numbers in addition to OS Versions
- Requires changes to configuration format
- Introduces changes to IOS Attestation result
- Update to latest android-attestation
- Changes types of ParsedAttestationRecord's properties
- Exposes Guava as API dependency
- Update to latest conventions plugin
- Kotlin 1.9.23
- Publish version catalog
- Depend on BC 1.77 strict
- Gradle 8.5
- better iOS-specific exception handling and enumerable error cases
- Kotlin 1.9.22
- Various dependency updates including BC
- make
fold
function ofKeyAttestation
inline
- update android-attestation
- update gradle conventions
- update android-attestation
- fix temporal iOS receipt validation error not being propagated as such
- make all config classes
data
classes - update to android attestation 1.2.1
- Discriminate between temporal certificate validation errors and trust-related ones
- Documentation updates
- Update to android-attestation 1.2.0
- Refactor exceptions
- introduce builder for
AppData
- Introduce
ByteArray.parseToPublicKey
which takes ANSI X9.63 and DER-encoded byte arrays (only P-256 is supported for ANSI) - Update android-attestation to 1.1.0
- remove
verifyAttestation
- introduce
verifyKeyAttestation
taking an encoded public key as a byte array
This release introduces breaking changes as it allows multiple apps to be attested and introduces multi-stage attestation on Android, please re-read the readme!
- Kotlin 1.9.10!
- Bouncy Castle 1.76
- Android-Attestation 1.0.0
- android-attestation 0.9.3
- better java interop
- android-attestation (0.9.2)
- fix dependency on wrong android-attestation version
- android-attestation updated
- use A-SIT Plus gradle conventions plugin
- Kotlin 1.9
- BC 1.75
- Kotlin 1.8.21
- Gradle 8.1.1
- depend on android-attestation 0.8.4 to support custom Android trust anchors and testing against software-created attestations.
- depend on android-attestation 0.8.3 (MR Jar)
- Group OS-specific interfaces
- Align exception types between iOS and Android
- bugfix: NOOP attestation service actually being a NOOP
- ability to ignore timely validity of leaf cert for Android key attestation
- update upstream google code
- fixed iOS leeway calculation
- More Java-friendly API
- More detailed toplevel exception messages on certificate verification error (Android)
- Kotlin 1.8.0
Explicit verifyKeyAttestation
function for both mobile platforms
Reworked API and workflow to enable emulation of key attestation on iOS
Initial Release