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 quản lý và bảo vệ khóa ký cho ứng dụng của bạn, đồng thời, sử dụng khóa đó để ký các tệp APK của bạn cho hoạt động phân phối. Đây là một cách an toàn để lưu trữ khóa ký ứng dụng, giúp bảo vệ bạn trong trường hợp khóa của bạn bị mất hoặc bị lộ.

Lưu ý quan trọng: Để sử dụng Android App Bundle (định dạng phát hành ứng dụng mà chúng tôi đề xuất), bạn cần đăng ký sử dụng Tính năng ký ứng dụng của Play trước khi tải gói ứng dụng của bạn lên Play Console.

Để chọn tham gia, bạn phải là chủ sở hữu tài khoản hoặc người dùng có quyền Phát hành phiên bản chính thức, loại trừ thiết bị và sử dụng Tính năng ký ứng dụng của Play. Đồng thời, bạn cần chấp nhận Điều khoản dịch vụ. Bạn có thể lần lượt đăng ký Tính năng ký ứng dụng của Play cho từng ứng dụng.

Cách tính năng này hoạt động

Khi bạn sử dụng Tính năng ký ứng dụng của Play, các khóa của bạn sẽ được lưu trữ trên chính cơ sở hạ tầng nơi Google sử dụng để lưu trữ các khóa của Google. Những khóa này sẽ được Dịch vụ quản lý khóa của Google bảo vệ. Nếu bạn muốn tìm hiểu về cơ sở hạ tầng kỹ thuật của Google, hãy đọc Báo cáo chính thức về bảo mật Google Cloud .

Các ứng dụng Android được ký bằng một khóa riêng. Để đảm bảo rằng các bản cập nhật ứng dụng là đáng tin cậy, mọi khóa riêng tư đều liên kết tới một chứng chỉ công khai mà các thiết bị và dịch vụ có thể sử dụng để xác minh rằng ứng dụng đến từ một nguồn đáng tin cậy. Các thiết bị chỉ chấp nhận bản cập nhật khi chữ ký của bản cập nhật khớp với chữ ký của ứng dụng đã cài đặt. Việc cho phép Google quản lý khóa ký ứng dụng sẽ giúp quá trình này an toàn hơn.

Lưu ý: Bạn không bắt buộc phải sử dụng Tính năng ký ứng dụng của Play. Bạn vẫn có thể tải tệp APK lên và quản lý các khóa của chính mình thay vì sử dụng một gói ứng dụng. Tuy nhiên, nếu kho khóa bị mất hoặc bị lộ, bạn sẽ không thể cập nhật ứng dụng hiện tại mà phải phát hành ứng dụng mới có tên gói khác.

Thông tin mô tả về khóa, cấu phần phần mềm và công cụ
Thuật ngữ Nội dung mô tả
Khóa ký ứng dụng

Khóa mà Google Play sử dụng để ký những tệp APK được phân phối tới thiết bị của người dùng. Khi bạn chọn sử dụng Tính năng ký ứng dụng của Play, bạn có thể tải một khóa ký ứng dụng hiện có lên hoặc yêu cầu Google tạo một khóa cho bạn.

Bạn không thể thay đổi khóa ký ứng dụng trong suốt thời gian ứng dụng hoạt động. Hãy giữ bí mật khóa ký ứng dụng của bạn, tuy nhiên, bạn có thể chia sẻ cho người khác chứng chỉ công khai của ứng dụng.

Khóa tải lên

Khóa bạn sử dụng để ký gói ứng dụng hoặc APK trước khi bạn tải lên Google Play. Hãy giữ kín khóa tải lên, nhưng bạn có thể chia sẻ chứng chỉ công khai của ứng dụng với người khác. Vì lý do bảo mật, khóa ký ứng dụng nên khác với khóa tải lên.

Có hai cách để tạo khóa tải lên:

  • Sử dụng khóa ký ứng dụng của bạn: Nếu Google tạo khóa ký ứng dụng cho bạn khi bạn chọn sử dụng tính năng ký ứng dụng, khóa bạn sử dụng cho lần phát hành đầu tiên cũng là khóa tải lên của bạn.
  • Sử dụng khóa tải lên riêng: Nếu bạn cung cấp khóa ký ứng dụng của riêng bạn khi bạn chọn tính năng ký ứng dụng, bạn sẽ có thể chọn tạo một khóa tải lên mới để tăng tính bảo mật. Nếu bạn không tạo khóa, hãy sử dụng khóa ký ứng dụng làm khóa tải lên để ký phát hành.
