Nutomic / movecerts

Move Android Certificates to system to avoid security warnings
GNU General Public License v3.0
29 stars 11 forks source link

FC on Lollipop when opening #4

Open SanderGit opened 9 years ago

SanderGit commented 9 years ago

When opening Move Certs! on Lollipop (5.0.1) on a HTC One M7 GPE, the app immediately crashes. It has been granted root (after 2 tries it prompted for it) but did not help. Just purchased version 1.0.2 from the Play Store.

E/AndroidRuntime(23065): FATAL EXCEPTION: AsyncTask #1
E/AndroidRuntime(23065): Process: com.nutomic.zertman, PID: 23065
E/AndroidRuntime(23065): java.lang.RuntimeException: An error occured while executing doInBackground()
E/AndroidRuntime(23065):        at android.os.AsyncTask$3.done(AsyncTask.java:300)
E/AndroidRuntime(23065):        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
E/AndroidRuntime(23065):        at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
E/AndroidRuntime(23065):        at java.util.concurrent.FutureTask.run(FutureTask.java:242)
E/AndroidRuntime(23065):        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
E/AndroidRuntime(23065):        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
E/AndroidRuntime(23065):        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
E/AndroidRuntime(23065):        at java.lang.Thread.run(Thread.java:818)
E/AndroidRuntime(23065): Caused by: java.lang.NullPointerException: Attempt to get length of null array
E/AndroidRuntime(23065):        at com.nutomic.zertman.CertificateManager.getCertificates(CertificateManager.java:73)
E/AndroidRuntime(23065):        at com.nutomic.zertman.CertificateAdapter$UpdateListTask.doInBackground(CertificateAdapter.java:103)
E/AndroidRuntime(23065):        at com.nutomic.zertman.CertificateAdapter$UpdateListTask.doInBackground(CertificateAdapter.java:100)
E/AndroidRuntime(23065):        at android.os.AsyncTask$2.call(AsyncTask.java:288)
E/AndroidRuntime(23065):        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
E/AndroidRuntime(23065):        ... 4 more
Nutomic commented 9 years ago

This app is based on a hack, which doesn't seem to work with your phone.

Unfortunately, there's nothing I can do about this, but if anyone finds a similar, working hack, I'll happily implement that.

wkearney99 commented 8 years ago

It likewise immediately quits on a Samsung Galaxy S7.

Nutomic commented 8 years ago

The problem seems to be that some manufacturers moved the user certificate store to a different folder. Unfortunately I don't have any of the affected devices. If you can find the new path on your device, I'll implement that.

ThomasCr commented 8 years ago

on my S5+ with new Marshmallow the app also crashes on startup. With Lollipop it was working.... I checked the folder /system/etc/security/cacerts/ and it still exist and has files inside. I think it would be a good idea to catch the crash at startup and display a message depending on the error (path xy could not be opened for reading or what ever..)

ThomasCr commented 8 years ago

okay, i search in your code for paths and found where you are searching for user cert:

https://github.com/Nutomic/movecerts/blob/master/app/src/main/java/com/nutomic/zertman/CertificateManager.java

On Marshmallow/S5+ the user certs moved to: /data/misc/keystore/user_0/ You need more information?

screenshot_2016-06-03-15-38-19