2011-07-04 26 views
6

Các documentation for application licensing mô tả LICENSED_OLD_KEY như ý nghĩa:Khi nào LICENSED_OLD_KEY được trả về từ máy chủ?

Ứng dụng này được cấp phép cho người dùng, nhưng có một phiên bản ứng dụng được cập nhật sẵn mà được ký kết với một chìa khóa khác nhau.

Mặt khác, documentation for signing strategies nói:

Nếu bạn đăng ký phiên bản mới mà không sử dụng giấy chứng nhận phù hợp, bạn cũng sẽ cần phải gán tên gói khác nhau để ứng dụng - trong trường hợp này, người dùng cài đặt phiên bản mới như một ứng dụng hoàn toàn mới.

Vì các ứng dụng được xác định theo tên gói, điều này có vẻ như bạn không thể thay đổi khóa ký cho ứng dụng đã xuất bản. (Thay vào đó, bạn có thể thay đổi khóa và gói, nhưng sau đó nó sẽ được thị trường xử lý như một ứng dụng mới.)

Tôi không thể nghĩ ra một kịch bản có thể nhận được phản hồi LICENSED_OLD_KEY. Tui bỏ lỡ điều gì vậy?

Trả lời

3

Các documentation bang mà LICENSED_OLD_KEY

... có thể chỉ ra rằng cặp khóa được sử dụng bởi các phiên bản ứng dụng được cài đặt không hợp lệ hoặc bị tổn thương.

Có vẻ như mã này đã được thêm vào trong trường hợp khóa cá nhân bị rò rỉ hoặc có thể không còn đáng tin cậy nữa. Vì cơ chế IPC hiện tại thậm chí không biết khóa công khai nào được sử dụng ở phía máy khách, tôi đoán rằng toàn bộ tên gói bị nhiễm độc. Ý tưởng là trong trường hợp này một ứng dụng nên yêu cầu người dùng nâng cấp lên phiên bản mới không bị nhiễm độc và có lẽ đã tồn tại. Kể từ khi nâng cấp này sẽ yêu cầu chuyển sang một gói hoàn toàn mới khác nhau, làm thế nào điều này là nghĩa vụ phải được thực hiện là không rõ ràng. Tôi đoán là cơ chế này không thực sự được sử dụng ở thời điểm này, vì vậy cơ hội nhận được mã này rất gần bằng không. Trong phiên bản hiện tại của thư viện LVL chính thức, mã này được xử lý giống như cách trả lời thông thường là LICENSED.

p.s. Cũng xin lưu ý rằng bạn nhầm lẫn cặp khóa được sử dụng để ký ứng dụng của bạn và cặp khóa được sử dụng cho dịch vụ LVL. Hai cái đó hoàn toàn khác nhau và không liên quan. Điều thú vị là, với cặp khóa sau, bạn thậm chí không biết khóa riêng. Bạn có khóa công khai được tạo trước của riêng bạn (một cho mỗi nhà phát triển) từ bảng điều khiển dành cho nhà xuất bản của bạn và đó là tất cả những gì bạn nhận được.

+0

Tôi thấy những gì bạn đang nói. Nhưng nếu bạn nói đúng, thì tài liệu là (để được hào phóng) gây hiểu lầm. Tôi không phải là người nhầm lẫn với cặp khóa được sử dụng để ký các ứng dụng với cặp khóa được sử dụng cho dịch vụ LVL: các tài liệu dường như nói rõ ràng rằng LICENSED_OLD_KEY phải làm gì với cách ứng dụng được ký, chứ không phải cách giao dịch LVL được mã hóa. (Nếu các phím LVL bị xâm nhập, có lẽ phiên bản mới của ứng dụng sử dụng cặp khóa LVL mới có thể được xuất bản mà không thay đổi cách ứng dụng được ký.) –

+0

Ted, bạn có thể đăng liên kết tới một phần tài liệu mà nói không? Tôi rất nghi ngờ rằng các thành phần thị trường thậm chí nhìn vào cert của ứng dụng khi nó thực hiện LVL - ít nhất tôi có thể thực hiện kiểm tra với cả hai chứng nhận gỡ lỗi tiêu chuẩn và cert thực được sử dụng trên thị trường. – dragonroot

+0

FWIW, vâng, các tài liệu là gây hiểu lầm - chủ đề này sẽ không tồn tại nếu không. – dragonroot

Các vấn đề liên quan