Chứng chỉ (.der hoặc .pem)

Chứng chỉ chứa khóa công khai và thông tin nhận dạng thêm về người sở hữu khóa. Chứng chỉ khóa công khai cho phép mọi người xác minh ai đã ký gói ứng dụng hoặc APK. Bạn có thể chia sẻ chứng chỉ này với bất kỳ ai vì chứng chỉ không bao gồm khóa riêng của bạn.

Để đăng ký (các) khóa của bạn với các nhà cung cấp API, bạn có thể tải chứng chỉ công khai xuống cho khóa ký ứng dụng và khóa tải lên của bạn từ trang Ký ứng dụng trên Play Console. Bạn có thể chia sẻ chứng chỉ khóa công khai với bất kỳ ai. Chứng chỉ này không bao gồm khóa riêng tư của bạn.

Tệp tham chiếu chứng chỉ

Một tệp mô tả ngắn và duy nhất về chứng chỉ mà các nhà cung cấp API thường yêu cầu cùng với tên gói nhằm đăng ký một ứng dụng để sử dụng dịch vụ của họ.

Bạn có thể tìm thấy tệp tham chiếu MD5, SHA-1 và SHA-256 của chứng chỉ ký ứng dụng và tải lên trang Ký ứng dụng của Play Console. Bạn cũng có thể chuyển đổi các tệp tham chiếu khác bằng cách tải chứng chỉ gốc (.der) xuống từ cùng một trang.

Khóa Java (.jks hoặc .keystore) Kho lưu trữ chứng chỉ bảo mật và khóa riêng tư.
Công cụ mã hóa khóa cá nhân cho Play (PEPK)

Một công cụ để xuất các khóa riêng từ kho khóa Java và mã hóa các khóa để chuyển sang Google Play.

Khi bạn cung cấp khóa ký ứng dụng cho Google sử dụng, hãy chọn phương án xuất và tải khóa của bạn lên (và chứng chỉ công khai nếu cần) và làm theo hướng dẫn để tải xuống và sử dụng công cụ. Nếu bạn thích, bạn có thể tải xuống, xem lại và sử dụng mã nguồn mở của công cụ PEPK.

Quá trình ký ứng dụng

Bạn có thể tải tệp APK đã ký bằng khóa ký ứng dụng gốc lên trước hoặc sau khi chọn sử dụng Tính năng ký ứng dụng của Play.

Khi bắt đầu sử dụng gói ứng dụng, bạn có thể thử nghiệm những gói ứng dụng đó trên kênh thử nghiệm trong khi vẫn sử dụng tệp APK hiện có trong phiên bản chính thức. Quá trình này sẽ diễn ra như sau:

  1. Ký gói ứng dụng hoặc APK của bạn và tải lên Play Console.
  2. Quá trình ký sẽ thay đổi tùy thuộc vào nội dung bạn tải lên:
    • Gói ứng dụng:
      • Google tạo ra các tệp APK đã tối ưu hóa dựa trên gói ứng dụng của bạn và ký những tệp APK đó bằng khóa ký ứng dụng.
      • Google thêm hai dấu vào tệp kê khai ứng dụng của bạn (com.android.stamp.sourcecom.android.stamp.type). Nhờ đó, bạn có thể truy vết nguồn gốc của tệp APK của mình.
    • APK đã ký bằng khóa tải lên: Google xác minh và xóa chữ ký của bạn khỏi tệp APK, sau đó ký lại tệp APK đó bằng khóa ký ứng dụng.
    • APK đã ký bằng khóa ký ứng dụng: Google xác minh chữ ký.
  3. Google cung cấp tệp APK đã ký cho người dùng.

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

Ứng dụng mới

Bước 1: Tạo khóa tải lên

  1. Làm theo hướng dẫn, tạo khóa tải lên.
  2. Ký APK mới của bạn bằng khóa tải lên.

