Как подписать приложение сертификатом

В данной статье мы с Вами узнаем, как подписать приложение личным сертификатом, используя ПК.
В статье "Общие сведения о сертификатах безопасности." мы познакомились с видами сертификации, общими сведениями о них. Узнали о том, что существуют приложения, для которых требуется личный, персональный сертификат, для того чтобы выполнить им подписку приложения.
Итак, Вы получили персональный сертификат для своего смартфона. Теперь надо Вам подписать свое приложение. Как и с помощью каких приложений это можно сделать, мы и рассмотрим.

В данной статье я расскажу о двух способах подписи приложений на компьютере:

Первый способ. Для подписи используем программу SisSigner.

Данная программа позволяет после получения личного сертификата подписать любое приложение, которое Вы захотите установить на свой смартфон.

1. Скачиваем архив с программой SISSigner. Данный архив содержит все необходимые файлы для начала работы:

  • Папка "cert" содержит внутри файл mykey (этот файл необходимо будет заменить).
  • Установочный файл программы SISSigner.

Сначала устанавливаем саму программу SISSigner, а затем уже в ее папку добавляем папку "cert" с ключом из архива.

Итак, Вы уже имеете персональный сертификат и ключ к нему (получили заранее), установленное приложение для подписи, теперь рассмотрим сам процесс подписи приложения при помощи программы SISSigner:

2. Заходим в папку программы SISSigner (куда Вы ее установили).

  • Копируем в нее Ваш полученный сертификат (файл с расширением cer).
  • Копируем в нее Ваш полученный ключ к сертификату (файл с расширением key).
  • Копируем в нее приложение для смартфона, которое необходимо подписать.

3. Запускаем файл SISSigner и указываем в окне программы:

  • Путь к ключу key (что получили при заказе сертификата)
  • Путь к сертификату cer (что получили при заказе)
  • Пароль key файла (по умолчанию 12345678)
  • Путь к приложению, которое необходимо подписать

Сертификат, ключ и приложение можно не переименовывать — главное правильно в окне программы SisSinger указать к ним путь!

4. Нажимаем кнопку Подписать.

После появления запроса "Для продолжения нажмите любую клавишу. " — нажимаем любую клавишу.

5. Вот теперь наше приложение подписано и его можно устанавливать в телефон.

6. Подключаем телефон к ПК и с помощью программы PC Suite устанавливаем наше подписанное приложение в смартфон.

Второй способ. Для подписи используем приложение Signsis.

Данное приложение интересно тем, что не требует работы с командной строкой, не требует ввода путей в окне программы. Программу достаточно установить и настроить один раз. И затем у Вас будет возможность подписать приложение, расположенное в любом месте на жестком диске, в любой папке, из контекстного меню.

После установки и настройки этой программы добавляется следующая надпись в меню при нажатии правой кнопки мыши:

Рассмотрим процесс установки этой программы и ее настройки:

1. Скачиваем и распаковываем архив с программой Signsis. В архиве четыре файла:

  • install1.bat
  • install2.bat
  • uninstall.bat
  • signsis.exe

2. Копируем в тот же каталог, куда мы распаковали файлы, свои сертификат и ключ.
3. Переименовываем Ваш сертификат в cert.cer, а ключ в cert.key.
4. Открываем файл install1.bat в Блокноте для редактирования.

  • Изменяем значение set password1 на свой пароль (по умолчанию 12345678).
  • Изменяем путь к папке программы в значениях set disk_ins и set app_path.

Теперь разберем, как правильно отредактировать путь к программе.
В данном примере программа расположена в папке:

Следовательно, необходимо прописать значения таким образом:

set disk_ins=D:
set app_path=Nokia/6290/sign_sis

Обратите внимание на наклон cлеш (косых линий), если их поставить в обратную сторону, то программа уже не станет работать.

5. Сохраняем файл, нажав в Блокноте "Сохранить".

6. Запускаем файл install1.bat двойным нажатием мыши.

7. Если все выполнено верно, то в результате по нажатию правой кнопкой мыши по инсталляционному пакету sis, у Вас появится контекстное меню с пунктом "Подписать персональным сертификатом".

8. Выбираем приложение на жестком диске, что необходимо подписать. Нажимаем правой кнопкой мыши по нему один раз, в контекстном меню выбираем "Подписать персональным сертификатом". В результате рядом с неподписанным файлом появится еще один файл с тем же именем, но с добавлением к имени "_signed".

