Zorunlu PIN kilit ekranı olmadan Sertifika Yükleme


23

Google Destek diyor ki :

Kabul edilebilir bir kilit tipi sistem yöneticiniz tarafından önceden belirlenmiş olabilir.

Neyin kabul edilebilir olduğunu nerede tanımlayabilirim? Gerekirse sertifikayı yeniden oluşturabilirim.

Böylece tekrar slayt kilidi kullanabilirim.

(CM9 RC1, Android 4.0.4 kullanıyorum)


1
Sertifikayı doğrudan sisteme yükleyen ve böylece pin gereksinimini aşan bir çözümü kabul edeceğim.
rdlu,

1
Kimlik bilgilerinizi güvence altına almak için, bir tür gizli kod (kalıp, PIN veya şifre) içeren kilit ekranı türlerinden birini kullanmanız gerekir. Bu çizginin size söylediği şey, yöneticinizin (normalde bir Exchange ActiveSync politikası aracılığıyla) telefonunuzu kilitleyebilmesidir, böylece yalnızca bazılarının kabul edilmesini sağlayın, örneğin kalıp kilitlerine güvenmeyebilir ve 4 basamaklı olabilir. PIN’lerde yeterli kombinasyon yok. Bu güvenlik gereksinimini kapatabileceğinizi söylemiyorsunuz.
GAThrawn

2
@GAThrawn Web sunucularımı SSL üzerinden (kendinden imzalı sertifikalar kullanarak) doğrulamak için bir CA yüklerseniz bunu kabul edilemez buluyorum. Cihazdaki anahtarları imzalamak veya kullanıcının kimliğini doğrulamakla ilgili olsaydı anlarımdı - ama ikisi de bunun tersi. Neyse ki, sgiebels çözümü benim için çalışıyor , buradaki açıklamalarda da bazı küçük ayarlamalar yaptım. Sadece şimdiye kadar dezavantajı: kök gerektirir.
Izzy

Yanıtlar:


2

Geçiş / profili kullanarak kilit ekranı güvenliğini devre dışı bırakmanın sorunu, kilit ekranı widget'lerinin görünmemesidir, bu sayede kilidi açmak için kaydırılamazsınız. Ayrıca, telefonunuzu yeniden başlattığınızda, ayarları tekrar ayarlayana kadar düğmeler çalışmaz.

Başka bir yol da sertifikayı her zamanki gibi yüklemektir, ardından / data / misc / keychain ve anahtar deposu dizinlerini, Root Explorer gibi ACL'leri ACL'leri destekleyen bir konuma koruyan bir şey kullanarak yedekleyin. Onları / tmp'ye kopyalamanızı öneririm. Ardından, kimlik bilgilerini Ayarlar'dan silin ve Kilidi Açmak İçin Slayt'ı etkinleştirin. Ardından / tmp dizinlerini geri kopyalayın. CA yüklenecek.


Bu artık çalışmıyor. Sertifikayı bir yerde kullanmaya çalıştığınızda (bir wifi ağına bağlanmak gibi), işletim sistemi ekranda tekrar bir kilit ayarlamanızı gerektirir.
Cory Klein

@CoryKlein İptal'i tıklatırsanız sizden bir PIN ister ve belirlediğiniz sonuncuyu girebilirsiniz. Verilerin şifresini çözmek gerekiyor.
Monstieur

@Kurian - Yukarıdaki talimatları izledim ve bir wifi ağına bağlanmaya çalıştığımda "Bir kilit ekranı PIN'i ayarlamanız gerekiyor" yazıyor, "İptal" i tıklıyorum ve hiçbir şey olmuyor. "Tamam" a basarsam oradan iptal et, yine de PIN’i istemiyor.
Cory Klein