Bước 2: Hoàn thiện bản phát hành

  1. Làm theo hướng dẫn để hoàn thiện và ra mắt bản phát hành.
  2. Sau khi bạn chọn kênh phát hành, hãy định cấu hình ký ứng dụng trong phần "Cho phép Google quản lý và bảo vệ khóa ký ứng dụng".
  3. Chọn Tiếp tục nếu bạn muốn dùng khóa đã tạo làm khóa tải lên để ký các bản phát hành sau này, hoặc chọn Cách ký ứng dụng bao gồm các lựa chọn sau:
    • Sử dụng cùng khóa với một ứng dụng khác trong tài khoản nhà phát triển của bạn (lựa chọn 2).
    • Xuất và tải khóa hiện có trong kho khóa Java lên (lựa chọn 3) hoặc không sử dụng kho khóa Java (lựa chọn 4). Sử dụng phương án xuất và tải lên phù hợp nhất với bạn. Sau khi tải khóa ký ứng dụng và chứng chỉ công khai lên, bạn có thể tạo một khóa tải lên hoặc tiếp tục sử dụng khóa ký ứng dụng làm khóa tải lên.
    • Chọn không sử dụng Tính năng ký ứng dụng của Play (lựa chọn 5)
  4. Chọn Cập nhật.

Lưu ý: Bạn cần chấp nhận Điều khoản dịch vụ và chọn sử dụng tính năng ký ứng dụng để tiếp tục các bước sau.

Bước 3: Đăng ký khóa ký ứng dụng của bạn với nhà cung cấp API

Nếu ứng dụng của bạn sử dụng bất kỳ API nào, thì với mục đích xác thực bằng cách sử dụng dấu vân tay của chứng chỉ, thông thường bạn phải đăng ký chứng chỉ của khóa mà Google sử dụng để ký ứng dụng của bạn. Cách tìm chứng chỉ:

  1. Mở Play Console.
  2. Trên trình đơn bên trái, hãy chọn Phát hành > Thiết lập > Tính toàn vẹn của ứng dụng.
  3. Di chuyển đến phần "Chứng chỉ khóa ký ứng dụng" rồi sao chép vân tay số (MD5, SHA-1 và SHA-256) của chứng chỉ ký ứng dụng.
    • Nếu nhà cung cấp API yêu cầu sử dụng một loại vân tay số khác, bạn cũng có thể tải chứng chỉ gốc xuống ở định dạng .der và dùng công cụ chuyển đổi mà nhà cung cấp API yêu cầu để chuyển đổi chứng chỉ gốc.
Ứng dụng hiện có

Bước 1: Đăng ký Tính năng ký ứng dụng của Play

  1. Mở Play Console.
  2. Chọn một ứng dụng.
  3. Trên trình đơn bên trái, hãy chọn Phát hành > Thiết lập > Tính toàn vẹn của ứng dụng.
  4. Xem lại Điều khoản dịch vụ và chọn Chấp nhận nếu bạn chưa thực hiện bước này.

Bước 2: Gửi khóa ban đầu của bạn cho Google và tạo khóa tải lên

  1. Xác định vị trí khóa ký ứng dụng gốc.
  2. Mở Play Console.
  3. Chọn một ứng dụng.
  4. Trên trình đơn bên trái, hãy chọn Phát hành > Thiết lập > Tính toàn vẹn của ứng dụng.
  5. Chọn phương án xuất và tải lên phù hợp nhất với quy trình phát hành của bạn rồi tải khóa ký ứng dụng hiện có lên.

Bước 3: Tạo khóa tải lên (khuyên dùng nhưng không bắt buộc)

  1. Tạo khóa tải lên và tải chứng chỉ lên Google Play.
    • Bạn cũng có thể tiếp tục sử dụng khóa ký ứng dụng làm khóa tải lên.
  2. Sao chép tệp tham chiếu (MD5, SHA-1 và SHA-256) của chứng chỉ ký ứng dụng của bạn.
    • Đối với mục đích thử nghiệm, bạn có thể cần phải đăng ký chứng chỉ khóa tải lên của mình với nhà cung cấp API bằng tệp tham chiếu của chứng chỉ và khóa ký ứng dụng.

Bước 4: Ký bản cập nhật ứng dụng tiếp theo bằng khóa tải lên

Khi phát hành bản cập nhật cho ứng dụng, bạn cần ký các bản cập nhật đó bằng khóa tải lên.

  • Nếu bạn không tạo khóa tải lên mới: Hãy tiếp tục dùng khóa ký ứng dụng gốc để ký các bản phát hành trước khi tải lên Google Play. Nếu bị mất khóa ký ứng dụng, bạn có thể tạo khóa tải lên mới và đăng ký khóa đó với Google để tiếp tục cập nhật ứng dụng.
  • Nếu bạn đã tạo khóa tải lên mới: Hãy sử dụng khóa tải lên mới để ký các bản phát hành trước khi tải lên Google Play. Sau khi bạn tải lên, Google sẽ kiểm tra bản phát hành để tìm khóa tải lên nhằm xác minh danh tính của bạn. NẾU bị mất khóa tải lên, bạn có thể liên hệ với bộ phận hỗ trợ để đặt lại khóa.