9. Подключаем телефон к ПК и с помощью программы PC Suite устанавливаем наше подписанное приложение в смартфон.

Примечание: Если нужно сделать два меню, для подписи двумя разными персональными сертификатами (в случае, если в семье два и более телефонов), то по аналогии редактируем и запускаем install2.bat.

Читайте также:  Как перенести таблицу в повер поинт

Для полного удаления приложения, а также удаления записей реестра, запустить файл uninstall.bat.

Скачать программы, описанные в статье:

SISsinger
Signsis Nova Invicta Как подписать приложение персональным сертификатом на компьютере

SignTool — это средство командной строки, используемое для цифровой подписи пакета приложения или пакета приложений с помощью сертификата. SignTool is a command line tool used to digitally sign an app package or bundle with a certificate. Сертификат может быть создан пользователем (для тестирования) или выдан компанией (для распространения). The certificate can either be created by the user (for testing purposes) or issued by a company (for distribution). Подписывание пакета приложения дает пользователю средство проверки отсутствия изменений в данных приложения после его подписи, при этом также подтверждается подлинность пользователя или компании, подписавшего пакет. Signing an app package provides the user with verification that the app’s data has not been modified after it was signed while also confirming the identity of the user or company that signed it. SignTool может подписать зашифрованные и незашифрованные пакеты приложения и пакеты приложений. SignTool can sign encrypted or unencrypted app packages and bundles.

Если для разработки приложения использовали Visual Studio, рекомендуется применять мастер Visual Studio для создания и подписывания пакета приложения. If you used Visual Studio to develop your app, it’s recommended that you use the Visual Studio wizard to create and sign your app package. Дополнительные сведения см. в статьях Упаковка приложения UWP с помощью Visual Studio и упаковка классического приложения из исходного кода с помощью Visual Studio. For more information, see Package a UWP app with Visual Studio and Package a desktop app from source code using Visual Studio.

Дополнительные сведения о подписи кода и сертификатах в целом см. в разделе Знакомство с процессом подписания кода. For more information about code signing and certificates in general, see Introduction to Code Signing.

Необходимые условия Prerequisites

Упакованное приложение A packaged app
Подробнее о ручном создании пакета приложения, создания пакета приложения с помощью средства MakeAppx.exe. To learn more about manually creating an app package, see Create an app package with the MakeAppx.exe tool.

Допустимый сертификат для подписи A valid signing certificate
Дополнительные сведения о создании или импорте действительного сертификата подписи см. в разделе Создание или импорт сертификата для подписания пакета. For more information about creating or importing a valid signing certificate, see Create or import a certificate for package signing.

SignTool. exe SignTool.exe
В зависимости от пути установки пакета SDK SignTool может находиться в следующих расположениях на компьютере с Windows 10: Based on your installation path of the SDK, this is where SignTool is on your Windows 10 PC:

  • x86: C:Program Files (x86)Windows Kits10inx86SignTool.exe x86: C:Program Files (x86)Windows Kits10inx86SignTool.exe
  • x64: C:Program Files (x86)Windows Kits10inx64SignTool.exe x64: C:Program Files (x86)Windows Kits10inx64SignTool.exe

Применение SignTool Using SignTool

SignTool может использоваться для подписывания файлов, проверки подписей и меток времени, удаления подписей и другого. SignTool can be used to sign files, verify signatures or timestamps, remove signatures, and more. Так как нас интересует подписывание пакета приложения, мы рассмотрим команду sign. For the purpose of signing an app package, we will focus on the sign command. Подробные сведения об инструменте SignTool см. на справочной странице SignTool. For full information on SignTool, see the SignTool reference page.

Определение хэш-алгоритма Determine the hash algorithm

При использовании SignTool для подписи пакета приложения или пакета приложений, хэш-алгоритм, применяемый в SignTool, должен совпадать с алгоритмом, использованном для упаковки приложения. When using SignTool to sign your app package or bundle, the hash algorithm used in SignTool must be the same algorithm you used to package your app. Например, если вы применили MakeAppx.exe для создания пакета приложения с параметрами по умолчанию, то необходимо выбрать SHA256 в SignTool, поскольку это алгоритм, по умолчанию используемый в MakeAppx.exe. For example, if you used MakeAppx.exe to create your app package with the default settings, you must specify SHA256 when using SignTool since that’s the default algorithm used by MakeAppx.exe.

