การติดตั้งใบรับรองโดยไม่มีหน้าจอล็อค PIN บังคับ


23

ฝ่ายสนับสนุนของ Google กล่าวว่า :

ประเภทของล็อคที่ยอมรับได้อาจกำหนดไว้ล่วงหน้าโดยผู้ดูแลระบบของคุณ

ฉันจะกำหนดสิ่งที่ยอมรับได้ที่ไหน ฉันสามารถสร้างใบรับรองใหม่หากจำเป็น

ดังนั้นฉันสามารถใช้สไลด์ล็อคหน้าจออีกครั้ง

(ฉันใช้ CM9 RC1, Android 4.0.4)


1
ฉันจะยอมรับวิธีแก้ปัญหาที่ติดตั้งใบรับรองไปยังระบบโดยตรงดังนั้นผ่านข้อกำหนดขา
rdlu

1
เพื่อรักษาความปลอดภัยข้อมูลประจำตัวของคุณเป็นข้อกำหนดที่คุณใช้หนึ่งในประเภท lockscreen ที่มีรหัสลับบางประเภท (รูปแบบ PIN หรือรหัสผ่าน) สิ่งที่บรรทัดนั้นบอกคุณคือผู้ดูแลระบบของคุณสามารถ (ปกติผ่านนโยบาย Exchange ActiveSync) ล็อคโทรศัพท์ของคุณเพื่อให้ยอมรับเฉพาะบางประเภทเท่านั้นตัวอย่างเช่นพวกเขาอาจไม่เชื่อถือรูปแบบการล็อคและอาจคิดว่าตัวเลข 4 หลัก PIN มีชุดค่าผสมไม่เพียงพอ ไม่ได้บอกว่าคุณสามารถปิดข้อกำหนดด้านความปลอดภัยนี้ได้
GAThrawn

2
@Grawhrawn ฉันพบว่าไม่สามารถยอมรับได้หากฉันเพิ่งติดตั้ง CA เพื่อตรวจสอบสิทธิ์เซิร์ฟเวอร์เว็บของฉันผ่าน SSL (ใช้ใบรับรองที่ลงนามเอง) ฉันเข้าใจว่ามันเกี่ยวกับการเซ็นกุญแจบนอุปกรณ์หรือรับรองความถูกต้องของผู้ใช้ - แต่ทั้งคู่เป็นวิธีอื่น โชคดีที่วิธีการแก้ปัญหา sgiebelsดูเหมือนจะทำงานให้ฉันด้วยการปรับเปลี่ยนเล็กน้อยที่ฉันได้อธิบายไว้ในความคิดเห็นที่นั่น ข้อเสียเปรียบเท่านั้น: มันต้องใช้ราก
Izzy

คำตอบ:


2

ปัญหาเกี่ยวกับการปิดใช้งานความปลอดภัย lockscreen โดยใช้สลับ / โปรไฟล์คือวิดเจ็ต lockscreen ไม่ปรากฏดังนั้นคุณไม่สามารถเลื่อนเพื่อปลดล็อกได้ นอกจากนี้เมื่อคุณรีบูทโทรศัพท์ปุ่มจะไม่ทำงานจนกว่าคุณจะยกเลิกการตั้งค่าอีกครั้ง

อีกวิธีหนึ่งคือการติดตั้งใบรับรองตามปกติจากนั้นสำรองข้อมูลไดเร็กทอรี / data / misc / keychain และ keystore โดยใช้สิ่งที่รักษา ACL เช่น Root Explorer ไปยังตำแหน่งที่รองรับ ACL ฉันขอแนะนำให้คัดลอกไปยัง / tmp จากนั้นล้างข้อมูลรับรองจากการตั้งค่าและเปิดใช้งาน Slide To Unlock จากนั้นคัดลอกโฟลเดอร์จาก / tmp CA จะถูกติดตั้ง


สิ่งนี้ไม่ทำงานอีกต่อไป ทันทีที่คุณพยายามใช้ใบรับรองที่ไหนสักแห่ง (เช่นในการเชื่อมต่อกับเครือข่าย wifi) ระบบปฏิบัติการจะให้คุณตั้งค่าการล็อคบนหน้าจออีกครั้ง
คอรีไคลน์

@CoryKlein หากคุณคลิกยกเลิกมันจะแจ้งให้คุณใส่ PIN และคุณสามารถป้อน PIN ล่าสุดที่คุณตั้งไว้ มันจำเป็นต้องถอดรหัสข้อมูล
Monstieur