Tạo khóa tải lên và cập nhật kho khóa

Để tăng tính bảo mật, bạn nên ký ứng dụng bằng một khóa tải lên mới thay vì dùng khóa ký ứng dụng.

Bạn có thể tạo một khóa tải lên khi chọn sử dụng Tính năng ký ứng dụng của Play hoặc sau này bạn có thể tạo một khóa tải lên bằng cách truy cập vào Thiết lập > Tính toàn vẹn của ứng dụng.

Sau đây là cách tạo khóa tải lên:

  1. Làm theo hướng dẫn trên trang web dành cho Nhà phát triển Android. Lưu trữ khóa của bạn ở một nơi an toàn.
  2. Xuất chứng chỉ cho khóa tải lên theo định dạng PEM. Thay thế các đối số được gạch chân sau:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Khi được nhắc trong quá trình phát hành, hãy tải chứng chỉ lên để đăng ký với Google.

Khi bạn sử dụng khóa tải lên:

  • Khóa tải lên chỉ được đăng ký với Google để xác thực danh tính của người tạo ứng dụng.
  • Chữ ký của bạn sẽ bị xóa khỏi mọi APK đã tải lên trước khi chúng được gửi tới người dùng.
Hạn chế đối với khóa tải lên
  • Phải là khóa RSA dài từ 2048 bit trở lên.
Cập nhật kho khóa

Sau khi bạn tạo khóa tải lên, dưới đây là một số vị trí bạn có thể muốn kiểm tra và cập nhật:

  • Máy cục bộ
  • Máy chủ tại chỗ đã khóa (ACL khác nhau)
  • Máy đám mây (ACL khác nhau)
  • Dịch vụ quản lý bí mật chuyên dụng
  • Kho lưu trữ (Git)

Nâng cấp khóa ký ứng dụng của bạn cho các lượt cài đặt mới

Trong một số trường hợp, bạn có thể yêu cầu nâng cấp khóa ký ứng dụng. Khóa mới của bạn được dùng để ký các bản cài đặt mới và bản cập nhật ứng dụng. Khóa ký ứng dụng cũ của bạn vẫn được dùng để ký các bản cập nhật cho người dùng đã cài đặt ứng dụng của bạn trước khi nâng cấp khóa.

Mỗi ứng dụng chỉ có thể được nâng cấp khóa ký ứng dụng một lần duy nhất trong suốt thời gian hoạt động. Trong trường hợp hiếm gặp là bạn có nhiều ứng dụng sử dụng cùng một khóa ký để chạy tring cùng một quy trình, bạn sẽ không thể sử dụng tính năng nâng cấp khóa cho các ứng dụng đó.

Dưới đây là một số lý do để yêu cầu nâng cấp khóa ký ứng dụng:

  • Bạn cần một khóa mã hóa mạnh hơn.
  • Khóa ký ứng dụng của bạn đã bị lộ.

Lưu ý: Yêu cầu nâng cấp khóa ký ứng dụng trên Play Console không liên quan đến tính năng xoay vòng khóa đã đề cập trong sơ đồ chữ ký APK phiên bản 3 cho Android P trở lên. Hiện tại, Google Play không hỗ trợ kiểu thay khóa này.

Những điều cần lưu ý trước khi yêu cầu nâng cấp khóa

Trước khi yêu cầu nâng cấp khóa, điều quan trọng là phải hiểu những thay đổi mà bạn có thể cần thực hiện sau khi quá trình nâng cấp hoàn tất.

  • Nếu sử dụng cùng một khóa ký ứng dụng cho nhiều ứng dụng để chia sẻ dữ liệu/mã giữa những ứng dụng này, bạn cần cập nhật ứng dụng của mình để nhận dạng cả chứng chỉ khóa ký ứng dụng mới và cũ.
  • Nếu ứng dụng của bạn sử dụng API, hãy lưu ý đăng ký chứng chỉ cho khóa ký ứng dụng mới và cũ của bạn với các nhà cung cấp API trước khi phát hành bản cập nhật để đảm bảo API tiếp tục hoạt động. Các chứng chỉ này nằm trên trang Ký ứng dụng trên Play Console.  
  • Nếu nhiều người dùng cài đặt bản cập nhật thông qua tính năng chia sẻ ngang hàng, họ sẽ chỉ có thể cài đặt các bản cập nhật được ký bằng khóa giống như khóa của phiên bản ứng dụng mà họ đã cài đặt. Nếu người dùng không thể cập nhật ứng dụng của mình vì phiên bản ứng dụng của họ được ký bằng một khóa khác, thì họ có thể gỡ cài đặt và cài đặt lại ứng dụng để nhận bản cập nhật.