Чтобы узнать, какой алгоритм хэширования применялся при упаковке приложения, извлеките содержимое пакета и изучите файл AppxBlockMap.xml. To find out which hash algorithm was used while packaging your app, extract the contents of the app package and inspect the AppxBlockMap.xml file. Инструкции по распаковке/извлечению пакета приложения см. в разделе Извлечение файлов из пакета приложения или пакета приложений. To learn how to unpack/extract an app package, see Extract files from a package or bundle. Хэш-метод указан в элементе BlockMap и имеет следующий формат: The hash method is in the BlockMap element and has this format:

Читайте также:  Как очистить внутреннюю память на самсунге

В этой таблице показан каждое значение HashMethod и соответствующий хэш-алгоритм: This table shows each HashMethod value and its corresponding hash algorithm:

Значение HashMethod HashMethod value Хэш-алгоритм Hash Algorithm
http://www.w3.org/2001/04/xmlenc#sha256 SHA256 SHA256
http://www.w3.org/2001/04/xmldsig-more#sha384 SHA384 SHA384
http://www.w3.org/2001/04/xmlenc#sha512 SHA512 SHA512

Так как в SignTool по умолчанию применяется алгоритм SHA1 (которого нет в MakeAppx.exe), вам всегда необходимо указывать хэш-алгоритм при использовании SignTool. Since SignTool‘s default algorithm is SHA1 (not available in MakeAppx.exe), you must always specify a hash algorithm when using SignTool.

Подпись пакета приложения Sign the app package

Если у вас есть все необходимые компоненты и вы определили, какой хэш-алгоритм применялся для упаковки приложения, то вы готовы подписать его. Once you have all of the prerequisites and you’ve determined which hash algorithm was used to package your app, you’re ready to sign it.

Общий синтаксис командной строки при подписи пакета с помощью SignTool таков: The general command line syntax for SignTool package signing is:

Сертификат, используемый для подписания приложения, должен быть либо PFX-файлом либо установлен в хранилище сертификатов. The certificate used to sign your app must be either a .pfx file or be installed in a certificate store.

Чтобы подписать пакет приложения с помощью сертификата из PFX-файла, примените следующий синтаксис: To sign your app package with a certificate from a .pfx file, use the following syntax:

Обратите внимание, что параметр /a позволяет SignTool автоматически выбрать наиболее подходящий сертификат. Note that the /a option allows SignTool to choose the best certificate automatically.

Если ваш сертификат не является PFX-файлом, используйте следующий синтаксис: If your certificate is not a .pfx file, use the following syntax:

Кроме того, вы можете указать хэш SHA1 нужного сертификата вместо , с помощью следующего синтаксиса: Alternatively, you can specify the SHA1 hash of the desired certificate instead of using this syntax:

Обратите внимание, что с некоторыми сертификатами пароль не используется. Note that some certificates do not use a password. Если для вашего сертификата не требуется пароль, опустите параметр "/p " в примерах команд. If your certificate does not have a password, omit "/p " from the sample commands.

Подписав пакет приложения с помощью действительного сертификата, вы сможете отправить пакет в Store. Once your app package is signed with a valid certificate, you’re ready to upload your package to the Store. Дополнительные рекомендации по загрузке и отправке приложений в Store см. в разделе Отправка приложений. For more guidance on uploading and submitting apps to the Store, see App submissions.

Распространенные ошибки и их устранение Common errors and troubleshooting

Наиболее распространенные типы ошибок при использовании SignTool являются внутренними и обычно выглядят примерно так: The most common types of errors when using SignTool are internal and typically look something like this:

Если код ошибки начинается с 0x8008, например 0x80080206 (APPX_E_CORRUPT_CONTENT), подписываемый пакет не является допустимым. If the error code starts with 0x8008, such as 0x80080206 (APPX_E_CORRUPT_CONTENT), the package being signed is invalid. При появлении такого типа ошибки, необходимо перестроить пакет и запустить SignTool еще раз. If you get this type of error you must rebuild the package and run SignTool again.

В инструменте SignTool есть параметр отладки для показа ошибок с сертификатом и их фильтрации. SignTool has a debug option available to show certificate errors and filtering. Чтобы использовать функцию отладки, поместите параметр /debug сразу после sign , а затем полную команду SignTool. To use the debugging feature, place the /debug option directly after sign , followed by the full SignTool command.

Наиболее распространенная ошибка — 0x8007000B. A more common error is 0x8007000B. О подобном типе ошибки можно найти дополнительные сведения в журнале событий. For this type of error, you can find more information in the event log.

