Android - получите ключ от центра сертификации, такого как VeriSign - PullRequest
6 голосов
/ 02 июня 2011

ПриветЯ написал программу, мой босс попросил меня подписать файл apk без самоподписания, как я могу получить сертификат от любого органа, например VeriSign?

Ответы [ 3 ]

7 голосов
/ 02 июня 2011

Вы не можете использовать Verisign или другой коммерческий сертификат для подписи кода для подписи APK-файлов Android для распространения в Android Market.Android Market требует, чтобы срок действия сертификата был на год больше или равен 2033 году, но ни один коммерческий поставщик сертификатов не продаст вам сертификат с датой окончания срока действия в далеком будущем (их бизнес заставляет вас возвращаться и платитьгод: продам вам сертификат на три десятилетия, который побеждает).Информацию о дате см. В http://developer.android.com/guide/publishing/app-signing.html#releasemode.

Так что нет, вы не можете использовать сертификат коммерческого органа.

2 голосов
/ 18 мая 2012

Android в настоящее время не поддерживает сертификаты кода, как Windows делает с Authenticode.

Позвольте мне объяснить это лучше.

В Windows подписание с Authenticode создает доверительные отношения между исполняемым файлом итвоя компания.Если вы запускаете Vista / Seven (8?), В запросах UAC указывается автор программы при наличии действующего сертификата, в противном случае желтая подсказка предупреждает вас о неподписанном программном обеспечении.Это поможет вам решить, запускать приложение или нет.

В Android никакая информация об авторе не отображается, когда вы устанавливаете программу.Что важно, так это закрытые ключи.APK-файл, подписанный тем же ключом, что и установленное приложение:

  • обязательно от того же автора
  • Если имя пакета совпадает, можно обновить существующее приложение
  • Если это другое приложение, может получить доступ к личным данным другого приложения, например, к хранимым паролям Authenticator.В общем, APK от одного поставщика (закрытый ключ) работают под тем же UID

Мой ответ призван напомнить вашему боссу, что в нынешней экосистеме Android цифровые сертификаты практически бесполезны.Я не пробовал Symantec, но я полагаю, что они едва предлагают вам инструмент для удаленной подписи, где они владеют закрытыми ключами, вы отправляете APK, и они возвращают вам подписанный APK.Если кто-то знает, что я не прав, пожалуйста, скажите мне.

Мой источник - официальная документация по Android .В документе говорится: «Сертификат не должен быть подписан центром сертификации: он вполне допустим, и типично , для приложений Android использовать самозаверяющие сертификаты».Does not mean не означает cannot be конечно.

1 голос
/ 18 мая 2012

Я только что наткнулся на этот сайт ( Symantec Code Signing для Android ) во время поиска по той же проблеме. Оказывается, Verisign действительно предлагает решение для подписи приложений Android, но это не дешево:)

...