Instal Sertifikat tanpa layar kunci PIN wajib

23

Dukungan Google mengatakan :

Jenis kunci yang dapat diterima dapat ditentukan sebelumnya oleh administrator sistem Anda.

Di mana saya dapat menentukan apa yang dapat diterima? Saya dapat membuat ulang sertifikat jika perlu.

Jadi saya bisa menggunakan slide lockscreen lagi.

(Saya menggunakan CM9 RC1, Android 4.0.4)

RDL
sumber
1
Saya akan menerima solusi yang menginstal sertifikat ke sistem secara langsung, sehingga melewati persyaratan pin.
rdlu
1
Untuk mengamankan kredensial Anda, Anda harus menggunakan salah satu jenis layar kunci yang memiliki beberapa jenis kode rahasia (pola, PIN, atau kata sandi). Apa yang dikatakan garis itu kepada Anda adalah bahwa administrator Anda dapat (biasanya melalui kebijakan Exchange ActiveSync) mengunci ponsel Anda sehingga hanya beberapa jenis yang diterima, misalnya mereka mungkin tidak mempercayai kunci-pola, dan mungkin berpikir bahwa 4 digit PIN tidak memiliki cukup kombinasi. Itu tidak mengatakan bahwa Anda dapat mematikan persyaratan keamanan ini.
Diambil
2
@ GATambar saya merasa itu tidak dapat diterima jika saya hanya menginstal CA untuk mengotentikasi server web saya melalui SSL (menggunakan sertifikat yang ditandatangani sendiri). Saya mengerti jika itu tentang menandatangani kunci di perangkat, atau mengautentikasi pengguna - tetapi keduanya sebaliknya. Untungnya, solusi sgiebels tampaknya bekerja untuk saya, dengan beberapa penyesuaian kecil yang telah saya jelaskan di komentar di sana. Hanya kekurangannya sejauh ini: itu membutuhkan root.
Izzy

Jawaban:

2

Masalah dengan menonaktifkan keamanan layar kunci menggunakan toggle / profil adalah bahwa widget layar kunci tidak muncul sehingga Anda tidak dapat meluncur untuk membuka kunci. Juga, ketika Anda me-reboot telepon Anda tombol-tombolnya tidak berfungsi sampai Anda mengubah pengaturan kembali.

Cara lain adalah dengan menginstal sertifikat seperti biasa kemudian backup direktori / data / misc / keychain dan keystore menggunakan sesuatu yang mempertahankan ACL seperti Root Explorer ke lokasi yang mendukung ACL. Saya sarankan menyalinnya ke / tmp. Kemudian kosongkan kredensial dari Pengaturan dan aktifkan Slide To Unlock. Kemudian salin kembali folder dari / tmp. CA akan diinstal.

Monstieur
sumber
Ini tidak berfungsi lagi. Segera setelah Anda mencoba menggunakan sertifikat di suatu tempat (seperti menghubungkan ke jaringan wifi) OS mengharuskan Anda untuk mengatur kunci pada layar lagi.
Cory Klein
@CoryKlein Jika Anda mengklik batal itu akan meminta Anda untuk PIN dan Anda dapat memasukkan yang terakhir yang Anda atur. Diperlukan untuk mendekripsi data.
Monstieur
@Kurian - Jadi saya mengikuti instruksi di atas, dan ketika saya mencoba untuk terhubung ke jaringan wifi dikatakan "Anda perlu mengatur PIN layar kunci", saya klik "Batal", dan tidak ada yang terjadi. Jika saya menekan "Ok" kemudian membatalkan dari sana, itu masih tidak meminta PIN.
Cory Klein
@CoryKlein Saya salah membaca komentar Anda sebelumnya. Saya berbicara tentang VPN. Menyambung ke VPN akan meminta PIN lockscreen terakhir Anda untuk mendekripsi kredensial Anda. Saya tidak tahu apakah itu berfungsi untuk sertifikat pribadi dengan kunci pribadi. Saya tahu ini berfungsi untuk menginstal sertifikat CA tepercaya. Mungkin juga ROM spesifik yang Anda gunakan. ROM AOSP Pra-ICS tidak pernah membutuhkan PIN layar penguncian untuk menyimpan kredensial VPN.
Monstieur
7