Для получения дополнительных сведений в журнале событий: To find more information in the event log:

  • Запустите Eventvwr.msc Run Eventvwr.msc
  • Откройте журнал событий: Просмотр событий (локальных) -> Приложения и журналы служб -> Microsoft -> Windows -> AppxPackagingOM -> Microsoft-Windows-AppxPackaging/Operational Open the event log: Event Viewer (Local) -> Applications and Services Logs -> Microsoft -> Windows -> AppxPackagingOM -> Microsoft-Windows-AppxPackaging/Operational
  • Поиск последнего события об ошибке Find the most recent error event
Читайте также:  Как перевести время на часах apple watch

Внутренняя ошибка 0x8007000B обычно соответствует одному из следующих значений: The internal error 0x8007000B usually corresponds to one of these values:

Дорогие друзья, сегодня я расскажу вам как подписать приложение личным сертификатом. На самом деле сейчас получить сертификат невозможно, хотя

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

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

Рассказывать буду о двух вариантах, это прямо со смартфона, и с компьютера, но начну все-таки с компьютера.

И так, первый способ, и для подписи нам нужна программа SisSigner, также хочу сказать, что все программы вы сможете скачать в самом конце статьи.
SisSigner – отличная, а также легкая в использовании программа, с помощью которой, вы сможете подписать любое приложение для своего смартфона.

1. Ну начнем с того что нужно скачать саму программу, она находится в архиве, в нем вы найдете все нужное. Папка под названием "cert" содержащая в себе файл под названием mykey, этот файл вы замените итак :), а так же сам установочный файл программы.

2. После установки просто в туже папку добавьте ваш личный сертификат и ключ к нему. После чего внутри должно находится 4 файлика.

3. Находясь в папке самой программы, когда как видите там находится уже программа и сам сертикифат с ключом (файл с расширением .cer это сам сертификат, а с расширением .key, это как вы понимаете ключ), после всего этого вам просто перенести нужное вам для подписки приложение в эту папку.

4. Запустите саму программку (файл SiSSigner), вы увидите небольшое окошко, котором нужно указать путь к сертификату, путь к ключу, пароль key файлика, он по умолчанию будет 12345678, ну а после чего путь с самому приложению.

Кстати, название ключа и самого сертификата вы можете редактировать по желанию, если нет желания, то и редактировать тоже не нужно. Только путь не забывайте указать правильный.

5. Далее как вы поняли нужно нажать на кнопку «Подписать», после такого запроса вы увидите черное окно. Оно там попросит нажать любую клавишу, вот и нажимает на хоть что.

6. Приложение, по сути, легкое, и после этого всего вам нужно просто установить себе на телефон подписанное приложение.

Второй способ, будет звучать «Как подписать приложение прямо со смартфона».
С одной стороны все легко а с другой немного запутанней, попытаюсь все обьяснить с помошью скринов.

1. Начнем с того что нужно скачать программу FreeSigner 1.01, она сделана для сенсорных телефонов, и отлично пойдет на Symbian 9.4, после того как скачаете естественно скиньте и установите её на телефон.

2. После выполнения первого шага скиньте свой личный сертификат на телефон, лучше всего переименуйте сертификат и ключ так:
Cert.cer
Key.key
И скинуть их нужно по директории C:/FreeSigner/

3. Далее, после выполненных вами действий Зайдите в настройки программы, нажав Функции > Настройки вы увидите такие поля:

Первые три поля, просто оставьте нетронутыми, следующие три нужно настроить, в Sign Cert и Sign Key нужно перейти по директории C:/FreeSigner/, и выбрать ключ и сертификат, а вот в поле Sign Key pass нужно указать пароль ключа, обычно стандартный ключ это 12345678, но возможно ваш будет другим если вы в курсе дела, проблем не будет.

4. Далее все немного проще, выходим из настроек и нажимаем на «Новая задача», далее выбираем ваше приложение, после чего выбираем действие «Sing sis».

5. После всех выполненных действий выбираем Функции > Начать, если все сделано правильно, то программа подпишется, и в той же папке должен появиться такой же файл, только в конце будет добавлено _signed, если не правильно вам выбьет ошибку.

По сути, я вам описал лучшие, на мой взгляд, способы подписать приложение, вам выбирать, как будет легче подписать. Если у вас нет, личного сертификата, а так хочется, его иметь советую с самого начала перечитать статью.

Не забывайте по то, что бы поделиться ссылкой с друзьями, а так же нажать на «Мне нравится».

Adblock
detector