Thông báo

You can now request help from the Help page in your Play Console account.  If you don't have access to Play Console, ask your account admin for an invite.

Sử dụng Tính năng ký ứng dụng của Play

Với Tính năng ký ứng dụng của Play, Google sẽ quản lý và bảo vệ khoá ký cho ứng dụng của bạn trên cùng một cơ sở hạ tầng bảo mật mà Google dùng để lưu trữ khoá của chính mình. Những khoá này sẽ được Dịch vụ quản lý khoá (KMS) của Google bảo vệ. Nếu bạn muốn tìm hiểu thêm về cơ sở hạ tầng dẫn đầu ngành này, hãy đọc Sách trắng về bảo mật của Google Cloud.
 

Tại sao nên dùng Tính năng ký ứng dụng của Play? Ngoài việc bảo vệ để khoá của bạn không bị xâm phạm hoặc bị mất vĩnh viễn, tính năng Ký ứng dụng của Play còn cho phép bạn sử dụng các cải tiến cho Android App Bundle (.aab). Khi cho phép Google ký các tệp APK phân phối đã được tối ưu hoá do gói ứng dụng của bạn tạo ra, bạn có thể sử dụng các dịch vụ có giá trị như tự động bảo vệtự động dịch chuỗi văn bản qua các mô hình Gemini. Các trò chơi sẽ được sử dụng thêm các dịch vụ tự động bổ sung như Play Games Sidekick, Chơi khi đang tải xuốngdùng thử miễn phí với các trò chơi có tính phí.

Để thiết lập Tính năng ký ứng dụng của Play, bạn phải là chủ sở hữu tài khoản.

Các khái niệm chính

Khi sử dụng Tính năng ký ứng dụng của Play, bạn sẽ xử lý 2 khoá riêng biệt. Việc hiểu rõ sự khác biệt cũng như định dạng kỹ thuật của 2 loại khoá này là rất quan trọng để tránh các vấn đề về xác thực với API của bên thứ ba.

Loại khoá Bên giữ khoá Thông tin kỹ thuật chi tiết và mục đích

Khoá tải lên

Bạn (Hãy bảo mật khoá này!)

  • Định dạng: Được lưu trữ trong một kho khoá Java (.jks hoặc .keystore).
  • Yêu cầu: Phải là khoá RSA có từ 2048 bit trở lên.
  • Mục đích: Bạn sử dụng khoá này để ký gói ứng dụng trước khi tải gói ứng dụng đó lên Play Console. Google sử dụng khoá này để xác minh danh tính của bạn. Nếu khoá này bị xâm phạm hoặc bị mất, Google có thể đặt lại khoá này cho bạn.
Khoá ký ứng dụng

Google Play

  • Định dạng: Được liên kết với một chứng chỉ công khai (.der hoặc .pem).
  • Yêu cầu: Khoá do Google tạo là khoá RSA 4096 bit. Khoá tuỳ chỉnh phải là khoá RSA có từ 2048 bit trở lên.
  • Mục đích: Google sử dụng khoá này để ký các tệp APK cuối cùng được phân phối đến thiết bị của người dùng. Bạn có thể để Google tạo khoá này hoặc tự cung cấp khoá. Bạn không thể đặt lại khoá này nếu tự quản lý khoá (mà không dùng Tính năng ký ứng dụng của Play) và bị mất khoá.
Sẵn sàng cho công nghệ lượng tử Google Play
  • Định dạng: 2 khoá được liên kết với chứng chỉ công khai (.der hoặc .pem).
  • Yêu cầu: Tính năng ký kết hợp sẵn sàng cho công nghệ lượng tử kết hợp một khoá RSA cổ điển 4096 bit và một khoá ML-DSA-65 hậu lượng tử. Google tạo một khoá cổ điển mới cho chữ ký kết hợp. Khoá này khác với khoá cổ điển mà Google dùng cho các thiết bị chạy Android trước phiên bản 17. Do đó, ứng dụng của bạn sẽ dùng 3 khoá riêng biệt.
  • Mục đích: Các thiết bị chạy Android 17 trở lên xác minh ứng dụng bằng giao thức chữ ký APK phiên bản 3.2 để bảo vệ ứng dụng khỏi bị tấn công bằng điện toán lượng tử trong tương lai. Các thiết bị chạy phiên bản Android cũ vẫn sẽ xác minh ứng dụng bằng các khối chữ ký cổ điển.

Lưu ý: Để đảm bảo an toàn tối đa, khoá tải lên và khoá ký ứng dụng của bạn phải khác nhau.

Cách Google ký ứng dụng của bạn: Khi tạo và ký tệp APK bằng khoá ký ứng dụng, Google sẽ dùng apksigner để thêm 2 dấu kỹ thuật số vào tệp kê khai của ứng dụng (com.android.stamp.source và com.android.stamp.type). Các dấu này đảm bảo rằng các tệp APK của bạn có thể được truy xuất một cách an toàn đến người ký ban đầu.

