Встановлення сертифікату без обов'язкового блокування екрана PIN-коду


23

Служба підтримки Google говорить :

Тип прийнятного блокування може бути визначений вашим системним адміністратором.

Де я можу визначити, що прийнятно? Я можу відновити сертифікат, якщо потрібно.

Тож я можу знову використовувати слайд-екран.

(Я використовую CM9 RC1, Android 4.0.4)


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

1
Для захисту своїх облікових даних потрібно використовувати один із типів блокувального екрану, який має якийсь секретний код (шаблон, PIN-код або пароль). Що говорить цей рядок, це те, що ваш адміністратор може (як правило, через політику Exchange ActiveSync) заблокувати ваш телефон, щоб прийняти лише деякі типи, наприклад, вони не можуть довіряти блокуванням шаблонів і можуть думати, що чотиризначний PIN-коди не мають достатньої кількості комбінацій. Це не означає, що ви можете вимкнути цю вимогу безпеки.
GAThrawn

2
@GAThrawn Я вважаю це неприйнятним, якщо я просто встановив ЦС для аутентифікації своїх веб-серверів через SSL (використовуючи сертифікати, що підписуються самостійно). Я б зрозумів це, якби мова йшла про підписання ключів на пристрої або автентифікацію користувача - але обидва - навпаки. На щастя, рішення sgiebels, здається, працює для мене, з деякими незначними коригуваннями, які я описав у коментарях. Поки лише недолік: для цього потрібен корінь.
Izzy

Відповіді:


2

Проблема з вимкненням безпеки блокувального екрану за допомогою перемикання / профілю полягає в тому, що віджети блокувального екрану не з’являються також, тому ви не можете ковзати, щоб розблокувати. Крім того, при перезавантаженні телефону кнопки не працюють, поки ви знову не перезапустите налаштування.

Інший спосіб - встановити сертифікат, як зазвичай, а потім створити резервну копію каталогів / data / misc / keychain та keystore, використовуючи те, що зберігає ACL, наприклад, Root Explorer, у місце, де підтримуються ACL. Я пропоную скопіювати їх у / tmp. Потім очистіть облікові дані з "Налаштування" та ввімкніть "Слайд до розблокування" Потім скопіюйте назад папки з / tmp. CA буде встановлено.


Це вже не працює. Як тільки ви спробуєте десь використати сертифікат (наприклад, підключення до мережі Wi-Fi), ОС вимагає, щоб ви знову встановили блокування на екрані.
Cory Klein

@CoryKlein Якщо натиснути Скасувати, він запропонує вам ввести PIN-код, і ви можете ввести останній, який ви встановили. Це потрібно для розшифрування даних.
Монсьєр

@Kurian - Тому я дотримувався вищезазначених інструкцій, і коли я намагаюся підключитися до мережі Wi-Fi, він говорить "Вам потрібно встановити PIN-код блокованого екрана", я натискаю "Скасувати", і нічого не відбувається. Якщо я натиснув "Гаразд", а потім скасувати звідти, він все одно не запитує PIN-код.
Cory Klein

@CoryKlein Я неправильно прочитав ваш попередній коментар. Я говорив про VPN. Підключення до VPN запропонує останньому PIN-коду блокувального екрану розшифрувати свої облікові дані. Я не знаю, чи працює це для особистих сертифікатів із приватними ключами. Я знаю, що це працює для встановлення довірених сертифікатів CA. Це також може бути конкретний ROM, який ви використовуєте. ПЗУ AOSP до ICS ніколи не потребували PIN-коду блокувального екрану для збереження даних VPN.
Монсьє

7

На сторінці http://wiki.pcprobleemloos.nl/android/cacert я описав, як саме це зробити на моїй сторінці "Встановлення сертифікатів CAcert на Android як" системні "облікові дані без блокування екрана - інструкції.

Я також розмістив його на форумі cyanogenmod: http://forum.cyanogenmod.com/topic/82875-installing-cacert-certifici-on-android-as-system-credentials-without-lockscreen/

В основному, команди:

openssl x509 -inform PEM -subject_hash_old -in root.crt | head -1

Щоб отримати правильне ім'я файлу, конвертуйте сертифікат:

cat root.crt > 5ed36f99.0
openssl x509 -inform PEM -text -in root.crt -out /dev/null >> 5ed36f99.0

