Saya mencoba menginstal sertifikat yang ditandatangani sendiri untuk server web saya di Android 4.3. Saya memiliki file .crt di root kartu SD (yang sebenarnya ditiru karena saya tidak memiliki kartu SD di dalam slot).
Untuk menginstal sertifikat saya pergi ke Pengaturan -> Umum -> Keamanan -> Penyimpanan Kredensial -> Instal dari penyimpanan perangkat.
Saya mendapatkan kotak dialog yang menunjukkan nama sertifikat (nama file dikurangi ekstensi .crt) yang dapat saya ubah (tetapi tidak), "digunakan untuk" pull down dengan "VPN dan aplikasi" dipilih dan teks di bagian bawah dialog yang menginformasikan "Paket berisi: satu sertifikat pengguna". Semuanya terlihat oke, jadi saya klik "Oke". Dialog hilang dan pesan roti panggang muncul dengan "[nama] diinstal".
Namun jika saya langsung pergi ke "kredensial Tepercaya dan pilih" Pengguna "tidak ada apa-apa di sana! Sertifikat baru juga tidak di bawah" Sistem "tetapi saya tidak akan mengharapkannya di sana. Jika saya pergi ke browser setelah ini dan mencoba pergi ke saya situs web, saya masih mendapat peringatan bahwa sertifikat situs tidak tepercaya. Saya juga mencoba me-reboot, tetapi tidak ada bedanya.
Apa yang saya lakukan salah? Tidak adanya pesan kesalahan sama sekali tidak membantu. Apakah mungkin sertifikat saya dalam format yang salah? Saya telah mencoba menggunakan file .crt di direktori ssl server dan saya telah mencoba mengubahnya menjadi format DER.
Pembaruan: Saya membaca bahwa Android memerlukan sertifikat dalam format p12, jadi saya mengonversi sertifikat Apache2 ke p12 menggunakan perintah berikut:
openssl pkcs12 -export -inkey server.key -in server.crt -out ~/server.p12
Saya kemudian mengulangi langkah-langkah di atas, mendapatkan pesan sukses yang sama, dan kemudian melanjutkan untuk tetap tidak melihat sertifikat di kredensial pengguna dan saya masih mendapatkan kesalahan sertifikat yang tidak dipercaya dari browser ponsel.