@CoryKlein Önceki yorumunuzu yanlış okudum. VPN'ler hakkında konuşuyordum. Bir VPN'e bağlanmak, kimlik bilgilerinizin şifresini çözmek için en son kilit ekranı şifresini ister. Özel anahtarlarla kişisel sertifikalar için işe yarayıp yaramadığını bilmiyorum. Güvenilir CA sertifikaları yüklemek için işe yaradığını biliyorum. Ayrıca kullandığınız belirli ROM da olabilir. ICS Öncesi AOSP ROM'larda VPN kimlik bilgilerini kaydetmek için hiçbir zaman kilit ekranı PIN'ine ihtiyaç duyulmaz.
Monstieur

7

Bunu tam olarak nasıl yapabileceğimi " http://wiki.pcprobleemloos.nl/android/cacert adresinde " Android'de CAcert sertifikalarını kilit ekranı olmayan "sistem" kimlik bilgileri olarak yükleme - yönergeler "sayfamda nasıl yapacağımı açıkladım.

Ayrıca siyanojenod forumunda da yayınladım: http://forum.cyanogenmod.com/topic/82875-installing-cacert-certificates-on-android-as-system-credentials-without-lockscreen/

Temel olarak, komutlar:

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

Doğru dosya adını almak için sertifikayı dönüştürün:

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

Bunları / system / etc / security / cacerts / dizinine kopyalayın ve yeni .0 dosyalarını '644' dizinine kopyalayın. Yeniden başlat ve doğrula. Android cihazınızda 'Clear cerficates'i seçin ve pimi çıkarabilirsiniz (pime girip kilit ekranınızı' none 'veya' silin 'olarak değiştirerek).

Burada CAcert kök sertifikasını kullandım, ancak muhtemelen class3.crt sertifikasını da istiyor veya kendi sertifikalarınızı kullanıyorsunuz.


"Kendi sertifikalarınızdan" bahsediyorsunuz. Sadece (TinyCA kullanılarak oluşturulan) benim "CA" ile denedim ve son adımda sadece bir hata alıyorum ( "bilgilendirmek"): 140342119224992:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE. Sertifika openssl'ye yüklenemiyor ile işaretlendiğinde , .pemdosyanın eşleşmesi gerekir. Ancak, son emriniz hiçbir şeyi değiştirmez. Yanlış bir şey mi, yoksa kendinden imzalı / oluşturulmuş bir CA için mi bekleniyor? Korsanlığa başlamadan önce: bu yine de çalışmalı mı?
Izzy

Tamam, çalıştı ve kendi kendime oluşturduğum TinyCA CA: ile kabul edildi openssl x509 -inform PEM -text -fingerprint -in cacert.pem > d6a2705a.0, daha sonra bir metin editörü kullanarak base64 bloğunu en üste taşıyarak, dosyayı yerleştirerek /system/etc/security/cacerts/, çalıştırarak chown root:root d6a2705a.0ve dizinden chmod 0644 d6a2705a.0içinden - et voila, güvenilir bir sistem sertifikası haline geldi . Yeehaa!
Izzy

