Tôi muốn mở đầu câu hỏi này với hai điều để tôi có thể thu hẹp nơi câu hỏi thực tế của tôi là:Xác minh ứng dụng/chữ ký của Android hoạt động như thế nào?
a) tôi đã thực hiện phần mềm dev trước đó, mặc dù không bao giờ cho android
b) Tôi quen thuộc với PKI và encryptions và băm và chữ ký số và blah blah blah
Điều đó đang được nói rằng tôi đang gặp sự cố khi theo dõi thêm thông tin về vị trí và cách Android xác minh người sáng tạo ứng dụng. Tôi đã nghe rất nhiều thông tin khác nhau vì vậy tôi đang cố gắng tổng hợp để có ý tưởng tốt hơn về quy trình làm việc.
Tôi biết rằng mọi nhà phát triển ứng dụng đều có cặp khóa riêng/khóa công khai của riêng họ và họ ký ứng dụng của họ bằng cách băm APK (với SHA-1 phần lớn thời gian nếu tôi không nhầm) và ở đó bạn đi. Bạn tải nó lên và (tôi tin) chìa khóa công khai đi vào META INF bên trong APK. Điều này tôi hiểu rất nhiều.
Câu hỏi của tôi là cách điều này liên quan đến thời điểm người dùng tải xuống ứng dụng. Tôi biết kiểm tra điện thoại để đảm bảo rằng ứng dụng được ký hợp lệ và chữ ký cũng có thông tin về tác giả và v.v. Nhưng tôi cũng đã đọc rằng các ứng dụng được tự ký và Google Play (hoặc bất kỳ thứ gì mà họ đang gọi là Market bây giờ) không triển khai CA và không có xác thực danh tính? Nhưng câu hỏi của tôi là những gì, sau đó, ngăn chặn mọi người tải lên một ứng dụng dưới một tên nhà phát triển khác (crowdsourcing sang một bên)?
Nếu điện thoại chỉ kiểm tra chữ ký hợp lệ, điều đó có nghĩa là phương thức xác thực duy nhất được thực hiện khi ứng dụng được tải lên? Và nếu đó là trường hợp thị trường ứng dụng kiểm tra nó như thế nào? Có phải thông thường - sử dụng khóa cá nhân trên tệp và xác minh chữ ký? Hay nhà phát triển có cung cấp cho thị trường khóa riêng của họ để xác thực không?
Khi bạn đăng ký gói ứng dụng, bạn phải cung cấp mật khẩu riêng. Vì vậy, để ai đó đăng một ứng dụng "với tư cách người khác", họ sẽ cần quyền truy cập vào kho khóa/tệp khóa và mật khẩu của họ. Và truy cập vào Tài khoản Google được liên kết với thị trường. – FoamyGuy
@Tim: Tôi nghĩ rằng anh ta đang hỏi: Điều gì là để ngăn chặn người khác tạo ra cặp khóa riêng của họ và một chứng chỉ tự ký mà cũng nói "Fewmitz" trong đó. Có phải nó được liên kết với một tài khoản ở đâu đó không? –