Instruction for upgrading the Onegini Android SDK to version 11.0¶
MSP compatibility¶
This version of the SDK requires: - the Token Server 12.12.0 or newer in case when the app is not using the optional Payload Encryption feature - the Token Server 12.12.0 or newer and the Security Proxy 5.4.0 or newer when the app is using the optional Payload Encryption feature
New security controls¶
The security controls implementation has been modified, making the tampering protection optional. The application thumbprint (formerly known as
application signature) can be calculated with two integrity levels: FULL
or NONE
. In case of a FULL
integrity check, the SDK will perform a full binary
check to be sure that the app was not modified, but it means that you will not be able to use features like App Bundles,
because they change the application binaries. If you want to use this or any other feature that can modify the app binary, then you should use the NONE
integrity level, which will skip the binary check, while still making basic application sanity checks.
The level of the integrity check can be set in the Token Server configuration
Error codes¶
OneginiInitializationError¶
The OneginiInitializationError
does not return CONFIGURATION_ERROR 10001
anymore.
The OneginiInitializationError
can return a new APP_INTEGRITY_FAILURE 10024
error in a case when the app integrity check has returned the wrong result.
OneginiRegistrationError¶
The OneginiRegistrationError
can return a new APP_INTEGRITY_FAILURE 10024
error in a case when the app integrity check has returned the wrong result.
OneginiMobileAuthEnrollmentError¶
The OneginiMobileAuthEnrollmentError
does not return USER_ALREADY_ENROLLED 9018
anymore.
OneginiDeviceAuthenticationError¶
The OneginiDeviceAuthenticationError
can return a new APP_INTEGRITY_FAILURE 10024
error in a case when the app integrity check has returned the wrong result.
Third-party libraries were updated¶
A couple of third-party libraries were updated, if you provide the SDK as an aar archive please update the dependencies in your project:
-
OkHttp library was updated to the version 4.9.0:
1 2 3
com.squareup.okhttp3:okhttp:4.9.0 com.squareup.okhttp3:okhttp-urlconnection:4.9.0 com.squareup.okhttp3:logging-interceptor:4.9.0
-
RxJava library was updated the the version 3.0.9:
1 2
io.reactivex.rxjava3:rxandroid:3.0.0 io.reactivex.rxjava3:rxjava:3.0.9
-
Retrofit adapter library was updated to the version 3.0.0:
1
com.squareup.retrofit2:adapter-rxjava3:3.0.0
-
Retrofit library was updated to the version 2.9.0:
1 2 3
com.squareup.retrofit2:retrofit:2.9.0 com.squareup.retrofit2:converter-gson:2.9.0 com.squareup.retrofit2:adapter-rxjava2:2.9.0
-
BouncyCastle library was updated to the version 1.65:
1 2
org.bouncycastle:bcprov-jdk15on:1.65 org.bouncycastle:bcpg-jdk15on:1.65
-
SQLCipher library was updated to the version 4.4.2:
net.zetetic:android-database-sqlcipher:4.4.2
-
Apache Commons IO (
commons-io:commons-io:2.5
) dependency has been removed. -
Libsodium dependencies have been added:
1 2
com.goterl.lazycode:lazysodium-android:4.2.0 net.java.dev.jna:jna:5.6.0