Saya telah menjelaskan cara melakukannya dengan tepat di halaman saya, "Menginstal sertifikat CAcert di Android sebagai kredensial 'sistem' tanpa lockscreen - instruksi" di http://wiki.pcprobleemloos.nl/android/cacert

Saya juga mempostingnya di forum cyanogenmod: http://forum.cyanogenmod.com/topic/82875-installing-cacert-certificates-on-android-as-system-credentials-without-lockscreen/

Pada dasarnya, perintahnya adalah:

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

Untuk mendapatkan nama file yang benar, maka konversikan sertifikat:

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

Salin ke / system / etc / security / cacerts / dan chmod file .0 yang baru ke '644'. Mulai ulang dan verifikasi. Pada perangkat android Anda pilih 'Bersihkan cerficates' dan Anda dapat menghapus pin (dengan memasukkan pin dan mengubah layar kunci Anda ke 'tidak ada' atau 'menghapus'

Di sini saya menggunakan sertifikat root CAcert, tetapi Anda mungkin menginginkan sertifikat class3.crt juga, atau menggunakan sertifikat Anda sendiri.

sgiebels
sumber
Anda menyebutkan "sertifikat sendiri". Aku hanya mencoba dengan saya "CA" (dibuat menggunakan TinyCA), dan di langkah terakhir ( "menginformasikan") hanya mendapatkan error: 140342119224992:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE. Memeriksa dengan Tidak dapat memuat sertifikat di openssl , .pemfile tersebut harus sesuai. Namun, perintah terakhir Anda tidak mengubah apa pun. Adakah yang salah, atau apakah itu diharapkan untuk CA yang ditandatangani sendiri / dibuat? Dan sebelum saya mulai meretas: haruskah itu berhasil?
Izzy
OK, bekerja dan diterima dengan TinyCA CA: yang saya buat sendiri openssl x509 -inform PEM -text -fingerprint -in cacert.pem > d6a2705a.0, kemudian memindahkan blok base64 ke atas menggunakan editor teks, menempatkan file ke dalam /system/etc/security/cacerts/, menjalankan chown root:root d6a2705a.0dan chmod 0644 d6a2705a.0dari dalam direktori - dan voila, itu muncul sebagai sertifikat sistem tepercaya . Yeehaa!
Izzy
@ sgiebels Apakah Anda kebetulan juga memiliki solusi bagaimana menggunakan kredensial (dari kredensial sistem atau lainnya) di koneksi WLAN 802.1X? Sepertinya keystore / gantungan kunci pada perangkat (/ data / misc / key ...) menggunakan kata sandi untuk enkripsi, dengan demikian: setiap kali kredensial diperlukan (menghubungkan ke WLAN), PIN / kata sandi diminta kembali suatu ( di sistem saya) kunci diaktifkan lagi.
Ivin
Ini bekerja dengan baik kecuali saya juga punya masalah dengan pemformatan cert karena akhiran dos baris. dos2unix akan mengonversinya, kemudian memeriksa Anda memiliki akhir yang benar pada baris sertifikat (milik saya tampak seperti ini: -----END CERTIFICATE-----Certificate:yang menyebabkan kesalahan parse juga.
deed02392
4

Saya telah menemukan solusi yang berfungsi tanpa menyalin perangkat lunak atau file manual tambahan:

  1. Atur layar kunci Anda ke "pola". Masukkan pola dan PIN buka kunci. Ingat PIN buka kunci.
  2. Instal sertifikat pengguna Anda.
  3. Matikan dan hidupkan layar.
  4. Masukkan pola yang salah beberapa kali, hingga "Lupa pola?" opsi muncul.
  5. Klik "Lupa pola?", Gulir ke bawah, masukkan PIN buka kunci dan konfirmasi dengan "OK".
  6. Tutup jendela "Pengaturan buka kunci layar" dengan tombol kembali tanpa memilih opsi .

Sistem sekarang diatur ke "Swipe unlock", tetapi sertifikat pengguna masih dapat digunakan (diuji dengan browser web dan aplikasi khusus menggunakan DefaultHttpClient).

Diuji pada Android 4.1.2 pada Galaxy Tab 2 10.1.

Heinzi
sumber
tidak bekerja dengan wpa-enterprise / TLS di LG G2, sertifikat menghilang setelah ini
Eugene Petrov
Ini adalah bug yang hebat! Terima kasih! (bekerja dengan sempurna dengan Galaxy S5, android 6)
Adiel
0
  • Anda dapat menggunakan profil CyanogenMod .
    (Untuk pembaca lain: ini membutuhkan versi kustom CyanogenMod Rom 9+)

    Cukup buat atau modifikasi profil yang ada dan matikan "kunci layar" di sana.

    Ini: Pengaturan Sistem-> Profil-> Default-> Mode layar kunci-> Dinonaktifkan

  • Integrasikan sertifikat Anda ke dalam file keystore Android standar

    Lihat howto luar biasa CAcert di sini

    Namun saya tidak yakin apakah Anda dapat melakukan ini dengan sertifikat yang ditandatangani sendiri (Anda mungkin harus beralih ke CA buatan sendiri mungkin (gunakan tinyca untuk alat gui-bagus di * nix)).

ce4
sumber
Ini tidak berfungsi (lagi). Segera setelah Anda menginstal sertifikat (mis. Yang dari cacert.org), opsi / item dalam profil ini berwarna abu-abu.
blueyed
-1

Saya menemukan cara untuk menyelesaikan masalah, tetapi membutuhkan root dan hanya dapat bekerja dengan root, ditandatangani sendiri, atau CA menengah.

Jika Anda memiliki sertifikat yang tidak dipercaya oleh Android, saat Anda menambahkannya, sertifikat itu ada di toko cert pribadi. Ketika Anda menambahkan sertifikat di toko sertifikat pribadi ini, sistem memerlukan tingkat keamanan yang lebih tinggi untuk membuka kunci perangkat. Tetapi jika Anda berhasil menambahkan sertifikat Anda ke toko sistem maka Anda tidak memiliki persyaratan ini. Jelas, root diperlukan untuk menambahkan sertifikat ke toko sistem, tetapi itu tenang mudah.

Inilah cara melakukannya:

1 - Tambahkan sertifikat Anda secara normal. Misalnya, sertifikat saya dipanggil some.crt. Ini akan disimpan di toko pribadi Anda dan Android akan meminta Anda pin / kata sandi ... Lanjutkan.

2 - Dengan manajer file dengan kemampuan root, jelajahi file di /data/misc/keychain/cacerts-addedatau /data/misc/keystore. Anda harus melihat file di sini yang disebut 1000_USRCERT_someitu adalah sertifikat yang telah Anda tambahkan di langkah 1.

3 - Pindahkan file ini ke system/etc/security/cacerts (Anda perlu me-mount partisi sistem r / w)

4 - Mulai ulang telepon

5 - Anda sekarang dapat menghapus pin / kata sandi yang telah Anda atur untuk membuka kunci perangkat.

Bekerja untuk saya dengan sertifikat yang ditandatangani sendiri di Android 4.4.2. Semoga ini bisa membantu!

Guttermonk
sumber
Menarik, bahwa Anda tidak menyebut sumber aslinya , tidak juga memberi penghargaan pada penulisnya. Ikuti Cara referensi materi yang ditulis oleh orang lain .
Firelord