When logging in to android registration client, an error of Invalid Machine Spec ID found is thrown when the app tries to saveAuthToken. Below are the logs:
E/LocalClientCryptoServiceImpl(16100): null
E/LocalClientCryptoServiceImpl(16100): javax.crypto.IllegalBlockSizeException
E/LocalClientCryptoServiceImpl(16100): at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:613)
E/LocalClientCryptoServiceImpl(16100): at javax.crypto.Cipher.doFinal(Cipher.java:2056)
E/LocalClientCryptoServiceImpl(16100): at io.mosip.registration.keymanager.service.LocalClientCryptoServiceImpl.asymmetricDecrypt(LocalClientCryptoServiceImpl.java:344)
E/LocalClientCryptoServiceImpl(16100): at io.mosip.registration.keymanager.service.LocalClientCryptoServiceImpl.decrypt(LocalClientCryptoServiceImpl.java:284)
E/LocalClientCryptoServiceImpl(16100): at io.mosip.registration.clientmanager.service.LoginService.saveAuthToken(LoginService.java:67)
E/LocalClientCryptoServiceImpl(16100): at io.mosip.registration_client.api_services.AuthenticationApi$1.onResponse(AuthenticationApi.java:80)
E/LocalClientCryptoServiceImpl(16100): at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.lambda$onResponse$0$retrofit2-DefaultCallAdapterFactory$ExecutorCallbackCall$1(DefaultCallAdapterFactory.java:89)
E/LocalClientCryptoServiceImpl(16100): at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$$ExternalSyntheticLambda1.run(Unknown Source:6)
E/LocalClientCryptoServiceImpl(16100): at android.os.Handler.handleCallback(Handler.java:942)
E/LocalClientCryptoServiceImpl(16100): at android.os.Handler.dispatchMessage(Handler.java:99)
E/LocalClientCryptoServiceImpl(16100): at android.os.Looper.loopOnce(Looper.java:201)
E/LocalClientCryptoServiceImpl(16100): at android.os.Looper.loop(Looper.java:288)
E/LocalClientCryptoServiceImpl(16100): at android.app.ActivityThread.main(ActivityThread.java:7872)
E/LocalClientCryptoServiceImpl(16100): at java.lang.reflect.Method.invoke(Native Method)
E/LocalClientCryptoServiceImpl(16100): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/LocalClientCryptoServiceImpl(16100): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
E/LocalClientCryptoServiceImpl(16100): Caused by: android.security.KeyStoreException: Invalid input length (internal Keystore code: -21 message: In KeystoreOperation::update
E/LocalClientCryptoServiceImpl(16100):
E/LocalClientCryptoServiceImpl(16100): Caused by:
E/LocalClientCryptoServiceImpl(16100): 0: In update: KeyMint::update failed.
E/LocalClientCryptoServiceImpl(16100): 1: Error::Km(ErrorCode(-21))) (public error code: 13 internal Keystore code: -21)
E/LocalClientCryptoServiceImpl(16100): at android.security.KeyStore2.getKeyStoreException(KeyStore2.java:369)
E/LocalClientCryptoServiceImpl(16100): at android.security.KeyStoreOperation.handleExceptions(KeyStoreOperation.java:78)
E/LocalClientCryptoServiceImpl(16100): at android.security.KeyStoreOperation.update(KeyStoreOperation.java:115)
E/LocalClientCryptoServiceImpl(16100): at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer$MainDataStream.update(KeyStoreCryptoOperationChunkedStreamer.java:222)
E/LocalClientCryptoServiceImpl(16100): at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer.update(KeyStoreCryptoOperationChunkedStreamer.java:156)
E/LocalClientCryptoServiceImpl(16100): at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer.doFinal(KeyStoreCryptoOperationChunkedStreamer.java:179)
E/LocalClientCryptoServiceImpl(16100): at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:603)
E/LocalClientCryptoServiceImpl(16100): … 15 more
E/ (16100): Failed to save auth token
E/ (16100): io.mosip.registration.clientmanager.exception.InvalidMachineSpecIDException: Invalid Machine Spec ID found
E/ (16100): at io.mosip.registration.clientmanager.service.LoginService.saveAuthToken(LoginService.java:69)
E/ (16100): at io.mosip.registration_client.api_services.AuthenticationApi$1.onResponse(AuthenticationApi.java:80)
E/ (16100): at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.lambda$onResponse$0$retrofit2-DefaultCallAdapterFactory$ExecutorCallbackCall$1(DefaultCallAdapterFactory.java:89)
E/ (16100): at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$$ExternalSyntheticLambda1.run(Unknown Source:6)
E/ (16100): at android.os.Handler.handleCallback(Handler.java:942)
E/ (16100): at android.os.Handler.dispatchMessage(Handler.java:99)
E/ (16100): at android.os.Looper.loopOnce(Looper.java:201)
E/ (16100): at android.os.Looper.loop(Looper.java:288)
E/ (16100): at android.app.ActivityThread.main(ActivityThread.java:7872)
E/ (16100): at java.lang.reflect.Method.invoke(Native Method)
E/ (16100): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/ (16100): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
The request to login is:
Url: https://{server address}/v1/syncdata/authenticate/useridpwd
Body: {
“request”: “eyJraWQiIDogIjU5OjIyOjc1OmY4OjllOjVmOjA1OjNlOjU3OmMwOjUyOmMyOjU0OjI4OjE3OjdiOjNmOmEwOjk2OjU3OjRhOjAyOmRlOmRlOjVlOjFhOmQwOmM2OmMwOmNmOmI4OjM5In0.eyJ1c2VySWQiIDogIm1vc2lwY2xpZW50IiwgInBhc3N3b3JkIjogIk1vc2lwQDEyMyIsICJhdXRoVHlwZSI6Ik5FVyIsICJ0aW1lc3RhbXAiIDogIjIwMjQtMDEtMTBUMDg6MTU6MzMuMDk3WiJ9.BC4A116WLmVIkk9HakFdtf3aoR2LYpSbT08zZQlVGApMsc9Z2noUDXHyNVaPBdYcgIAQm3snyLEGn8cpHIcCmbtP0HHUjMUiFiNW_Z08VVUH7PllLElfmtI3KgrbiWS5pW7_eVf_uv7qP09Db42SelM4XTNVvKUESkHYNmznJrt6qsFUH_dsFnhMfSvMZO75DNJcIsERYKl1TeIBJOZA9kO0YadDl7iTRUDqPZqEYM8dYMaMRvQsDnTPKHoYlBbzIWOeEwTQR3qOvSsy5Op-IZMw9ADueSNq1g1XQhEIic1xQ6DRCClh3tffByjIPBdaf7–EzLh8tiQy9n_9cK2Vw”,
“request_time”: “2024-01-10T08:15:33.345Z”
}
The response is:
{
“id”: null,
“version”: null,
“responsetime”: “2024-01-10T08:15:37.819Z”,
“metadata”: null,
“response”: “Y6w7s3IfF31Unv3pHXYLRwsBptwqjUjHJoMhOBInFWcYgU8T-wrKKac3l7ChUE8e_UbOVvOW4MJoGoOEePgn3RqVejk8hXWBVoX5OpzSutSqJnhDCwVFRFguXP2Jgr2eiaZ3OfnG4FbiFB1FsskUALu9VnAYos7mKACoCcE_UKGCrnV5Xb3PluZyH–TPhhEcyNfBp0OUonyNlyNbHaEQ_XeYfvI2RTtBi7HquO_ec5LpXH7nLnYPgmwyBtCCmr92qty29caHKKutbmn_G4JgIlyZF4OHB9aizDq58G0lbnhTlCamxA9vqwrsQbTXKfcSEcjHzB2mD61NJXnxhtHfcCRFlwJ2B19LNEZ6N2_xvjzWPkmCFYp0whXD_7xr-4A_uITNv1qHOl_rnuHHktmo50KfwLdX2n_QI5Cq4qtYP9RxAKD6i-GGY4VHOfATaji2hY8I_cc_YUj4-lUPnbhaaESPdp-wkLhF8ftozux4G__mNQdOzMnHbYfK0PYy7tt2EF0Cx6-OUDzaMu6a4zYzB4Pv-PGKX91ZmZxmE6sL1CTLz4IP7qhE5mtiZ-Eg5T-HMf0Zto_y-YXfpFRkIqQdgmzM6eul8d_A2tvoEXHelzgRElAw40rgN19J0DhF6w8hTfPVIsUagY7Z0wOxOVeBhd4gBsMVl9rRWvejI6D0AVdynz2c7y5oocUU_lLW_WqsvkHe6QpgynrpGJJr0bnKYQP79MYV2gyPe7JrktH5-GsfeGH5DGDM2kIaI3mO9crqR02m2YdlgOX2n2wRsIZ6b0v1uKrZCcnwyG3wlXJHi2MhC-2BOPKlQCgnjSojRLZZ13n3BD0jBYxgInBn3w_gWfIo-ID4ROvz3eaoy7k2wjXyL8FHBsnTzMVck_RLb7dG27Kr8vO3F319bIUFjL42AopxFL5EoxRdWzzsp-IIZntE_9DaJzsfa90MqPvcVRsuhmiXN4lNEZ4ne4leB-E-dNl1iKJzTD4OQksY6P6e8qUJf3PowoIRh3b8HnyjquAPGLvhV92j3EkBVLtzaNCvMFBI3cno28APAQudzjAZIMfZJdAmGaSHOwdC6SNkKdioKJpFj2ksxM9nbhdZCAoqCoaMbXZrvVQH_BG3THjePYBRgh_eAeiTiUdorOmfn8djMQ2zgYxC_R1d-D1fWBj5JvMcizFZkS_9GPvQBFP0TLCBtI1iSKoUI0sGUxVn1Ed5fyD7hVm-q9BkB5JGqLeyOLrHYjWMbI_anLH4n0Srks_LGaeIEt0sMmcyOEOP8l6MyzevmZE8HfUXaiqtRdHlNonuvIBGI03J2_OufX6V-sZ57gO0DgV9lldDr5Tn-gh7r56t3WsI3-SixJ_jlWOX7PqXSCqKkuvslrGO9wG0YayyWCqqfNsJB-N8qh5edv-6vgny0rC9yeShtsxWe0oIQaZ-RxfiiEG94wD8v9gjuW-PiZr-qfLuYepOlleUTktv1Ku4KRFosDmGZR4hmB5pEaTFD_rO6G8tLVuA0pvLBRhm-ZAY6zGvHBPUCZIGHgsc_S8rMnAUg-3wdgVCPU6F34X25I1uHeARYg7LpksdNWl_XeLVTCYR8eNZFqioPmMxtfXJis2slkQHRlXG4B1tF8AYzVYq01jVQigK4ooVwWU8XdMM0JT0wp1LQWVoStb29sBJZLfbMHmZrThLMB95o5e8vUswTkf4mfyPpcW0DiB3IhcOCLP6qt9M_YpWmZ3qxtWSDZzOEczEf9zuOX3Bw0XSCdjRyHCh60hENp1VJxf_yJpl3CY7wD4AzhT9kX9SETCgF_Owpdjr1ymYWvwCg9bpZxgfAzVGen9TPyHYuLnLWIDZOtsQPAJSrX5gyB5Y73P7GsZeF9NIP74QiAZggfv5N0PUlOhy2U_ETDbxxoasurctkj9atdPNIavGCOlQ7E1PPEV4OwfdZfDxwSLbUCoeSLEDF3lDflAcjOVKl2oeqo2MQ-u7TjxTASrYnZz2FV_3rGFXvjmRdiD42b-I1iL1II3pZ766IVC6UjmTUPXAtBvys8ufG-Do5ui0F5-lRMPWTgdTmvoz812HinimFJJPAyUGF5dCVSFx_rZ3ZwrOQkNeAz6o-SZ0if0iMo1M2vCa-kxjnV_064bXqHLF2lQgmN_yVUwIlW7sKtZJ-8nbFx8d8CioB8Z8RPw7mZ-8khTJwN43CNsdCuJgdvevPfAhQhXcS_3ui69hSzzWnpYGkiD2J19okHbn9_krfwIRVu1tM8hFDSGiqYzdcqRYDwFyO7Ms7DEsaYCOg9ObKBjJxIqL2fWjQdPYvQA_DeYWNEeiT2-Gg-q4ltVDBZv5DXpz6CeekfdQWnASF22kRJDAqD7b8ORw4khLUpFgZdOmz64grFHeYwhRlJJAIyLT9qQ1IYSwXh5_rH9wfsGYfWpvymk17HPyibswk0DtND9EYDaL6cU7UdWeZQH-n8mmj43Ji6ppUnOaXs91zj5jahszs9yt2SCRpV5SrBV3qZbti-fnYYgBL8mbPcqw0rLZatKzyQmZ-IqmYEOChlcLjhY4Zsw0iOUD1JFXodpwJqo6XB47ojU15PpqzG0x_JuZI0SRXjhdgu4x4JpXAxP5FSsD5-dv1z_4pS5NXb3f-l7UZP9B9fiDImklOS4jxkeOrLRmPpw9iE03mpP7tyw8Xlki3068TP531EZIuLxOaEqWnWemT46veI4ID14boLAqN8B80czOJervitRmlQ59W_kVmCULpfVHMLfr4I6MBClKO38-rsokYgCECYbdl13vMO_0_DFQLM16jPzHexyXCB6utLuCIft4-LTlxXXDyuhS4P1ur3nqhluzOIO5f301gy01kr2ilRTaqHAN7ndl0bB6HLOlZCLWOI9JV0YCLCxYJhgViBPowwDhLpae0xABxgkgCL25w0UhyaDUonXlosydoTPKOLi-oX25bhejRKi_cgI2CaR41y4DGZkdar0Qpv26wJZQw292N4L8sgZLCn7u0g0xmR_JT3-uMdVGq6PjCyQayWqRoltY3KS61TeX3u-F7_twzzdCICv01DiD2HIWo4B0ahGoZNUvOTqsDPBxzrOal0EetjyumfUio5nJXESnJCs3GHRs27qMezNGCG_u2Q4XuBGgkI-r-EHhnlYESLdn4dasGqtsagafPdSsCvqwKaN6dQPqnuW7R2vDMVQ_dgprjueKGP07Fh3i3tHo_D6i__FORom6bchhUCbEmnT-BefC2YjOR0KmbEyZte8Tu_tzCTcz8R7nYxIGZvtn63WFxc6M99cn6dsVfgGWEz7qnAZlNe1HdOd2z-fEX1WiKli8mR3U2rjA5w2qbYWqLxOxmpTWguwltCSQfSrtMhM2AM6oOQrdn7DiXqHlkfdKNGDD-UWut_CGqt-IaeIMSCGNDuczUPBvLvZb8NT1pe0LkJPT4_U1ozKOfILACP2udusN6I_AF_0zzP_Xpk1f6YpnMkN4U6Acnqv3BPQN7hC”,
“errors”:
}
From my debugging, the error seems to be coming from asymmetricDecrypt of the response. How can we solve this challenge.
Thanks