nativescript-app-encryption
nativescript-app-encryption copied to clipboard
App crashed when build Android release version
As a subject, I tried to build Android version as a Release version. After that, My app was crashed when I open it. So, I tried to monitor this issue and get these error below.
Can pls help to suggest on this?
--------- beginning of crash
03-15 22:42:18.640 3393-3393/com.abcdef.ghijkl E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.abcdef.ghijkl, PID: 3393
java.lang.RuntimeException: Unable to create application com.tns.NativeScriptApplication: com.tns.NativeScriptException:
Error calling module function
Error: javax.crypto.BadPaddingException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT
com.android.org.conscrypt.NativeCrypto.EVP_CipherFinal_ex(Native Method)
com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER.doFinalInternal(OpenSSLCipher.java:568)
com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:350)
javax.crypto.Cipher.doFinal(Cipher.java:2056)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:30)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:22)
com.tns.Runtime.runModule(Native Method)
com.tns.Runtime.runModule(Runtime.java:504)
com.tns.Runtime.run(Runtime.java:499)
com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:17)
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5403)
android.app.ActivityThread.-wrap2(ActivityThread.java)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6119)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
File: "file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js, line: 2, column: 47
StackTrace:
Frame: function:'exports.decrypt', file:'file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js', line: 2, column: 48
Frame: function:'', file:'', line: 1, column: 45
Frame: function:'', file:'file:///data/data/com.abcdef.ghijkl/files/app/main.js', line: 1, column: 61
Frame: function:'require', file:'', line: 1, column: 266
Error: javax.crypto.BadPaddingException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT
com.android.org.conscrypt.NativeCrypto.EVP_CipherFinal_ex(Native Method)
com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER.doFinalInternal(OpenSSLCipher.java:568)
com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:350)
javax.crypto.Cipher.doFinal(Cipher.java:2056)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:30)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:22)
com.tns.Runtime.runModule(Native Method)
com.tns.Runtime.runModule(Runtime.java:504)
com.tns.Runtime.run(Runtime.java:499)
com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:17)
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5403)
android.app.ActivityThread.-wrap2(ActivityThread.java)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6119)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
File: "<unknown>, line: 1, column: 265
StackTrace:
Frame: function:'exports.decrypt', file:'file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js', line: 2, column: 48
Frame: function:'', file:'', line: 1, column: 45
Frame: function:'', file:'file:///data/data/com.abcdef.ghijkl/files/app/main.js', line: 1, column: 61
Frame: function:'require', file:'', line: 1, column: 266
03-15 22:42:18.640 3393-3393/com.abcdef.ghijkl E/AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5406)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: com.tns.NativeScriptException:
Error calling module function
Error: javax.crypto.BadPaddingException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT
com.android.org.conscrypt.NativeCrypto.EVP_CipherFinal_ex(Native Method)
com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER.doFinalInternal(OpenSSLCipher.java:568)
com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:350)
javax.crypto.Cipher.doFinal(Cipher.java:2056)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:30)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:22)
com.tns.Runtime.runModule(Native Method)
com.tns.Runtime.runModule(Runtime.java:504)
com.tns.Runtime.run(Runtime.java:499)
com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:17)
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5403)
android.app.ActivityThread.-wrap2(ActivityThread.java)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6119)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
File: "file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js, line: 2, column: 47
StackTrace:
Frame: function:'exports.decrypt', file:'file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js', line: 2, column: 48
Frame: function:'', file:'', line: 1, column: 45
Frame: function:'', file:'file:///data/data/com.abcdef.ghijkl/files/app/main.js', line: 1, column: 61
Frame: function:'require', file:'', line: 1, column: 266
Error: javax.crypto.BadPaddingException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT
com.android.org.conscrypt.NativeCrypto.EVP_CipherFinal_ex(Native Method)
com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER.doFinalInternal(OpenSSLCipher.java:568)
com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:350)
javax.crypto.Cipher.doFinal(Cipher.java:2056)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:30)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:22)
com.tns.Runtime.runModule(Native Method)
com.tns.Runtime.runModule(Runtime.java:504)
com.tns.Runtime.run(Runtime.java:499)
com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:17)
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5403)
android.app.ActivityThread.-wrap2(ActivityThread.java)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6119)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
03-15 22:42:18.640 3393-3393/com.abcdef.ghijkl E/AndroidRuntime: com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
File: "<unknown>, line: 1, column: 265
StackTrace:
Frame: function:'exports.decrypt', file:'file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js', line: 2, column: 48
Frame: function:'', file:'', line: 1, column: 45
Frame: function:'', file:'file:///data/data/com.abcdef.ghijkl/files/app/main.js', line: 1, column: 61
Frame: function:'require', file:'', line: 1, column: 266
at com.tns.Runtime.runModule(Native Method)
at com.tns.Runtime.runModule(Runtime.java:504)
at com.tns.Runtime.run(Runtime.java:499)
at com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:17)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5403)
... 8 more
03-15 22:42:18.641 3393-3393/com.abcdef.ghijkl D/Error: ERR: exClass=com.tns.NativeScriptException
03-15 22:42:18.641 3393-3393/com.abcdef.ghijkl D/Error: ERR: exMsg=
Error calling module function
Error: javax.crypto.BadPaddingException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT
com.android.org.conscrypt.NativeCrypto.EVP_CipherFinal_ex(Native Method)
com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER.doFinalInternal(OpenSSLCipher.java:568)
com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:350)
javax.crypto.Cipher.doFinal(Cipher.java:2056)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:30)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:22)
com.tns.Runtime.runModule(Native Method)
com.tns.Runtime.runModule(Runtime.java:504)
com.tns.Runtime.run(Runtime.java:499)
com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:17)
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5403)
android.app.ActivityThread.-wrap2(ActivityThread.java)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6119)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
File: "file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js, line: 2, column: 47
StackTrace:
Frame: function:'exports.decrypt', file:'file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js', line: 2, column: 48
Frame: function:'', file:'', line: 1, column: 45
Frame: function:'', file:'file:///data/data/com.abcdef.ghijkl/files/app/main.js', line: 1, column: 61
Frame: function:'require', file:'', line: 1, column: 266
Error: javax.crypto.BadPaddingException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT
com.android.org.conscrypt.NativeCrypto.EVP_CipherFinal_ex(Native Method)
com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER.doFinalInternal(OpenSSLCipher.java:568)
com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:350)
javax.crypto.Cipher.doFinal(Cipher.java:2056)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:30)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:22)
com.tns.Runtime.runModule(Native Method)
com.tns.Runtime.runModule(Runtime.java:504)
com.tns.Runtime.run(Runtime.java:499)
com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:17)
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5403)
android.app.ActivityThread.-wrap2(ActivityThread.java)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6119)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
File: "<unknown>, line: 1, column: 265
StackTrace:
Frame: function:'exports.decrypt', file:'file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js', line: 2, column: 48
Frame: function:'', file:'', line: 1, column: 45
Frame: function:'', file:'file:///data/data/com.abcdef.ghijkl/files/app/main.js', line: 1, column: 61
Frame: function:'require', file:'', line: 1, column: 266
03-15 22:42:18.641 3393-3393/com.abcdef.ghijkl D/Error: ERR: file=Runtime.java
03-15 22:42:18.641 3393-3393/com.abcdef.ghijkl D/Error: ERR: class=com.tns.Runtime
03-15 22:42:18.641 3393-3393/com.abcdef.ghijkl D/Error: ERR: method=runModule line=-2
03-15 22:42:18.641 3393-3393/com.abcdef.ghijkl D/Error: ERR: stack=java.lang.RuntimeException: Unable to create application com.tns.NativeScriptApplication: com.tns.NativeScriptException:
Error calling module function
Error: javax.crypto.BadPaddingException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT
com.android.org.conscrypt.NativeCrypto.EVP_CipherFinal_ex(Native Method)
com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER.doFinalInternal(OpenSSLCipher.java:568)
com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:350)
javax.crypto.Cipher.doFinal(Cipher.java:2056)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:30)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:22)
com.tns.Runtime.runModule(Native Method)
com.tns.Runtime.runModule(Runtime.java:504)
com.tns.Runtime.run(Runtime.java:499)
com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:17)
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5403)
android.app.ActivityThread.-wrap2(ActivityThread.java)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6119)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
File: "file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js, line: 2, column: 47
StackTrace:
Frame: function:'exports.decrypt', file:'file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js', line: 2, column: 48
Frame: function:'', file:'', line: 1, column: 45
Frame: function:'', file:'file:///data/data/com.abcdef.ghijkl/files/app/main.js', line: 1, column: 61
Frame: function:'require', file:'', line: 1, column: 266
Error: javax.crypto.BadPaddingException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT
com.android.org.conscrypt.NativeCrypto.EVP_CipherFinal_ex(Native Method)
com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER.doFinalInternal(OpenSSLCipher.java:568)
com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:350)
javax.crypto.Cipher.doFinal(Cipher.java:2056)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:30)
com.tns.app_protection.AppProtection.decrypt(AppProtection.java:22)
com.tns.Runtime.runModule(Native Method)
com.tns.Runtime.runModule(Runtime.java:504)
com.tns.Runtime.run(Runtime.java:499)
com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:17)
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5403)
android.app.ActivityThread.-wrap2(ActivityThread.java)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6119)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
File: "<unknown>, line: 1, column: 265
StackTrace:
Frame: function:'exports.decrypt', file:'file:///data/data/com.abcdef.ghijkl/files/app/tns_modules/nativescript-app-encryption/app-protection.js', line: 2, column: 48
Frame: function:'', file:'', line: 1, column: 45
Frame: function:'', file:'file:///data/data/com.abcdef.ghijkl/files/app/main.js', line: 1, column: 61
Frame: function:'require', file:'', line: 1, column: 266
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5406)
at andro
03-15 22:42:18.641 3393-3393/com.abcdef.ghijkl D/Error: ERR: TOTAL BYTES WRITTEN: 25460
03-15 22:42:18.643 1525-1540/system_process W/ActivityManager: Force finishing activity com.abcdef.ghijkl/com.tns.NativeScriptActivity
I'm also getting this error.Is there any solution for this??
I also get this exact same issue using some other library (https://github.com/ryan652/EasyCrypt). Decryption worked on older Android versions and stopped working on newer ones. And I'm assuming you also had proguard enabled (since you were building a release apk).
Having the same issue when upgrading from andorid 9 to android 10. encrypting my data in andorid 9 leads to a byte[] of size 2000 while encrypting it in android 10 leads to a size of 2032. encryption on different versions lead to different array sizes, therefore decrypting my (android 9 encrypted) data on andorid 10 won't work because it expects a different size. I still don't now why this happens 1and how to workaround this issue...