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?
źródło
Odpowiedzi:
Właśnie miałem ten sam problem.
Idź do
Settings
>Security
>Install from storage
.Znajdź plik certyfikatu i zainstaluj go.
Edycja:
Jeśli zamiast
Install from storage
preferencji maszInstall from SD card
(właśnie to wyświetla się na przykład podczas korzystania z emulatora API-19), wymagany jest dodatkowy krok. Ponieważ w tym przypadku działanie pokazuje tylkomenuRecent
iDownloads
menu bez prostego sposobu wybrania certyfikatu z karty SD.Obejściem tego problemu było umieszczenie certyfikatu na lokalnym serwerze internetowym mojego pulpitu (na przykład mangusta ). Następnie (na emulatorze) otworzyłem katalog internetowy, używając przeglądarki głównej, stuknąłem w certyfikat (patrz poniżej) i wybrałem
Save link
. Plik zostanie pobrany i wyświetlony w widoku Pobrane, a Ty będziesz mógł go pomyślnie wybrać.źródło
Kolejne zastrzeżenie: podczas instalowania certyfikatu przez Ustawienia> Bezpieczeństwo> Zainstaluj z pamięci na moim Nexusie 7, Androidzie 5.0.2 Musiałem przejść do pliku za pomocą pamięci wewnętrznej :
Starając się wybrać plik, używając skrótu do pobrania nie nie działa.
źródło