Mục tiêu của tôi: Tạo cấu hình Wi-Fi EAP - bao gồm Chứng chỉ CA - trong Android theo chương trình.Làm thế nào để cài đặt một chứng chỉ CA (cho cấu hình WiFi EAP) trong chương trình?
Sự cố: Làm cách nào để cài đặt chứng chỉ CA theo lập trình (và sau đó tham chiếu chứng chỉ đó trong cấu hình Wi-Fi EAP)?
Tôi tìm thấy một liên kết rất hữu ích đã cho phép tôi để tạo ra và lưu cấu hình WiFi EAP ở đây: How to programmatically create and read WEP/EAP WiFi configurations in Android?
Tuy nhiên điều này giả định rằng bạn đã cài đặt chứng chỉ CA trên thiết bị. Tôi muốn cài đặt chứng chỉ trong ứng dụng của mình - từ tài nguyên trong ứng dụng hoặc được gửi từ máy chủ.
Điều này có thể thực hiện được không? (Root không phải là một lựa chọn trong trường hợp này.) Nếu vậy, làm thế nào?
thông tin bổ sung ...
Tôi cũng tìm thấy một cách để thêm một chứng chỉ để một KeyStore: https://stackoverflow.com/a/4490543/1172101
Tuy nhiên này được sử dụng đặc biệt cho việc tạo ra một ổ cắm an toàn và kết nối thông qua HTTPS. Tôi muốn sử dụng chứng chỉ cho WiFi.
Thật không may, tôi chưa tìm cách cài đặt chứng chỉ CA theo chương trình - từ bên trong ứng dụng.
Tuy nhiên, bạn có thể cài đặt chứng chỉ qua trình duyệt Web trong Android. Do đó, giải pháp (hiện tại) là: Khởi chạy ý định mở URL trong trình duyệt Web đi trực tiếp vào chứng chỉ CA.
này hoạt động nhưng có một số thách thức:
- Người dùng phải đặt tên cho chứng chỉ. Đây là một thách thức bởi vì chúng tôi đang bổ sung thêm cấu hình WiFi theo chương trình. Vì vậy, chúng tôi phải yêu cầu người dùng cung cấp cho chứng chỉ cùng tên.
- Người dùng phải nhập mật khẩu. Nếu họ không thiết lập mật khẩu, người dùng sẽ tạo một mật khẩu và nhập mật khẩu hai lần. Nếu họ đã đặt mật khẩu bảo mật, người dùng sẽ phải nhớ cùng một mật khẩu và nhập mật khẩu đó.
- Giả sử người dùng hoàn tất thành công các bước này, anh ta bị treo trái trong trình duyệt.
Điều này dẫn đến một vài câu hỏi:
- Từ ứng dụng của tôi, là có một cách để buộc một tên cho chứng chỉ mà người dùng cài đặt thông qua trình duyệt?
- Từ ứng dụng của tôi, có cách nào để biết khi cài đặt chứng chỉ đã hoàn thành và sau đó lấy lại tập trung vào ứng dụng của tôi không?
Hãy cho tôi biết nếu bạn cần làm rõ.
Xin chào Nikolay, tôi đã đọc bài đăng Keystore của bạn ở đây: - http://nelenkov.blogspot.in/2012/05/storing-application-secrets-in-androids.html Tôi có thể sử dụng điều này để lập trình chứng chỉ Ca từ ứng dụng vào lớp WifiConfiguration. Lớp WifiConfiguration sẽ tham chiếu đến kho khóa ứng dụng của tôi trên kho khóa hệ thống –