@Kurian - ดังนั้นฉันทำตามคำแนะนำข้างต้นและเมื่อฉันพยายามเชื่อมต่อกับเครือข่าย wifi มันบอกว่า "คุณต้องตั้งค่า PIN ล็อคหน้าจอ" ฉันคลิก "ยกเลิก" และไม่มีอะไรเกิดขึ้น หากฉันกด "ตกลง" แล้วยกเลิกออกจากที่นั่นก็ยังไม่ถาม PIN
คอรีไคลน์

@CoryKlein ฉันอ่านความคิดเห็นก่อนหน้านี้ผิด ฉันกำลังพูดถึง VPN การเชื่อมต่อกับ VPN จะแจ้งให้คุณใส่ PIN lockscreen ล่าสุดเพื่อถอดรหัสข้อมูลประจำตัวของคุณ ฉันไม่ทราบว่าทำงานกับใบรับรองส่วนบุคคลด้วยรหัสส่วนตัวหรือไม่ ฉันรู้ว่ามันใช้งานได้สำหรับการติดตั้งใบรับรอง CA ที่เชื่อถือได้ อาจเป็น ROM เฉพาะที่คุณใช้ ROM AOSP แบบ pre-ICS ไม่จำเป็นต้องใช้ PIN ล็อคหน้าจอสำหรับการบันทึกข้อมูลรับรอง VPN
Monstieur

7

ฉันได้อธิบายวิธีทำ exacly นี้ในหน้าของฉัน "การติดตั้งใบรับรอง CAcert บน Android เป็นข้อมูลประจำตัว 'ระบบ' โดยไม่ต้องล็อกหน้าจอ - คำแนะนำ" ที่http://wiki.pcprobleemloos.nl/android/cacert

ฉันยังโพสต์ไว้ในฟอรัม cyanogenmod: http://forum.cyanogenmod.com/topic/82875-installing-cacert-certificates-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 ของคุณเลือก 'Clear cerficates' และคุณสามารถลบหมุดได้ (โดยการป้อนพินและเปลี่ยน lockscreen ของคุณเป็น 'none' หรือ 'เช็ด'

ที่นี่ฉันใช้ใบรับรองรูท 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ไฟล์ควรจะแข่งขัน แต่แล้วคำสั่งสุดท้ายของคุณก็ไม่ได้เปลี่ยนแปลงอะไรเลย มีอะไรผิดปกติหรือเป็นสิ่งที่คาดไว้สำหรับ CA ที่ลงชื่อด้วยตนเอง / สร้างขึ้น และก่อนที่ฉันจะเริ่มแฮ็ค: ควรจะทำงานอย่างไร
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จากภายในไดเรกทอรี - และ voila มันกลายเป็นใบรับรองระบบที่เชื่อถือได้. Yeehaa!
Izzy

@sgiebels คุณมีวิธีแก้ปัญหาด้วยวิธีการใช้ข้อมูลรับรอง (จากข้อมูลรับรองระบบหรืออื่น ๆ ) ในการเชื่อมต่อ 802.1X WLAN หรือไม่? ดูเหมือนว่าที่เก็บคีย์ / พวงกุญแจบนอุปกรณ์ (/ data / misc / key ... ) ใช้รหัสผ่านสำหรับการเข้ารหัสดังนั้น: ทุกครั้งที่ต้องการข้อมูลประจำตัว (เชื่อมต่อกับ WLAN) ขอ PIN / รหัสผ่านอีกครั้งและ ( ในระบบของฉัน) ล็อคอยู่อีกครั้ง
Ivin