@sgiebels 802.1X WLAN bağlantısında kimlik bilgilerinin (sistem kimlik bilgilerinden veya diğerinden) nasıl kullanılacağı konusunda bir şansınız var mı? Cihazdaki anahtar deposu / anahtar zinciri (/ data / misc / key ...) şifreleme için şifreyi kullanıyor gibi görünüyor, bu nedenle: her bir kimlik bilgisi gerektiğinde (WLAN'a bağlanırken), PIN / şifre tekrar istenir ( benim sistemimde) kilit tekrar açık.
Ivin

Bu işe yaramadı ancak dos satır sonları nedeniyle sertifika biçimlendirme ile ilgili bir sorun var. dos2unix o zaman sertifika hattında doğru sonla kontrol onları dönüştürür (mayın şuna benziyordu: -----END CERTIFICATE-----Certificate:. de bir ayrıştırma hatası neden olan
deed02392

4

Ek yazılım veya manuel dosya kopyalama olmadan çalışan bir çözüm keşfettim:

  1. Kilit ekranınızı "kalıba" ayarlayın. Bir model ve kilit açma PIN kodu girin. Kilit açma PIN kodunu unutmayın.
  2. Kullanıcı sertifikanızı yükleyin.
  3. Ekranı kapatıp açın.
  4. Deseni bir kaç kez yanlış girip, "Deseni unuttunuz mu?" seçenek belirir.
  5. "Deseni unuttunuz mu?" Seçeneğini tıklayın, aşağı kaydırın, kilit açma PIN kodunu girin ve "Tamam" ile onaylayın.
  6. Bir seçenek seçmeden "Ekran kilidi açma ayarları" penceresini geri düğmesiyle kapatın .

Sistem şimdi "Swipe unlock" olarak ayarlandı, ancak kullanıcı sertifikası hala kullanılabilir (web tarayıcısı ve DefaultHttpClient kullanan özel bir uygulama ile test edildi).

Galaxy Tab üzerinde Android 4.1.2'de Test Edildi 2 10.1.


LG G2'de wpa-enterprise / TLS ile çalışmıyor, bundan sonra para kaybedildi
Eugene Petrov

Bu harika bir hata! Teşekkürler! (Galaxy S5, android 6 ile mükemmel çalıştı)
Adiel

0
  • CyanogenMod'un profillerini kullanabilirsiniz .
    (Diğer okuyucular için: bu özel CyanogenMod Rom sürüm 9+ gerektiriyor)

    Sadece mevcut bir profili oluşturun veya değiştirin ve oradaki “ekran kilidini” kapatın.

    Bu: Sistem Ayarları-> Profiller-> Varsayılan-> Ekranı kilitle modu-> Devre Dışı

  • Sertifikanızı standart Android anahtar deposu dosyasına entegre edin

    Cacert mükemmel nasıl belgesine bakın burada

    Ancak bunu kendinden imzalı bir sertifika ile yapabilirseniz (belki de kendi kendine yapılan bir CA'ya geçmek zorunda kalabilirsiniz) (* nix üzerinde güzel bir gui-aracı için tinyca kullanın).


Bu işe yaramıyor (artık). Sertifikaları kurduğunuzda (örneğin cacert.org'dan olanlar), profildeki bu seçenek / öğe gri renktedir.
blueyed

-1

Sorunu çözmenin bir yolunu buldum, ancak kök gerektiriyor ve yalnızca kök, kendinden imzalı veya ara CA'larla çalışabiliyor.

Android tarafından güvenilmeyen bir sertifikanız varsa, eklediğinizde, kişisel sertifika deposuna gider. Bu kişisel sertifika deposuna bir sertifika eklediğinizde, cihazın kilidini açmak için sistem daha yüksek bir güvenlik seviyesi gerektirir. Ancak, sertifikanızı sistem mağazasına eklemeyi başarırsanız, bu gereksiniminiz yoktur. Açıkçası, kök sistem deposuna bir sertifika eklemek için gereklidir, ancak bu sessiz kolaydır.

İşte nasıl yapılacağı:

1 - Sertifikanızı normal şekilde ekleyin. Mesela benim sertifikam çağrıldı some.crt. Kişisel mağazanızda saklanacak ve android size bir pin / şifre soracak ... Devam edin.

2 - Kök özelliklerine sahip bir dosya yöneticisi ile, /data/misc/keychain/cacerts-addedveya içindeki dosyalara göz atın /data/misc/keystore. Burada 1000_USRCERT_some, 1. adımda eklediğiniz sertifika olan bir dosya görmelisiniz .

3 - Bu dosyayı şuraya taşı system/etc/security/cacerts (sistem bölümünü r / w olarak bağlaman gerekecek)

4 - Telefonu yeniden başlatın

5 - Artık cihazın kilidini açmak için belirlediğiniz pin / şifreyi silebilirsiniz.

Android 4.4.2'de kendinden imzalı bir sertifika ile benim için çalıştı. Umarım yardımcı olur!


Asıl kaynaktan bahsetmediğiniz ilginç, yazarın ne uygun bir şekilde kaynak gösterileceği. Takip başkaları tarafından yazılmış malzemeyi referans nasıl .
Firelord
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.