Làm cách nào để nhập chứng chỉ CA vào điện thoại Android?


59

Tôi muốn kết nối với mạng không dây của trường đại học bằng Nexus One của tôi. Khi tôi đi đến "Thêm mạng Wi-Fi" trong Cài đặt không dây, tôi điền SSID mạng và chọn 802.1x Enterprise để bảo mật và điền vào mọi thứ.

Vấn đề là không dây của trường đại học của chúng tôi sử dụng chứng chỉ Thawte Premium Server CA để chứng nhận.

Khi tôi nhấp vào danh sách thả xuống cho chứng chỉ CA, tôi không nhận được gì trong danh sách (chỉ N / A)

Bây giờ tôi có chứng chỉ (Thawte Premium Server CA.pem) và đã chuyển nó sang thẻ SD của tôi, nhưng có vẻ như Android không tự động phát hiện ra nó.

Tôi nên đặt chứng chỉ ở đâu để người quản lý không dây Android nhận ra nó. Nói cách khác, làm cách nào tôi có thể nhập chứng chỉ CA để Android nhận ra rằng nó có trên điện thoại và hiển thị trong danh sách thả xuống Chứng chỉ CA.

Cảm ơn vì bất kì sự giúp đỡ,

Tomek

PS Điện thoại của tôi không được root

EDIT : Sau khi thực hiện một số nghiên cứu, có vẻ như bạn có thể cài đặt chứng chỉ bằng cách đi tới cài đặt điện thoại> Vị trí & Bảo mật> Cài đặt từ thẻ SD

Thật không may, có vẻ như phần mở rộng tệp được chấp nhận duy nhất là .p12. Có vẻ như không có cách nào để nhập tệp .cer hoặc .pem (là hai tệp duy nhất đi kèm với chứng chỉ Thawte) tại thời điểm này.

Có vẻ như bạn có thể sử dụng trình chuyển đổi để chuyển đổi tệp .cer hoặc .pem của mình thành .p12, tuy nhiên cần có một tệp chính.

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

Tôi không biết lấy tệp khóa này ở đâu để lấy chứng chỉ Thawte.


1
Tôi ước điều này sẽ không được tiết lộ. Nó đã được hữu ích nhất cho tôi. Cảm ơn tất cả mọi người trên trang này.
Ricket

chứng chỉ .crt cũng hoạt động tốt
Lie Ryan

1
Trên thiết bị HTC có Android 2.3.5, tôi đã phải thay đổi phần mở rộng tệp từ .pemsang .crt. Sau đó tôi thực sự có thể định vị nó từ Install from SD cardtùy chọn trong cài đặt Bảo mật . Nó có thể được đặt trong thư mục gốc của thẻ SD hoặc trong Downloadsthư mục.
JJD

Openssl cũng có thể chuyển đổi giữa các định dạng chứng chỉ khác nhau.
snaut

Câu trả lời:


16

Tôi đã sử dụng Trình cài đặt chứng chỉ Android của RealmB để thành công lớn. Bạn chỉ cần tải lên tệp được mã hóa PEM (.cer hoặc .pem) của mình rồi trỏ trình duyệt điện thoại của bạn đến liên kết được cung cấp. Không cần khóa riêng.


Trang web đó cho biết nếu tải lên là một chứng chỉ hợp lệ hay không. Nó đã cho tôi lỗi chứng chỉ không hợp lệ. Tôi đã tải lên cái có quyền truy cập tập tin đúng trên máy linux của tôi và nó hoạt động rất tốt.
so_mv

1
Ý nghĩa bảo mật có thể có của trang web đó phải được chỉ ra cùng với liên kết (hoặc, trích dẫn chính trang web đó: Bảo mật như thế nào? - Tệ, bạn chỉ nên tải lên các tệp mà bạn cảm thấy có thể được xem công khai mà không có bất kỳ tác dụng phụ nào. ).
HOẶC Mapper

