Tôi đang cố gắng cài đặt chứng chỉ tự ký cho máy chủ web của mình trong Android 4.3. Tôi có tệp .crt trong thư mục gốc của thẻ SD (được mô phỏng thực sự vì tôi không có thẻ SD trong khe cắm).
Để cài đặt chứng chỉ, tôi vào Cài đặt -> Chung -> Bảo mật -> Lưu trữ thông tin xác thực -> Cài đặt từ bộ nhớ thiết bị.
Tôi nhận được một hộp thoại hiển thị tên của chứng chỉ (tên tệp trừ phần mở rộng .crt) mà tôi có thể sửa đổi (nhưng không), một "được sử dụng cho" kéo xuống với "VPN và ứng dụng" được chọn và văn bản ở dưới cùng của hộp thoại thông báo "Gói chứa: một chứng chỉ người dùng". Mọi thứ đều ổn, vì vậy tôi nhấp vào "Ok". Hộp thoại biến mất và một thông báo bánh mì nướng bật lên với "[tên] đã cài đặt".
Tuy nhiên nếu tôi ngay lập tức đi đến "Thông tin đáng tin cậy và chọn" Người dùng "thì không có gì cả! Chứng chỉ mới cũng không nằm trong" Hệ thống "nhưng tôi sẽ không mong đợi ở đó. Nếu tôi truy cập trình duyệt sau này và thử truy cập vào trình duyệt của tôi trang web, tôi vẫn nhận được cảnh báo rằng chứng chỉ của trang không đáng tin cậy. Tôi cũng đã thử khởi động lại, nhưng nó không tạo ra sự khác biệt.
Tôi đang làm gì sai? Việc thiếu thông báo lỗi hoàn toàn không hữu ích. Có thể chứng chỉ của tôi ở định dạng sai? Tôi đã thử sử dụng tệp .crt trong thư mục ssl của máy chủ và tôi đã thử chuyển đổi nó sang định dạng DER.
Cập nhật: Tôi đọc được ở đâu đó rằng Android yêu cầu chứng chỉ ở định dạng p12, vì vậy tôi đã chuyển đổi chứng chỉ Apache2 thành p12 bằng lệnh sau:
openssl pkcs12 -export -inkey server.key -in server.crt -out ~/server.p12
Sau đó, tôi đã lặp lại các bước trên, nhận được thông báo thành công tương tự và sau đó tiếp tục không thấy chứng chỉ trong thông tin đăng nhập của người dùng và tôi vẫn nhận được lỗi chứng chỉ không đáng tin cậy từ trình duyệt di động.