Скопіюйте їх у / system / etc / security / cacerts / та chmod нові файли .0 в '644'. Перезавантажте та перевірте. На пристрої Android виберіть "Очистити сертифікати", і ви зможете видалити шпильку (ввівши шпильку та змінивши свій блокнот на "немає" або "стерти"

Тут я використовував кореневий сертифікат CAcert, але ви, мабуть, хочете і сертифікату class3.crt, або використовувати власні сертифікати.


Ви згадуєте "власні сертифікати". Я просто спробував його з моїм «CA» (створений з використанням TinyCA), і на останньому етапі ( «повідомити») тільки отримую повідомлення про помилку: 140342119224992:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE. Перевірка с Не вдається завантажити сертифікат у openssl , .pemфайл повинен відповідати. Але потім ваша остання команда нічого не змінює. Щось не так, чи очікується те, що підписаний / створений КА? І перш ніж я розпочну хакерство: чи все-таки це має працювати?
Izzy

Гаразд, працював і був прийнятий з моєю самостійно створеною TinyCA CA:, openssl x509 -inform PEM -text -fingerprint -in cacert.pem > d6a2705a.0потім переміщуючи блок base64 вгору за допомогою текстового редактора, розміщуючи файл /system/etc/security/cacerts/, запускаючи chown root:root d6a2705a.0і chmod 0644 d6a2705a.0зсередини каталогу - et voila, він виявляється як довірений системний сертифікат . Єеаа!
Іззі

@sgiebels Чи випадково у вас також є рішення, як використовувати облікові дані (із системних облікових даних чи інших) у підключенні до бездротової мережі 802.1X? Схоже, що брелок / брелок на пристрої (/ data / misc / key ...) використовують пароль для шифрування, таким чином: щоразу, коли потрібні облікові дані (підключення до WLAN), PIN / пароль знову запитується ( в моїй системі) замок знову ввімкнено.
Івін

Це спрацювало добре, за винятком того, що у мене виникли проблеми з форматуванням cert через закінчення рядків dos. dos2unix перетворить їх, після чого перевірте, чи є правильне закінчення у рядку сертифіката (моє виглядало так: -----END CERTIFICATE-----Certificate:що також спричинило помилку розбору.
deed02392

4

Я виявив рішення, яке працює без додаткового копіювання програмного забезпечення або вручну:

  1. Встановіть ваш екран блокування на "візерунок". Введіть шаблон і PIN-код для розблокування. Запам’ятайте PIN-код для розблокування.
  2. Встановіть свій сертифікат користувача.
  3. Вимкнення та ввімкнення екрана.
  4. Введіть шаблон кілька разів помилково, до появи "Забутий шаблон?" з'являється варіант.
  5. Клацніть «Забули шаблон?», Прокрутіть униз, введіть PIN-код для розблокування та підтвердіть «ОК».
  6. Закрийте вікно "Налаштування розблокування екрана" кнопкою "назад", не вибираючи опцію .

Тепер система встановлена ​​на "Розмах розблокувати", але сертифікат користувача все ще може бути використаний (тестується за допомогою веб-браузера та спеціального додатка за допомогою DefaultHttpClient).

Тестовано на Android 4.1.2 на Galaxy Tab 2 10.1.


не працює з wpa-enterprise / TLS на LG G2, certs зникли після цього
Євген Петров

Це чудова помилка! Спасибі! (прекрасно співпрацював із Galaxy S5, android 6)
Адіель

0
  • Ви можете скористатися профілями CyanogenMod .
    (Для інших читачів: для цього потрібен користувацький CyanogenMod Rom версії 9+)

    Просто створіть або модифікуйте наявний профіль і вимкніть там «блокування екрана».

    Це: Налаштування системи-> Профілі-> За замовчуванням-> Режим блокування екрана-> Вимкнено

  • Інтегруйте свій сертифікат у стандартний файл зберігання ключів Android

    Дивіться відмінний підказки CAcert тут

    Я не впевнений, якщо ви можете це зробити за допомогою підписаного сертифіката (можливо, вам доведеться перейти на саморобний CA, можливо, використовуйте tinyca для гарного інструменту gui на * nix).


Це не працює (більше). Як тільки ви встановите сертифікати (наприклад, сертифікати з cacert.org), ця опція / елемент у профілі буде сірою.
синюватий

-1

Я знайшов спосіб вирішити проблему, але він вимагає root та може працювати лише з кореневими, самопідписаними або проміжними ЦО.

Якщо у вас є сертифікат, якому Android не довіряється, коли ви додаєте його, він передається в особистий магазин cert. Коли ви додаєте сертифікат в цей персональний магазин зберігання, для розблокування пристрою для системи потрібен більш високий рівень безпеки. Але якщо вам вдасться додати свій сертифікат до системного магазину, у вас немає цієї вимоги. Очевидно, що root потрібно додати сертифікат до системного магазину, але це легко.

Ось як це зробити:

1 - Додайте звичайний серт. Наприклад, називався мій церт some.crt. Він буде зберігатися у вашому особистому магазині, а Android запитає у вас PIN-код / ​​пароль ... Продовжуйте.

2 - За допомогою файлового менеджера з можливостями root перегляньте файли в /data/misc/keychain/cacerts-addedабо /data/misc/keystore. Ви повинні побачити файл, який називається 1000_USRCERT_someсертифікатом, який ви додали на кроці 1.

3 - Перемістіть цей файл на system/etc/security/cacerts (вам потрібно буде змонтувати системний розділ r / w)

4 - Перезавантажте телефон

5 - Тепер ви можете очистити PIN-код / ​​пароль, встановлені для розблокування пристрою.

Працював для мене з підписаним сертифікатом на Android 4.4.2. Сподіваюся, це допомагає!


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