Próbuję zainstalować ten certyfikat na tablecie Google Nexus 7 .
Skopiowałem plik certyfikatu (z Win7x64) do pamięci wewnętrznej i otworzyłem go w menedżerze plików, aby go zainstalować. Ta procedura działała w przypadku poprzedniej (obecnie wygasłej) wersji certyfikatu (którą usunąłem z urządzenia przed próbą zainstalowania nowej).
Jednak w przypadku tego nowego certyfikatu pojawia się następujący komunikat:
Nie można zainstalować, ponieważ nie można odczytać pliku certyfikatu.
Ten sam plik można bezbłędnie zainstalować w różnych magazynach certyfikatów na komputerze, do którego podłączyłem tablet (stąd pobrany plik nie jest uszkodzony). Skopiowałem plik kilka razy na tablet i spróbowałem ponownie, zawsze z tym samym rezultatem (stąd skopiowany plik najprawdopodobniej też nie jest uszkodzony).
Najpierw tablet z Androidem 4.4.4, a następnie zaktualizowałem go do Androida 5.0.2. Otrzymuję ten sam komunikat o błędzie w obu systemach.
Administratorzy odpowiedzialni za dostarczenie certyfikatu nie otrzymali do tej pory żadnych takich raportów, a certyfikat wydawał się instalować bezbłędnie dla innych osób na urządzeniach z Androidem różnych typów.
Nie mogłem znaleźć wielu powiązanych problemów w sieci; przeszukanie komunikatu o błędzie szybko doprowadziło do plików zasobów lokalizacji, które określają ten komunikat (zwykle zły znak w odniesieniu do częstotliwości użytkowników tam napotykających komunikat o błędzie). Najbardziej obiecujące linki nadal wydają się ślepymi zaułkami:
- Komunikat o błędzie jest wymieniony w poście na forum , ale jedyną reakcją na to wydaje się być hmm ... naprawdę nie jestem pewien, co to jest. Zajmę się tym jednak (od grudnia 2013 r.). Nie mogłem znaleźć dalszych działań w związku z tym problemem, a reszta wątku wydaje się być niepowiązana ze sobą.
- Istnieje otwarte pytanie SO, które powołuje się na tę samą wiadomość (choć odnosi się do czegoś o nazwie „Android Moto G”) z marca 2014 r., Ale jak dotąd nikt nie udzielił odpowiedzi.
Dlatego moje pytania to:
- Na jaki problem wskazuje komunikat o błędzie?
- Jak mogę zainstalować plik certyfikatu?
EDYCJA: Oto wynik dziennika tego, co się dzieje, gdy próbuję otworzyć certyfikat w aplikacji menedżera plików na urządzeniu:
I/ActivityManager( 540): START u0 {act=android.intent.action.VIEW dat=file:///storage/emulated/0/Download/infcacert.crt typ=application/x-x509-ca-cert flg=0x10000000 cmp=com.android.certinstaller/.CertInstallerMain} from uid 10083 on display 0
E/ActivityManager( 540): Invalid thumbnail dimensions: 720x720
I/ActivityManager( 540): Start proc com.android.certinstaller for activity com.android.certinstaller/.CertInstallerMain: pid=11644 uid=10008 gids={50008, 9997} abi=armeabi-v7a
E/CertInstaller(11644): Failed to read certificate: java.io.FileNotFoundException: /storage/emulated/0/Download/infcacert.crt: open failed: EACCES (Permission denied)
D/OpenGLRenderer(11644): Render dirty regions requested: true
D/Atlas (11644): Validating map...
I/Adreno-EGL(11644): <qeglDrvAPI_eglInitialize:410>: QUALCOMM Build: 10/28/14, c33033c, Ia6306ec328
I/OpenGLRenderer(11644): Initialized EGL, version 1.4
D/OpenGLRenderer(11644): Enabling debug mode 0
I/ActivityManager( 540): Displayed com.android.certinstaller/.CertInstallerMain: +362ms (total +453ms)
V/RenderScript(11644): Application requested CPU execution
V/RenderScript(11644): 0xa330c400 Launching thread(s), CPUs 4
D/TaskPersister( 540): removeObsoleteFile: deleting file=7_task.xml
D/TaskPersister( 540): removeObsoleteFile: deleting file=7_task_thumbnail.png
Kluczową częścią wydaje się być java.io.FileNotFoundException: /storage/emulated/0/Download/infcacert.crt: open failed: EACCES (odmowa zezwolenia) . Nie rozumiem tego komunikatu - pomyślnie skopiowałem i otworzyłem inne pliki na urządzeniu w taki sam sposób, jak teraz z plikiem certyfikatu. Co więcej, jak mam odpowiednio ustawić te uprawnienia do plików, kopiując je na urządzenie za pomocą Eksploratora Windows?