Điều này không còn hoạt động :( Tải lên thất bại
Vitas

6

Thứ nhất: Android chỉ hiểu định dạng nhị phân của CA và chỉ với định dạng tệp * .crt.
Thứ hai: Android chỉ hiểu chứng chỉ người dùng ở định dạng tệp * .p12.

Vì vậy, bạn có thể kiểm tra xem tệp CA của bạn nhị phân hoặc văn bản rất đơn giản: mở nó bằng bất kỳ trình soạn thảo văn bản nào ^

Nếu có một cái gì đó như 0‚ i0‚ Т , thì đó là nhị phân.

Nếu bạn thấy một cái gì đó như

Chứng chỉ: Dữ liệu: Phiên bản: 3 (0x2) Số sê-ri: 96: 0e: 45: 58: 68: 9a: bf: 00 Thuật toán chữ ký: sha1WithRSAEncrypt Nhà phát hành: C = UA, ST =

Sau đó là văn bản. Rất đơn giản để tự chuyển đổi nó thành nhị phân trong * nix:

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

Hoặc chỉ cần hỏi quản trị hệ thống của bạn.

Sao chép cả CA.crt và usercert.p12 vào thẻ SD của bạn hoặc gửi qua email (nếu bạn có ứng dụng email được cấu hình trên Android, thông thường các tệp đính kèm đã tải xuống được lưu trữ trong thư mục Tải xuống, thực sự không thành vấn đề).

Đi đến Bảo mật và tìm tùy chọn tương tự như thế này: cài đặt chứng chỉ từ thẻ SD của bạn

Đầu tiên cài đặt CA.crt, sau đó usercert.p12

Truy cập wifi và tạo kết nối mới, chọn EAP 802.1x bất cứ điều gì và chọn chứng chỉ của bạn cho CA CA.crt và cho chứng chỉ người dùng usercert.p12 trong trường hợp của tôi, tôi cũng đã nhập tên người dùng.


2
Đối với bất cứ ai điều này có thể giúp ích trong tương lai: Tôi không gặp vấn đề gì khi cài đặt chứng chỉ định dạng văn bản trên một chiếc SGS4 - nhưng chỉ sau khi tôi đã chuyển nó vào thư mục Tải xuống ( Tài liệu của tôi sẽ không làm) và cũng chỉ với tùy chọn được chỉ định trong câu hỏi, không phải bằng cách mở tệp CRT từ trình quản lý tệp, trong đó Android tuyên bố loại tệp không xác định (không giống như trên Nexus 7, nơi nó hoạt động như vậy).
HOẶC Mapper

Tôi đã phải sử dụng Chứng chỉ gốc chứ không phải chứng chỉ trang web khi được lưu từ Chrome. Từ trang chrome: F12 (bảng điều khiển dev), tab Bảo mật, Xem chứng chỉ, tab Đường dẫn chứng nhận, nhấp vào nút gốc trên cùng, Xem chứng chỉ, tab Chi tiết, nút "Sao chép vào tệp ...", chọn định dạng DER. Mở từ google drive hãy để tôi cài đặt cert. Xác minh nó hiển thị trên điện thoại trong Cài đặt, Bảo mật, Thông tin đáng tin cậy, Người dùng.
Curtis Yallop

5

http://abtevrythng.blogspot.com/2010/06/adding-cer-certert-on-your-android.html

Cho thấy làm thế nào để thực sự đạt được điều này. Làm việc tốt cho tôi. Hãy thử nó.

Trong bài viết này .cer to .pfx (đó là những gì bạn cần trên Android) được đưa ra. Phương pháp đơn giản được đưa ra bằng cách sử dụng mà bạn có thể chuyển đổi .cer thành .pfx và sử dụng nó để kết nối với mạng Wi-Fi. Ngoài ra, bạn không cần bất kỳ Khóa nào để chuyển đổi .cer thành .pfx !!!


5

Đối với những người khác đang tìm kiếm câu trả lời này, những người không thể sử dụng giải pháp của realmB vì họ không thể truy cập internet trên điện thoại của họ.
Tôi chỉ thay đổi phần mở rộng tập tin giấy chứng nhận của tôi từ .cerđến .crtvà tất cả mọi thứ đã làm việc tốt! Cảm ơn người dùng của chủ đề xda này cho giải pháp.


0

Đó chính xác là giải pháp. Android chỉ chấp nhận chứng chỉ trong "Chế độ nhị phân". Nếu bạn có chứng chỉ ở chế độ Văn bản, là định dạng chứng chỉ phổ biến nhất, hãy chuyển đổi nó đơn giản ở định dạng "DER Binary". Sau đó, đẩy chứng chỉ vào "thư mục tải xuống của thiết bị Android và sử dụng menu" Cài đặt từ thẻ SD "để cài đặt chứng chỉ.

Hoạt động cho Samsung Galaxy, điện thoại Sony Xperia, HTC Phone Hoạt động cho phiên bản Android 3.x và 4.x

Olivier


0

Làm cách nào để nhập chứng chỉ CA vào điện thoại Android?

Tài liệu chính thức của Android có thể được tìm thấy tại Work with Chứng chỉ . Lưu ý rằng chứng chỉ phải được mã hóa ASN.1 / DER. Khi mã hóa là chính xác, chỉ cần đảm bảo phần mở rộng là CRT hoặc CER. Nếu nó không (như bạn đặt tên cho nó ca-cert.der), sau đó đổi tên nó (thành ca-cert.crt).

Nếu bạn có chứng chỉ được mã hóa PEM, thì hãy chuyển đổi nó thành mã hóa ASN.1 / DER bằng cách sử dụng (theo hướng dẫn của Dimtry):

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

Nếu quan tâm, Cửa hàng Trust của hệ thống sẽ được ghi vào ROM, vì vậy bạn thực sự không thể sửa đổi nó. Khi bạn sửa đổi Cửa hàng ủy thác, bạn thực sự đang điều chỉnh /data/misc/keychainvà một trong hai tệp: cacerts-addedcacerts-removed. Xem Triển khai Cửa hàng ủy thác ICS của Nikolay Elenkov .


0

Tôi đã quản lý để kết nối với mạng lưới trường đại học của mình theo các bước tiếp theo:

  1. Hỏi trường đại học về chứng chỉ mà nó được sử dụng, trong trường hợp của tôi DigicertCA.
  2. Google nó, tải xuống (tôi đã lưu nó vào tài khoản Dropbox của tôi), lưu nó trong thư mục Tải xuống trong điện thoại (trong trường hợp của tôi là Samsung Galaxy S8).
  3. Trên điện thoại: truy cập Cài đặt-> Màn hình khóa và Bảo mật-> Cài đặt bảo mật khác-> Cài đặt từ Bộ nhớ thiết bị (Cài đặt chứng chỉ từ bộ lưu trữ) - nếu chứng chỉ được tải xuống trên điện thoại (Thư mục tải xuống trong trường hợp của tôi được nhận dạng và xuất hiện cho lựa chọn).
  4. Khởi động lại điện thoại.
  5. Khi cấu hình mạng, tại chứng chỉ CA, chọn Don't validate after installed on phone.

Trong trường hợp của tôi nó đã làm việc, hy vọng nó sẽ giúp.


-1

Bạn có thể truy cập cer / pem của mình từ thẻ SD với loại MIME chính xác sẽ được cài đặt bằng TJWS (phiên bản Android), do đó bạn không cần phải tải chứng chỉ của mình lên một số trang web.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.