Thiết lập Tính năng ký ứng dụng của Play

Quy trình thiết lập phụ thuộc vào việc bạn đang xuất bản một ứng dụng mới hay di chuyển một ứng dụng hiện có.

Đối với ứng dụng mới

  1. Tạo ứng dụng mới: Ứng dụng của bạn sẽ tự động được đăng ký dùng tính năng ký kết hợp sẵn sàng cho công nghệ lượng tử với các khoá do Google tạo. Chúng tôi cũng tạo một khoá cổ điển riêng biệt để sử dụng trong các khối chữ ký được nhận dạng trên các thiết bị chạy Android 16 trở xuống.
  2. Tạo khoá tải lên: Tạo một kho khoá để ký gói ứng dụng phát hành. Bạn có thể tạo kho khoá này trong Android Studio hoặc sử dụng tiện ích keytool của Java trên dòng lệnh.
  3. Tải gói ứng dụng lên: Truy cập vào Play Console rồi chuẩn bị một bản phát hành mới. Theo mặc định, khi bạn tải gói ứng dụng lên, ứng dụng của bạn sẽ tự động được đăng ký dùng tính năng ký kết hợp sẵn sàng cho công nghệ lượng tử với các khoá do Google tạo.
  4. Thay đổi khoá ký ứng dụng (không bắt buộc): Những nhà phát triển giàu kinh nghiệm muốn tự quản lý khoá có thể thay đổi chế độ mặc định này trước khi ra mắt bản phát hành trên kênh thử nghiệm công khai hoặc kênh phát hành công khai. Bạn có thể thực hiện việc này bằng cách chuyển đến phần Được bảo vệ bằng Play > Phân phối trên Cửa hàng Play > Chuyển đến Tính năng ký ứng dụng của Play rồi nhấp vào Thay đổi khoá ký ứng dụng. Sau đó, bạn có thể chọn:
  • Dùng cùng một khoá với ứng dụng khác trong tài khoản nhà phát triển này
  • Cung cấp bản sao khoá ký ứng dụng (làm theo hướng dẫn)

Đối với ứng dụng hiện có

Nếu đang tự quản lý khoá của riêng mình và tải các tệp APK lên, bạn có thể nâng cấp lên Tính năng ký ứng dụng Play để tận dụng các gói ứng dụng và những cải tiến của Play.

  1. Truy cập vào Được bảo vệ bằng Play > Bảo vệ trên Cửa hàng Play > Chuyển đến Tính năng ký ứng dụng của Play trong Play Console.
  2. Chấp nhận điều khoản dịch vụ nếu bạn chưa làm vậy.
  3. Chuyển một bản sao của khoá gốc: Tải công cụ PEPK xuống và làm theo hướng dẫn từng bước chuẩn để mã hoá và tải khoá ký ứng dụng hiện có lên từ kho lưu trữ bất kỳ.
Tạo khoá tải lên mới (khuyến nghị): Tạo một khoá mới trong Android Studio để dùng làm khoá tải lên từ nay về sau và đăng ký chứng chỉ của khoá đó trong Play Console.

Đăng ký với nhà cung cấp API

Nếu ứng dụng của bạn dùng các API (chẳng hạn như Google Maps, OAuth hoặc Đăng nhập bằng Facebook), những dịch vụ đó sẽ xác thực ứng dụng của bạn bằng cách dùng vân tay của khoá ký ứng dụng.

Vì Google ký tệp APK cuối cùng, nên bạn phải đăng ký vân tay của khoá ký ứng dụng do Google nắm giữ với nhà cung cấp API, chứ không chỉ dùng khoá tải lên cục bộ.

  1. Chuyển đến phần Được bảo vệ bằng Play > Phân phối trên Cửa hàng Play > Chuyển đến Tính năng ký ứng dụng của Play.
  2. Di chuyển đến phần Khoá ký ứng dụng.
  3. Sao chép các vân tay số bắt buộc (SHA-1 hoặc SHA-256). Nếu ứng dụng của bạn dùng tính năng ký kết hợp sẵn sàng cho công nghệ lượng tử, bạn phải sao chép các vân tay số cho 3 khoá và đăng ký từng khoá với nhà cung cấp API: khoá cổ điển và khoá PQC mới được dùng trên thiết bị mới, còn khoá cổ điển được dùng trên thiết bị cũ.
  4. Dán các vân tay số này vào bảng điều khiển của nhà cung cấp API (ví dụ: Google Cloud Console).
    Lưu ý: Hãy cập nhật các vân tay này vào tệp assetlinks.json nếu bạn sử dụng Đường liên kết trong ứng dụng Android.

Quản lý khoá

Nâng cấp khoá ký ứng dụng

