ฉันกำลังพยายามติดตั้งใบรับรองแบบลงนามด้วยตนเองสำหรับเว็บเซิร์ฟเวอร์ของฉันใน Android 4.3 ฉันมีไฟล์. crt ในรูทของการ์ด SD (ซึ่งจำลองขึ้นจริงเพราะฉันไม่มีการ์ด SD ในสล็อต)
ในการติดตั้งใบรับรองฉันไปที่การตั้งค่า -> ทั่วไป -> ความปลอดภัย -> ที่เก็บข้อมูลรับรอง -> ติดตั้งจากที่เก็บข้อมูลอุปกรณ์
ฉันได้รับกล่องโต้ตอบแสดงชื่อของใบรับรอง (ชื่อไฟล์ลบส่วนขยาย. crt) ซึ่งฉันสามารถแก้ไขได้ (แต่ไม่ใช่) เป็น "ใช้สำหรับ" ดึงลงด้วย "VPN และแอพ" ที่เลือกและข้อความที่ด้านล่าง ของไดอะล็อกที่แจ้งว่า "แพ็คเกจบรรจุ: ใบรับรองผู้ใช้หนึ่งใบ" ทุกอย่างดูโอเคฉันคลิก "ตกลง" กล่องโต้ตอบจะหายไปและข้อความขนมปังปิ้งปรากฏขึ้นพร้อมกับ "[ชื่อ] ติดตั้ง"
อย่างไรก็ตามถ้าฉันไปที่ "ข้อมูลประจำตัวที่เชื่อถือได้ในทันทีและเลือก" ผู้ใช้ "ไม่มีอะไรที่นั่นใบรับรองใหม่ก็ไม่ได้อยู่ภายใต้" ระบบ "แต่ฉันจะไม่คาดหวังว่าจะมีหากฉันไปที่เบราว์เซอร์หลังจากนี้และลองไปที่ เว็บไซต์ฉันยังคงได้รับคำเตือนว่าใบรับรองของไซต์นั้นไม่น่าเชื่อถือฉันได้ลองการรีบูตเครื่อง แต่ก็ไม่ได้สร้างความแตกต่าง
ผมทำอะไรผิดหรือเปล่า? การขาดข้อความแสดงข้อผิดพลาดทั้งหมดไม่มีประโยชน์ เป็นไปได้หรือไม่ว่าใบรับรองของฉันอยู่ในรูปแบบที่ไม่ถูกต้อง ฉันลองใช้ไฟล์. crt ในไดเรกทอรี ssl ของเซิร์ฟเวอร์แล้วฉันได้ลองแปลงเป็นรูปแบบ DER
อัปเดต: ฉันอ่านบางที่ Android ต้องใช้ใบรับรองในรูปแบบ p12 ดังนั้นฉันจึงแปลงใบรับรอง Apache2 เป็น p12 โดยใช้คำสั่งต่อไปนี้:
openssl pkcs12 -export -inkey server.key -in server.crt -out ~/server.p12
ฉันทำขั้นตอนข้างต้นซ้ำแล้วซ้ำอีกได้รับข้อความแสดงความสำเร็จที่เหมือนกันจากนั้นดำเนินการต่อเพื่อไม่เห็นใบรับรองในข้อมูลรับรองผู้ใช้และฉันยังคงได้รับข้อผิดพลาดใบรับรองที่ไม่น่าเชื่อถือจากเบราว์เซอร์มือถือ