Неможливо встановити сертифікат


13

Я намагаюся встановити цей сертифікат на планшет Google Nexus 7 .

Я скопіював файл сертифіката (з Win7x64) на його внутрішнє сховище та відкрив його в файловому менеджері для його встановлення. Ця процедура працювала для попередньої (тепер закінчилася) версії сертифіката (яку я видалив на пристрої, перш ніж намагатися встановити новий).

Однак для цього нового сертифіката з'являється таке повідомлення:

Не вдалося встановити, оскільки файл сертифіката не вдалося прочитати.

Цей самий файл бездоганно можна було встановити в різні сховища сертифікатів на комп'ютері, до якого я підключив планшетний ПК (отже, завантажений файл не пошкоджений). Я скопіював файл кілька разів на планшет і повторив спробу, завжди з тим самим результатом (отже, скопійований файл, ймовірно, також не пошкоджений).

Спочатку планшет мав Android 4.4.4, потім я перейшов на Android 5.0.2. Я отримую однакове повідомлення про помилки в обох системах.

Адміністратори, відповідальні за надання сертифіката, досі не отримували таких звітів, і сертифікат, здається, бездоганно встановлювався для інших людей на пристроях Android різних типів.

Я не зміг знайти багато супутніх проблем в Інтернеті; googling для повідомлення про помилку швидко призвів до файлів ресурсів локалізації, які вказують це повідомлення (як правило, поганий знак щодо частоти користувачів там, щоб зустріти повідомлення про помилку). Найбільш перспективні посилання все ще здаються тупиковими:

  • Повідомлення про помилку згадується у дописі на форумі , але єдиною реакцією на це, здається, є хм ... не дуже впевнений, що це таке. Я погляну на це, хоча (з грудня 2013 року). Я не зміг знайти жодного подальшого вдосконалення цього питання, а решта теми, схоже, не пов'язана між собою.
  • Існує відкрите запитання про те, що посилається на те саме повідомлення (хоча воно стосується "Android Moto G") з березня 2014 року, але поки ніхто не дав відповіді.

Отже, мої запитання:

  • На яку проблему насправді вказує повідомлення про помилку?
  • Як я можу встановити файл сертифіката?

РЕДАКТУВАННЯ: Ось висновок журналу того, що відбувається, коли я намагаюся відкрити сертифікат у програмі керування файлами на пристрої:

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

Найважливішою частиною якої, здається, є java.io.FileNotFoundException: /storage/emulated/0/Download/infcacert.crt: відкрито не вдалося: EACCES (у дозволі відмовлено) . Я не розумію цього повідомлення - я успішно скопіював та відкрив інші файли на пристрій так само, як я це робив із файлом сертифікату. Крім того, як я можу навіть встановити ці дозволи на файли належним чином, копіюючи їх на пристрій через Windows Explorer?


Якщо ви знайомі з adb, чи можете ви надати копію висновку logcat при спробі встановити сертифікат. Оскільки, здається, є якийсь журнал прямо перед тостом. grepcode.com/file/repository.grepcode.com/java/ext/…
Morrison Chang

@MorrisonChang: Я додав відповідний вихід журналу. Я не впевнений, як його інтерпретувати (у цій конкретній ситуації - за різних обставин, виняток був би цілком зрозумілим), точніше, як виправити це питання.
Користувач від Stgt

Відповіді:


28

Просто було те саме питання.

Перейти до Settings> Security> Install from storage.
Знайдіть файл сертифіката та встановіть його.

Редагувати:
Якщо замістьInstall from storageваших уподобаньInstall from SD card(це те, що відображається, наприклад, при використанні емулятора API-19), необхідний один додатковий крок. Тому що в цьому випадку активність показує лишеменюRecentтаDownloadsпростий спосіб вибору сертифіката з sdcard.
Для мене вирішенням було поставити сертифікат на локальний веб-сервер мого робочого столу (наприклад, мангуста ). Потім (на емуляторі) я використовував браузер акцій, щоб відкрити веб-каталог, натиснув на сертифікат (див. Нижче) і вибравSave link. Файл буде завантажено та показано у вікні "Завантаження", і ви зможете його успішно вибрати.

зберегти скріншот посилання


9

Ще одне застереження: при встановленні сертифіката через Налаштування> Захист> Встановити зі сховища на моєму Nexus 7, Android 5.0.2 мені довелося перейти до файлу через внутрішню пам’ять :

Переміщення через внутрішнє зберігання

Спроба вибрати файл з допомогою ярлика на Завантаження нічого НЕ працює.


Чи можете ви поясніть, як це зробити? Я маю на увазі, як ви переходите до файлу через внутрішнє зберігання?
Олексій Липов

@AlexLipov Я додав скріншот, сподіваюся, що це уточнить.
кинан

ДЯКУЮ! Я витягнув волосся на цьому пристрої генімоції 5.0.0 Nexus.
Ділан Пірс

Ще мені довелося це робити в Android P на моєму Pixel. Довелося перейти до Pixel, а потім перейти до Downloads, а не використовувати завантаження верхнього рівня, перш ніж він прийме файли.
Йона Х.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.