Bagaimana Anda mengimpor sertifikat CA ke ponsel Android?


59

Saya ingin terhubung ke nirkabel Universitas saya menggunakan Nexus One saya. Ketika saya masuk ke "Tambahkan jaringan Wi-Fi" di Pengaturan Nirkabel saya mengisi SSID Jaringan dan pilih 802.1x Enterprise untuk keamanan dan mengisi semuanya.

Masalahnya adalah nirkabel universitas kami menggunakan sertifikat CA Premium Server Thawte untuk sertifikasi.

Ketika saya mengklik daftar drop-down untuk sertifikat CA, saya tidak mendapatkan apa-apa dalam daftar (hanya N / A)

Sekarang saya memiliki sertifikat (Thawte Premium Server CA.pem) dan telah memindahkannya ke kartu SD saya, tetapi sepertinya Android tidak secara otomatis mendeteksinya.

Di mana saya harus meletakkan sertifikat sehingga manajer nirkabel Android mengenalinya. Dengan kata lain, bagaimana saya bisa mengimpor sertifikat CA sehingga Android mengenali bahwa itu ada di telepon dan menampilkannya di daftar turun bawah CA Certificate.

Terima kasih atas bantuannya,

Tomek

PS Ponsel saya tidak di-root

EDIT : Setelah melakukan riset, sepertinya Anda dapat menginstal sertifikat dengan masuk ke pengaturan telepon Anda> Lokasi & Keamanan> Instal dari kartu SD

Sayangnya sepertinya satu-satunya ekstensi file yang diterima adalah .p12. Kelihatannya tidak ada cara untuk mengimpor file .cer atau .pem (yang merupakan dua file yang datang dengan sertifikat Thawte) saat ini.

Tampaknya Anda dapat menggunakan konverter untuk mengonversi file .cer atau .pem Anda menjadi .p12, namun diperlukan file kunci.

https://www.sslshopper.com/ssl-converter.html

Saya tidak tahu di mana mendapatkan file kunci ini untuk sertifikat Thawte.


1
Saya berharap ini tidak tertutup. Ini sangat membantu saya. Terima kasih untuk semuanya di halaman ini.
Ricket

sertifikat .crt juga berfungsi dengan baik
Lie Ryan

1
Pada perangkat HTC dengan Android 2.3.5 saya harus mengubah ekstensi file dari .pemmenjadi .crt. Setelah itu saya benar-benar bisa menemukannya dari Install from SD cardopsi di pengaturan Keamanan . Itu bisa diletakkan di root kartu SD atau di Downloadsfolder.
JJD

OpenSS juga harus dapat mengkonversi antara berbagai format sertifikat.
snaut

Jawaban:


16

Saya telah menggunakan Penginstal Sertifikat Android RealmB untuk kesuksesan besar. Anda cukup mengunggah file PEM Anda yang dikodekan (.cer atau .pem) dan kemudian arahkan browser ponsel Anda ke tautan yang disediakan. Tidak perlu kunci pribadi.


Situs itu sendiri memberi tahu apakah unggahan adalah sertifikat yang valid atau tidak. Itu memberi saya kesalahan sertifikat yang tidak valid. Saya mengunggah yang dengan izin file yang benar pada mesin linux saya dan itu bekerja dengan baik.
so_mv

1
Implikasi keamanan yang mungkin dari situs itu harus ditunjukkan bersama dengan tautan (atau, sebutkan situs web itu sendiri: Bagaimana keamanannya? - Buruk, Anda hanya boleh mengunggah file yang Anda rasa dapat dilihat publik tanpa efek samping. ).
ATAU Mapper