สิ่งนี้ทำงานได้ดียกเว้นฉันยังได้รับปัญหาเกี่ยวกับการจัดรูปแบบใบรับรองเนื่องจากการสิ้นสุดบรรทัดดอส dos2unix จะแปลงพวกเขาจากนั้นตรวจสอบว่าคุณมีจุดจบที่ถูกต้องในบรรทัดใบรับรอง (ของฉันมีลักษณะเช่นนี้: -----END CERTIFICATE-----Certificate:ซึ่งทำให้เกิดข้อผิดพลาดในการแยกวิเคราะห์ด้วยเช่นกัน
deed02392

4

ฉันได้ค้นพบโซลูชันที่ทำงานได้โดยไม่ต้องใช้ซอฟต์แวร์เพิ่มเติมหรือคัดลอกไฟล์ด้วยตนเอง:

  1. ตั้งค่าหน้าจอล็อคของคุณเป็น "รูปแบบ" ป้อนรูปแบบและ PIN การปลดล็อก จำ PIN ปลดล็อก
  2. ติดตั้งใบรับรองผู้ใช้ของคุณ
  3. ปิดและเปิดหน้าจอ
  4. ป้อนรูปแบบที่ผิดสองสามครั้งจนกระทั่ง "ลืมรูปแบบ" ตัวเลือกจะปรากฏขึ้น
  5. คลิก "ลืมรูปแบบ?" เลื่อนลงป้อนรหัสปลดล็อคและยืนยันด้วย "ตกลง"
  6. ปิดหน้าต่าง "การตั้งค่าหน้าจอปลดล็อก" กับปุ่มย้อนกลับโดยไม่ต้องเลือกตัวเลือก

ระบบได้รับการตั้งค่าเป็น "Swipe Unlock" แต่ใบรับรองผู้ใช้ยังคงใช้ได้ (ทดสอบกับเว็บเบราว์เซอร์และแอปที่กำหนดเองโดยใช้ DefaultHttpClient)

ทดสอบกับ Android 4.1.2 บน Galaxy Tab 2 10.1


ไม่ทำงานกับ wpa-enterprise / TLS บน LG G2, certs หายไปหลังจากนี้
Eugene Petrov

นี่เป็นข้อผิดพลาดที่ยอดเยี่ยม! ขอบคุณ! (ทำงานได้อย่างสมบูรณ์แบบกับ Galaxy S5, android 6)
Adiel

0
  • คุณสามารถใช้โปรไฟล์ของ CyanogenMod ได้
    (สำหรับผู้อ่านอื่น ๆ : ต้องใช้ CyanogenMod Rom รุ่น 9+ ที่กำหนดเอง)

    เพียงแค่สร้างหรือแก้ไขโพรไฟล์ที่มีอยู่แล้วปิด "ล็อคหน้าจอ" ที่นั่น

    มันคือ: การตั้งค่าระบบ -> โปรไฟล์ -> Default-> โหมดล็อคหน้าจอ -> ปิดการใช้งาน

  • รวมใบรับรองของคุณเข้ากับไฟล์ที่เก็บคีย์ Android มาตรฐาน

    ดูวิธีการที่ยอดเยี่ยมของ CAcert ที่นี่

    ฉันไม่แน่ใจ แต่ถ้าคุณสามารถทำสิ่งนี้ได้ด้วยใบรับรองที่ลงนามเอง (คุณอาจต้องเปลี่ยนไปใช้ CA ที่สร้างตัวเองขึ้นมา (อาจใช้ tinyca สำหรับเครื่องมือ gui ที่ดีใน * ระวัง))


สิ่งนี้ไม่ทำงาน (อีกต่อไป) ทันทีที่คุณติดตั้งใบรับรอง (เช่นใบรับรองจาก cacert.org) ตัวเลือก / รายการนี้ในโปรไฟล์จะเป็นสีเทา
blueyed

-1

ฉันพบวิธีในการแก้ปัญหา แต่ต้องใช้รูทและอาจทำงานกับ CA ที่รูตการเซ็นชื่อด้วยตนเองหรือ CA ระดับกลางเท่านั้น

หากคุณมีใบรับรองที่ Android ไม่เชื่อถือเมื่อคุณเพิ่มมันจะไปที่ร้านใบรับรองส่วนตัว เมื่อคุณเพิ่มใบรับรองในที่เก็บใบรับรองส่วนบุคคลนี้ระบบต้องมีระดับความปลอดภัยที่สูงขึ้นเพื่อปลดล็อกอุปกรณ์ แต่ถ้าคุณจัดการเพื่อเพิ่มใบรับรองของคุณไปยังร้านค้าระบบแล้วคุณไม่มีข้อกำหนดนี้ เห็นได้ชัดว่าจำเป็นต้องรูทเพื่อเพิ่มใบรับรองในที่จัดเก็บระบบ แต่มันเงียบง่าย

นี่คือวิธีที่จะทำ:

1 - เพิ่มใบรับรองของคุณตามปกติ some.crtยกตัวอย่างเช่นใบรับรองของฉันถูกเรียกว่า มันจะถูกเก็บไว้ในร้านค้าส่วนบุคคลของคุณและ Android จะขอรหัสผ่าน / รหัสผ่าน ...

2 - ด้วยการจัดการไฟล์ที่มีความสามารถรากเรียกดูไฟล์ในหรือ/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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.