Yêu cầu nâng cấp khóa cho các lượt cài đặt mới
  1. Đăng nhập Play Console.
  2. Chọn một ứng dụng.
  3. Trên trình đơn bên trái, hãy chọn Phát hành > Thiết lập > Tính toàn vẹn của ứng dụng.
  4. Trong thẻ "Cập nhật khóa tải lên của bạn cho lượt cài đặt mới", hãy chọn Yêu cầu cập nhật khóa.
  5. Chọn một lựa chọn.
    • Tùy thuộc vào lựa chọn của mình, bạn có thể phải liên hệ với bộ phận hỗ trợ để hoàn thành yêu cầu đưa ra.
  6. Yêu cầu Google tạo khóa ký ứng dụng mới (khuyên dùng) hoặc tải khóa lên.
    • Sau khi nâng cấp khóa ký ứng dụng của bạn, nếu đang sử dụng cùng một khóa cho khóa ký ứng dụng và khóa tải lên thì bạn có thể tiếp tục sử dụng khóa ký ứng dụng cũ làm khóa tải lên hoặc tạo khóa tải lên mới.

Các phương pháp hay nhất

  • Nếu bạn đang hoặc dự định phân phối ứng dụng bên ngoài Google Play và muốn sử dụng cùng một khóa ký, bạn có hai lựa chọn:
    • Cho phép Google tạo khóa (khuyên dùng), sau đó, tải APK chung, đã được ký trên trình khám phá gói ứng dụng xuống để phân phối bên ngoài Google Play. Bạn cũng có thể tải tệp APK đã ký xuống thông qua API Nhà phát triển Google Play. 
    • Hoặc bạn có thể tạo khóa ký ứng dụng mà bạn muốn sử dụng cho mọi cửa hàng ứng dụng, rồi chuyển bản sao của khóa đó sang Google khi bạn chọn sử dụng Tính năng ký ứng dụng của Play.
  • Để bảo vệ tài khoản của bạn, hãy bật tính năng Xác minh 2 bước cho các tài khoản có quyền truy cập vào Play Console của bạn.
  • Sau khi phát hành gói ứng dụng lên một kênh thử nghiệm hoặc lên phiên bản chính thức, bạn có thể truy cập trình khám phá gói ứng dụng để tải xuống tệp lưu trữ ZIP chứa tất cả APK cho một thiết bị cụ thể. Các APK này được ký bằng khóa ký ứng dụng và bạn có thể cài đặt các APK này trong tệp lưu trữ ZIP trên thiết bị bằng lệnh adb install-multiple *.apk.
  • Để tăng độ bảo mật, hãy tạo mới một khóa tải lên khác với khóa ký ứng dụng của bạn.
  • Nếu muốn kiểm tra APK đã ký bằng khóa tải lên, bạn cần phải đăng ký khóa tải lên bằng bất kỳ dịch vụ hoặc API nào sử dụng chữ ký của ứng dụng để xác thực, như API Google Maps hoặc SDK Facebook.
  • Nếu có dùng API nào của Google thì bạn nên đăng ký chứng chỉ tải lên trong Google Cloud Console cho ứng dụng của mình.

Khóa tải lên bị mất hoặc bị lộ?

Nếu bị mất hoặc bị lộ khóa tải lên riêng tư, bạn có thể tạo một khóa mới rồi yêu cầu chủ sở hữu tài khoản của bạn liên hệ với bộ phận hỗ trợ để đặt lại khóa đó. Khi liên hệ với bộ phận hỗ trợ, hãy đảm bảo chủ sở hữu tài khoản của bạn đính kèm tệp upload_certificate.pem.

Sau khi nhóm hỗ trợ của chúng tôi đăng ký khóa tải lên mới, bạn sẽ nhận được email và sau đó có thể cập nhật kho khóa của mình và đăng ký khóa của mình với các nhà cung cấp API.

Quan trọng: Việc tạo lại khóa tải lên không ảnh hưởng đến khóa ký ứng dụng mà Google Play sử dụng để ký lại APK trước khi phân phối APK cho người dùng.

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?

Đăng nhập để xem thêm tùy chọn hỗ trợ giúp nhanh chóng giải quyết sự cố