Nếu khoá ký ứng dụng của bạn bị xâm phạm hoặc bạn cần một khoá có độ mã hoá cao hơn, bạn có thể yêu cầu nâng cấp khoá hằng năm cho mọi lượt cài đặt trên Android 17 (API cấp 37) trở lên.

Cách thực thi trên các phiên bản Android:

  • Android 17 (API cấp 37) trở lên: Nền tảng Android sẽ thực thi nghiêm ngặt việc sử dụng khoá kết hợp đã nâng cấp và sẵn sàng cho công nghệ lượng tử. Xem Giao thức chữ ký APK phiên bản 3.2.
  • Android 13 (cấp độ API 33) đến Android 16 (cấp độ API 36): Nền tảng Android sẽ thực thi nghiêm ngặt việc sử dụng khoá cổ điển mới nhất của bạn. Xem Giao thức chữ ký APK phiên bản 3.1
  • Android 7 (API cấp 24) đến Android 12 (API cấp 32): Bản thân Nền tảng Android không thực thi khoá đã nâng cấp và vẫn nhận dạng khoá cổ điển mới nhất. Tuy nhiên, Google Play Protect cung cấp thêm quy trình xác thực bằng cách kiểm tra để đảm bảo các bản cập nhật ứng dụng được ký bằng khoá cổ điển mới nhất (trừ trường hợp người dùng tắt tính năng này).

Điểm quan trọng cần lưu ý:

  • Dữ liệu được chia sẻ: Vì nền tảng không thực thi khoá đã nâng cấp trên Android S (API cấp 32) trở xuống, nên nếu bạn dùng cùng một khoá trên nhiều ứng dụng để chia sẻ dữ liệu, những phiên bản Android cũ đó sẽ chỉ nhận dạng khoá cũ cho các tính năng như chia sẻ quyền tuỳ chỉnh.

Cách nâng cấp:

  1. Chuyển đến phần Được bảo vệ bằng Play > Phân phối trên Cửa hàng Play > Chuyển đến Tính năng ký ứng dụng của Play.
  2. Trong phần Khoá ký ứng dụng, hãy nhấp vào Nâng cấp khoá.
  3. Chọn lộ trình nâng cấp:
    • Hãy để Google Play tạo một khoá ký ứng dụng mới (khuyến nghị)
    • Dùng cùng một khoá ký ứng dụng cho ứng dụng khác trong tài khoản nhà phát triển này
    • Cung cấp bản sao khoá ký ứng dụng (làm theo hướng dẫn)
  4. Nhấp vào Lưu.
  5. Đăng ký vân tay số mới cho khoá với nhà cung cấp API. Nếu ứng dụng của bạn dùng tính năng ký kết hợp sẵn sàng cho công nghệ lượng tử, thì bạn phải đăng ký vân tay số cho hai khoá mới, khoá cổ điển mới và khoá PQC mới.

Yêu cầu đặt lại khoá tải lên

Nếu bị mất khoá tải lên hoặc nghi ngờ khoá này bị xâm phạm, bạn sẽ không bị mất quyền truy cập vào ứng dụng của mình.

  1. Tạo khoá tải lên mới trong Android Studio.
  2. Xuất chứng chỉ sang định dạng PEM:
    keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
    (Để được trợ giúp thêm về keytool và đường dẫn đến kho khoá, hãy tham khảo hướng dẫn ký ứng dụng của Android Studio).
  3. Sau khi tạo tệp PEM, hãy gửi yêu cầu đặt lại trong Play Console.
  4. Chuyển đến phần Được bảo vệ bằng Play > Bảo vệ trên Cửa hàng Play > Quản lý Tính năng ký ứng dụng của Play.
  5. Trong phần Chứng chỉ khoá tải lên, hãy nhấp vào Yêu cầu đặt lại khoá tải lên.
  6. Nhập lý do đặt lại.
  7. Tải tệp upload_certificate.pem  lên rồi nhấp vào Yêu cầu.

