Я пытаюсь установить этот сертификат на планшет Google Nexus 7 .
Я скопировал файл сертификата (из Win7x64) на его внутреннее хранилище и открыл его в файловом менеджере, чтобы установить его. Эта процедура работала для предыдущей (ныне истекшей) версии сертификата (которую я удалил на устройстве перед попыткой установить новый).
Однако для этого нового сертификата появляется следующее сообщение:
Не удалось установить, поскольку файл сертификата не может быть прочитан.
Один и тот же файл можно без проблем установить в различные хранилища сертификатов на компьютере, к которому я подключил планшет (следовательно, загруженный файл не поврежден). Я несколько раз скопировал файл на планшет и повторил попытку, всегда с тем же результатом (следовательно, скопированный файл, скорее всего, также не поврежден).
Сначала на планшете был Android 4.4.4, потом я обновился до Android 5.0.2. Я получаю одно и то же сообщение об ошибке в обеих системах.
Администраторы, ответственные за предоставление сертификата, до сих пор не получали таких отчетов, и сертификат, казалось, безупречно устанавливался для других людей на устройствах Android различных типов.
Я не мог найти много связанных вопросов в Интернете; поиск сообщения об ошибке быстро привел к файлам ресурсов локализации, которые указывают это сообщение (обычно это плохой признак в отношении частоты появления пользователей, которые сталкиваются с сообщением об ошибке). Наиболее перспективные ссылки все еще кажутся тупиками:
- Сообщение об ошибке упоминается в сообщении на форуме , но единственная реакция на него, кажется, хм ... не совсем уверен, что это такое. Я посмотрю в это хотя (с декабря 2013 года). Я не смог найти никакого продолжения этой проблемы, и остальная часть темы, кажется, не имеет отношения к болтовне.
- Существует открытый вопрос SO со ссылкой на то же сообщение (хотя и ссылающийся на что-то под названием «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: open failed: EACCES (разрешение отклонено) . Я не понимаю это сообщение - я успешно скопировал и открыл другие файлы на устройстве точно так же, как я делал это сейчас с файлом сертификата. Кроме того, как бы я правильно установил эти разрешения на файлы при копировании их на устройство через проводник Windows?
источник
Ответы:
Просто была такая же проблема.
Перейти к
Settings
>Security
>Install from storage
.Найдите файл сертификата и установите его.
Изменить:
Если вместо
Install from storage
предпочтения у вас естьInstall from SD card
(это то, что отображается, когда вы используете эмулятор API-19, например), то требуется еще один дополнительный шаг. Потому что в этом случае активность показывает толькоRecent
иDownloads
меню без простого способа выбрать сертификат из SDCard.Обходной путь для меня заключался в том, чтобы поместить сертификат на локальный веб-сервер моего компьютера (например, mongoose ). Затем (на эмуляторе) я использовал стандартный браузер, чтобы открыть веб-каталог, нажал на сертификат (см. Ниже) и выбрал
Save link
. Файл будет загружен и показан в представлении «Загрузки», и вы сможете выбрать его успешно.источник
Еще одна оговорка: при установке сертификата через Настройки> Безопасность> Установить из хранилища на моем Nexus 7, Android 5.0.2 мне пришлось перейти к файлу через Внутреннее хранилище :
Попытка выбрать файл с помощью ярлыка на Загрузки ничего не работает.
источник