Ini tidak lagi berfungsi :( Unggahan gagal
Vitas

6

Pertama: Android hanya memahami format biner CA dan hanya dengan format file * .crt.
Kedua: Android hanya memahami sertifikat pengguna dalam format file * .p12.

Jadi, Anda dapat memeriksa apakah biner file CA atau teks Anda sangat sederhana: buka dengan editor teks apa pun ^

Jika ada sesuatu seperti 0‚ i0‚ Т , maka itu adalah biner.

Jika Anda melihat sesuatu seperti

Sertifikat: Data: Versi: 3 (0x2) Nomor Seri: 96: 0e: 45: 58: 68: 9a: bf: 00 Algoritma Tanda Tangan: sha1WithRSAEncryption Penerbit: C = UA, ST =

Maka itu adalah teks. Sangat mudah untuk mengubahnya menjadi biner sendiri di * nix:

openssl x509 -inform PEM -outform DER -in CA.pem -out CA.crt

Atau tanyakan saja kepada administrator sistem Anda.

Salin CA.crt dan usercert.p12 ke kartu SD Anda atau kirimkan melalui email (jika Anda memiliki klien email yang dikonfigurasi di Android, biasanya lampiran yang diunduh disimpan dalam folder Unduh, sebenarnya itu tidak masalah).

Buka Keamanan dan temukan opsi seperti ini: instal sertifikat dari kartu SD Anda

Pertama instal CA.crt, lalu usercert.p12

Buka wifi dan buat koneksi baru, pilih EAP 802.1x apa pun dan pilih sertifikat Anda untuk CA CA.crt dan untuk sertifikat pengguna usercert.p12 dalam kasus saya, saya juga memasukkan nama pengguna.


2
Untuk siapa pun ini mungkin membantu di masa depan: Saya tidak punya masalah menginstal sertifikat format teks pada SGS4 - tetapi hanya setelah saya memindahkannya ke folder Unduhan ( Dokumen saya tidak akan melakukan) dan juga hanya dengan opsi yang ditunjukkan dalam pertanyaan, bukan dengan membuka file CRT dari manajer file, di mana Android mengklaim jenis file tidak diketahui (tidak seperti pada Nexus 7, di mana ia bekerja seperti itu).
ATAU Mapper

Saya harus menggunakan Root Cert, bukan cert situs saat disimpan dari Chrome. Dari halaman chrome: F12 (konsol dev), tab Keamanan, Lihat Sertifikat, tab Jalur Sertifikasi, klik simpul akar paling atas, Lihat Sertifikat, tab Detail, tombol "Salin ke file ...", pilih format DER. Membuka dari google drive izinkan saya menginstal cert. Verifikasi itu muncul di telepon di Pengaturan, Keamanan, kredensial Tepercaya, Pengguna.
Curtis Yallop


5

Untuk orang lain yang mencari jawaban ini yang tidak dapat menggunakan solusi realmB karena mereka tidak dapat mengakses internet di ponsel mereka.
Saya baru saja mengubah ekstensi file sertifikat saya dari .cermenjadi .crtdan semuanya bekerja dengan baik! Terima kasih kepada pengguna thread xda ini untuk solusinya.


0

Itulah solusinya. Android hanya menerima sertifikat dalam "mode Biner". Jika Anda memiliki sertifikat dalam mode Teks, yang merupakan format sertifikat paling umum, ubah hanya dalam format "DER Binary". Setelah ini, dorong sertifikat ke dalam folder "unduh perangkat Android dan gunakan menu" Install from SD Card "untuk menginstal sertifikat.

Bekerja untuk Samsung Galaxy, ponsel Sony Xperia, HTC Phone Bekerja untuk Android versi 3.x dan versi 4.x

Olivier


0

Bagaimana Anda mengimpor sertifikat CA ke ponsel Android?

Dokumentasi resmi Android dapat ditemukan di Work with Certificates . Perhatikan bahwa sertifikat harus ASN.1 / DER disandikan. Setelah pengkodean benar, pastikan ekstensi itu CRT atau CER. Jika tidak (seperti yang Anda beri nama ca-cert.der), maka ganti namanya (menjadi ca-cert.crt).

Jika Anda memiliki sertifikat yang disandikan PEM, kemudian ubah ke pengkodean ASN.1 / DER menggunakan (sesuai instruksi Dimtry):

openssl x509 -in ca-cert.pem -inform PEM -outform DER -out ca-cert.crt

Jika tertarik, sistem Trust Store dibakar ke dalam ROM, jadi Anda benar-benar tidak dapat memodifikasinya. Saat Anda memodifikasi Trust Store, Anda sebenarnya sedang mengubah /data/misc/keychaindan salah satu dari dua file: cacerts-addeddan cacerts-removed. Lihat Implementasi ICS Trust Store Nikolay Elenkov .


0

Saya telah berhasil terhubung ke jaringan universitas saya mengikuti langkah-langkah berikut:

  1. Tanya universitas tentang sertifikat yang digunakan, dalam kasus saya DigicertCA.
  2. Google, unduh (saya menyimpannya di akun Dropbox saya), simpan di folder Unduh di telepon (dalam kasus saya Samsung Galaxy S8).
  3. Pada telepon: pergi ke Pengaturan-> Kunci Layar dan Keamanan-> Pengaturan Keamanan Lainnya-> Instal dari Penyimpanan Perangkat (Instal sertifikat dari penyimpanan) - jika sertifikat diunduh pada telepon (folder Unduhan dalam kasus saya itu dikenali dan muncul untuk pilihan).
  4. Mulai ulang ponsel.
  5. Saat mengkonfigurasi jaringan, pada sertifikat CA, pilih Don't validate after installed on phone.

Dalam kasus saya ini berhasil, semoga membantu.


-1

Anda dapat mengakses cer / pem Anda dari kartu SD dengan jenis MIME yang benar untuk diinstal menggunakan TJWS (edisi Android), sehingga Anda tidak perlu mengunggah sertifikat ke beberapa situs web.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.