Các phương pháp hay nhất và cách phân phối thay thế

  • Bảo mật: Bảo vệ quyền truy cập vào Play Console bằng cách buộc tất cả người dùng sử dụng tính năng Xác minh 2 bước.
  • Các tính năng nâng cao của gói ứng dụng: Khi đăng ký sử dụng tính năng Ký ứng dụng của Play, bạn có thể sử dụng các tính năng nâng cao cho gói ứng dụng của mình. Để áp dụng các tính năng nâng cao, trước tiên, hãy thực hiện mọi thay đổi cần thiết về cấu hình khi tạo một bản phát hành mới, sau đó tải gói ứng dụng mới lên.
  • Hoạt động phân phối bên ngoài Google Play: Nếu phân phối qua các cửa hàng ứng dụng khác và muốn dùng cùng một khoá ký ở mọi nơi, bạn có 2 lựa chọn. [1] Bạn có thể cho phép Google tạo khoá ký ứng dụng và tải xuống một tệp APK chung, đã được ký từ Play Console hoặc Play Developer API để phân phối ở nơi khác (trong Play Console, hãy chuyển đến mục Kiểm thử và phát hành > Gói và bản phát hành mới nhất, chọn gói ứng dụng của bạn rồi nhấp vào thẻ Tải xuống), hoặc [2] bạn có thể tạo khoá ký ứng dụng mà mình muốn dùng cho tất cả các cửa hàng ứng dụng và chuyển bản sao của khoá đó cho Google khi bạn thiết lập Tính năng ký ứng dụng của Play. Tìm hiểu thêm về cách hoạt động của bản cập nhật ứng dụng và các lựa chọn bật hoặc tắt bản cập nhật xuyên cửa hàng.
  • Thử nghiệm: Sử dụng tính năng Chia sẻ ứng dụng trong nội bộ để thử nghiệm chính xác những gì Google Play sẽ cung cấp cho người dùng, hoặc tải các tệp APK dành riêng cho thiết bị xuống từ trình khám phá gói ứng dụng rồi cài đặt trên thiết bị bằng lệnh adb install-multiple *.apk.
  • Giao thức ký APK phiên bản 4: Tính năng ký ứng dụng của Play tự động sử dụng phiên bản 4 cho các ứng dụng đủ điều kiện để hỗ trợ hoạt động phân phối được tối ưu hoá trên các thiết bị Android 11 trở lên. Bạn không cần làm gì cả. Giao thức này loại trừ mọi ứng dụng dùng tính năng ký kết hợp sẵn sàng cho công nghệ lượng tử. Tính năng này chưa tương thích với tính năng ký phiên bản 4. Bạn có thể đọc thêm về các lợi ích kỹ thuật trong tài liệu về Giao thức ký APK phiên bản 4.

Dự án Google Cloud tự lưu trữ 

Nếu có các yêu cầu bảo mật rất cụ thể (ví dụ: sử dụng khoá OEM), bạn có thể dùng Play Developer API để đăng ký Tính năng ký ứng dụng của Play bằng một dự án trên đám mây Google Cloud tự lưu trữ.

Đây là một chế độ thiết lập không theo tiêu chuẩn và không được khuyến khích Khi sử dụng một dự án tự lưu trữ, tức là bạn phải chịu hoàn toàn trách nhiệm đối với các hoạt động ký ứng dụng.

  • Điều này sẽ ngăn Google Play thực hiện các tính năng thiết yếu như khôi phục khi có sự cố.
  • Google không thể tạo lại hoặc sửa một bản phát hành hiện có. Để khắc phục mọi lỗi liên quan đến bản phát hành, bạn phải tải một bản phát hành mới lên.
  • Các tính năng tối ưu hoá nâng cao, một số tính năng nâng cao của Play và các tính năng bảo mật như  Ký kết hợp sẵn sàng cho công nghệ lượng tử có thể không dùng được trong cấu hình này.
  • Tạo hoặc nhập khoá ký vào Cloud KMS, đảm bảo vị trí được định cấu hình là nhiều khu vực ở Hoa Kỳ và làm theo tài liệu nhập khoá KMS.
  1. Để thay đổi khoá ký, hãy sử dụng phương thức enrollApp. Bạn chỉ có thể thay đổi khoá ký trước khi phát hành ứng dụng lên kênh Thử nghiệm công khai hoặc kênh Phát hành công khai.
  2. Để nâng cấp khoá ký sau khi xuất bản, hãy sử dụng phương thức rotateAppSigningKey
  3. Cấp các vai trò IAM sau đây cho tài khoản ứng dụng hoặc dịch vụ xác thực bằng Google Play Developer API:
    1. role/cloudkms.signer
    2. roles/cloudkms.viewer
    3. roles/cloudkms.publicKeyViewer
  4. Hãy đảm bảo bạn có đủ hạn mức để thực hiện các thao tác mã hoá. Cụ thể, bạn nên tăng hạn mức cho asymmetric_requests lên ít nhất 350 QPS.
  5. Để xem cách sử dụng khoá ký, hãy bật nhật ký kiểm tra trong dự án Cloud KMS của bạn.
Trang này có thể chứa nội dung do công nghệ AI dịch. Bản dịch bằng AI có thể có lỗi.

Thông tin này có hữu ích không?

Chúng tôi có thể cải thiện trang này bằng cách nào?

Bạn cần trợ giúp thêm?

Hãy thử các bước tiếp theo sau:

Tìm kiếm
Xóa nội dung tìm kiếm
Đóng tìm kiếm
Trình đơn chính
17802488053783303087
true
Tìm kiếm trong Trung tâm trợ giúp
false
true
true
true
true
true
92637
false
false
false
false
false