Как подписать документ в формате PDF, WORD, RAR электронной подписью. Как подписать документ электронной цифровой подписью

В последнее время информационные возможности сети интернет значительно возросли, и возникла необходимость визирования электронных документов, при помощи которых можно проводить определенные операции.

Как установить на компьютер

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

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

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

После выбора контейнера, нажимаем на него правой клавишей мыши и запускаем вкладку «Свойства». Откроется окошко «Мастер импорта сертификатов». Потом перемещаем все выбранные файлы в хранилище в категорию «Личное».

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

Общий порядок работы

Быстрое распространение ЭЦП не может вызывать никакого особого удивления, поскольку в эпоху развития информационных технологий использование электронной документации стало повсеместным.

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

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

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

Как подписать

Разберем более подробно, как поставить подпись на документ в зависимости от того, какое программное обеспечение применяется для активной работы и создания документации. Различают несколько типов программ, взаимодействующие с ЭЦП и используемые для совершения каких-либо операций и передачи личной информации.

Word

Это самая популярная программа для создания файлов, в отношении которых необходима виза при помощи ЭЦП. Тут все будет зависеть от того, какая версия программы используется:

HTML

Периодически возникает необходимость ставить визу на документы в формате HTML. Подобная форма нуждается в подписи при пользовании государственных интернет-порталов для предоставления тех или иных услуг (к примеру, Пенсионный фонд РФ www.pfrf.ru).

Чтобы поставить подпись, необходимо будет зайти на портал при помощи браузера Internet Explorer, найти в его меню функцию «Подписать и отправить», определиться с сертификатом и, следуя подсказкам диалогового окна, кликнуть на кнопку «Подписать».

PDF

Чтобы подписать документ, который находится в формате PDF, необходимо будет установить на свой компьютер плагин КриптоПро PDF, который был специально разработан для работы с программой Adobe Reader версии 7.0 и выше. Данный плагин находится в свободном доступе в сети интернет, а кроме того, он абсолютно бесплатный.

XML

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

Чтобы поставить свою подпись, необходимо нажать на специальную клавишу, встроенную в программу по умолчанию. Также существует вариант подписания документов формата XML при помощи дополнительных программных возможностей, которые обеспечиваются рядом программ, среди которых КриптоПро АРМ и XMLdsig.

Многофайловые документы (Rar-архивы и подобное)

Иногда может возникать необходимость в подписании большой совокупности документов. В данной ситуации целесообразно ставить ЭЦП на каждый файл в отдельности. Если же по каким-то причинам данная операция невозможна, то в таком случае допускается еще один вариант.

Необходимо создать так называемую карточку документа в отдельном текстовом вложении. Она должна содержать в себе все идентификационные данные по каждому документу из списка, а также ключевые хеш-функции по каждому файлу.

База данных

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

Что делать, если ЭЦП не работает

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

Разберем наиболее часто встречающиеся случаи проблем с ЭЦП:

  1. «Не валидный сертификат» . Чтобы избавиться от данной проблемы, необходимо будет установить ЭЦП, следуя подсказкам Удостоверяющего центра.
  2. «К сертификату нет доверия» . Эта проблема возникает довольно часто, и чтобы избавиться от нее, необходимо установить корневые сертификаты Удостоверяющего центра, которые можно найти на цифровых носителях с данными по ЭЦП или же на официальном интернет-портале Ассоциации электронных свободных площадок aetp.ru .
  3. «Срок действия программы КриптоПро завершен» . Решение данной проблемы только одно – ввод лицензионного ключа. Как только данная операция выполнена, проблема будет устранена, и программа возобновит работу.
  4. « Capicom не установлен или работает некорректно» . Чтобы справится с данной сложностью, необходимо будет скачать и установить Capicom, после чего произвести настройку браузера согласно инструктажу, предоставленному на торговых площадках, с которыми вы планируете взаимодействовать.
  5. «Ключ контейнера не соответствует ключу сертификата» . Если при работе с ЭЦП определилась данная сложность, то вам предстоит тщательно проверить все контейнеры, имеющиеся на вашем компьютере. Вполне возможно, что подпись была перемещена, или же из-за сбоя выбран не тот сертификат. Если же нужный контейнер не обнаружен, то в таком случае придется делать запрос в Удостоверяющий центр касательно переустановки и повторного выпуска ЭЦП.
  6. «Отсутствует выбор сертификата или же рабочих сертификатов не обнаружено» . Данная ситуация считается одной из наиболее сложных, и найти эффективное решение тут можно путем установки корневых сертификатов УЦ и Capicom. Помимо этого, вам придется также связаться с Удостоверяющим центром и получить дополнительные сведения, касающиеся срока действия сертификата.

Криптозащита и надежность

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

Однако многие пользователи продолжают не доверять , поскольку считают, что существует высокая вероятность стать жертвами хакеров.

Подобное мнение кардинально неверное . ЭЦП работает на основе правил и требований криптозащиты, при которой имеется открытый и секретный ключ доступа. имеется только у тех ЭЦП, которые относят к категории усиленно квалифицированных. Их отличие заключается в том, что криптозащита имеет сертификат качества от ФСБ РФ и столкнуться с мошенническими или хакерскими действиями при ее использовании невозможно априори.

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

Дополнительная информация по процессу подписания документа ЭЦП представлена в данной инструкции.

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

В сфере государственных закупок электронной подписью подписывают поданные заявки. Это дает заказчикам гарантию, что они имеют дело с реальными участниками. Также контракты, которые заключаются по итогам госзакупок, вступают в действие только после визирования с помощью ЭЦП.

Также цифровая подпись необходима в таких ситуациях:

  1. Отчетность для контролирующих органов. Можно сдать ее в электронном виде таким службам, как ФНС, Росстат, ПФР и ФСС. Это значительно упрощает передачу информации и повышает правильность: большинство сервисов предлагают автоматическую проверку на ошибки.
  2. Электронный документооборот (ЭДО). Одно из самых распространенных применений, так как подписанное таким способом письмо соответствует бумажному с печатью и визой. Позволяет перейти на безбумажный документооборот как внутри компании, так и за ее пределами.
  3. Государственные услуги. Гражданин РФ может визировать подаваемые заявления в ведомства через портал госуслуг, участвовать в общественных инициативах, пользоваться личным кабинетом на сайте ФНС, даже оформлять кредит.
  4. В качестве доказательств можно использовать счет-фактуры, договоры, официальные письма, подписанные электронно. Согласно АПК РФ, такой документ является аналогом бумажного с собственноручной визой.

Какие бывают электронные подписи

ЭЦП — это «штамп», который позволяет идентифицировать ее владельца, а также удостовериться в целостности подписанного документа. Типы ЭЦП и порядок их оформления утверждены . Он установил, что подписи бывают трех видов:

  1. Простая. Распространена для подписания писем или спецификаций, подтверждается с использованием паролей, кодов и иных средств, чаще всего используется в системах корпоративного ЭДО.
  2. Усиленная . Получается в процессе криптографической обработки информации и использования закрытого ключа. Позволяет установить, кто подписал документ, а также факт внесения изменений после подписания.
  3. Усиленная . Аналогична неквалифицированной, но для ее создания и проверки используются наработки криптозащиты, сертифицированные ФСБ РФ. Такие ЭП выдаются только аккредитованными

Завизировать документ можно несколькими способами. Рассмотрим наиболее часто встречающиеся.

Подписываем с помощью программного комплекса «КриптоПРО CSP»

Как подписать электронной подписью документ Ворд (MS Word)

1. Открываем нужный файл, жмем в меню «Файл» — «Сведения» — «Добавить электронную подпись (КРИПТО-ПРО)».

2. Выбираем нужную ЭП, добавляем комментарий, если нужно, и жмем «Подписать».

3. Если нет ошибок, то система показывает окно с успешным подписанием.

Если установлен плагин КриптоПРО Office Signature

1. Открываем нужный файл, выбираем «Файл», затем — «Добавить цифровую подпись».

2. Аналогично предыдущему варианту, выбираем необходимую ЭП, добавляем, если нужен, комментарий и жмем «Подписать».

3. Если нет ошибок, то система показывает сообщение, что документ успешно подписан.

Как подписать электронной подписью документ PDF (Adobe Acrobat PDF)

1. Открываем необходимый PDF-файл, нажимаем на панели «Инструменты» и видим ярлык «Сертификаты». Выбираем его.

2. Нажимаем на «Поставить цифровую подпись» и выбираем область на файле, где будет располагаться отметка о подписании.

4. Откроется окно с предварительным видом штампа. Если все верно, то нажимаем «Подписать».

5. Система выдаст оповещение об успешном подписании. На этом все.

Подписание программным комплексом «КриптоАРМ»

При таком способе есть возможность шифрования всех современных форматов, а также архивов.

Итак, разберемся, как подписать документ ЭЦП с помощью «КриптоАРМ».

1. Открываем программу «КриптоАРМ» и выбираем самый первый пункт действий — «Подписать».

2. Внимательно изучаем инструкцию Мастера созданий ЭП. Нажимаем «Далее».

3. Жмем на «Выбор файла», переходим к нужному файлу, щелкаем по нему и жмем «Далее».

4. Выбираем подписываемый файл, нажимаем «Далее».

5. Видим окно «Выходной формат». Если нет обязательных требований, то кодировку оставляем как есть. Можно сохранить в формат ZIP (для отправки по e-mail) или выбрать место сохранения конечного результата. Жмем «Далее».

6. В «Параметрах» можно выбрать свойство, добавить комментарий, а также выбрать присоединенную ЭП (присоединяется к исходному файлу) или отсоединенную (сохраняется отдельным файлом), а также дополнительные параметры по желанию. Когда все готово, жмем «Далее».

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

8. На следующем этапе видим итоговое окно с кратким описанием данных. Если в следующий раз файлы будут подписываться в таком же порядке, то можно сохранить профиль. Жмем «Готово».

9. Если нет ошибок, то система выдаст сообщение об успешном подписании.

Поскольку сам гуглил вопрос "как подписать APK файл ?", знаю что найти действительно рабочую и во всём понятную инструкцию не так уж и легко. Именно поэтому я решил сам написать материал о том как стоит правильно подписывать свою программу или игру на Андроид.

Как известно сейчас без цифровой подписи, ваше творение не удасться разместить в Market"е, а это уже серьёзно. Заметил очень многие молодые разработчики на Андроид, так сказать новички и вовсе забывают подписать своё приложение и пытаются с ним что-то потом делать и всё задаются вопросом почему у них не удаётся выполнить то или иное действие с их APK файлом.

Итак, не будем тянуть резину и начнём сразу с того как можно подписать ваш апк файл и чем собственно пользоваться для достижения желаемого результата.

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

Для работы нам понадобятся: OpenSSL и SignApk .

Для начала сделаем сертификат и ключ для подписи. Установите OpenSSL. Во время установки, инсталлятор в виде выбора предложит скопировать компоненты в папку Windows, выберите в папку Bin, которая будет на месте куда вы установите весь OpenSSL.

Теперь откройте от имени системного администратора (это очень важно!) командную строку. После чего перейдите в командной строке в папку bin, которая находится в папке, куда вы установили OpenSSL (Например, C:\OpenSSL\Bin\ или C:\Program Files\OpenSSL\Bin\ ). Если вы не знаете, переход к другой папке выполняется командой cd . То есть для того чтобы перейти в нужную папку вам стоит выполнить команду такого плана:

cd C:\OpenSSL\Bin\

После того как вы в папке Bin, можно приступать непосредственно к созданию сертификата и ключа.

Шаг 1 (Выполняем генерацию ключа длиною 1024 бита)

Выполните команду:

openssl genrsa -out key.pem 1024

Шаг 2 (На основе ключа создаём запрос к сертификату)

Выполните команду:

openssl req -new -key key.pem -out request.pem

На этом этапе вам будет необходимо ввести ваши данные, которые будут идентифицировать вас в сертификате.

Шаг 3 (Генерируем закрытый ключ по сертификату)

Выполните команду:

openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem

Шаг 4 (Выполняем генерацию открытого ключа)

Выполните команду:

openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt

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

А теперь собственно, давайте приступим к подписи приложения. Распакуйте скачанный по ссылке выше архив с SingApk. Переместите из папки Bin, где мы создавали сертификат и ключ 2 файла: certificate.pem и key.pk8 в папку, куда вы распаковали SingApk. Windows должен отобраить диалог замены файлов - заменяйте.

Теперь для того чтобы подписать apk файл уникальной цифровой подписью, которую вы сделали сами, просто мышкой перетяните ваш apk файл на sign_APK.bat . Для того чтобы не тянуть файл с одного окна в другое (это не удобно) переместите ваш apk файл в папку с SingApk. После выполнения, в папке с SingApk появится файл apk_signed.apk , который и будет вашим подписанным приложением или игрой.

Как подписать документ электронной подписью , используя современные криптопрограммы? Рассмотрим специфику решения данной задачи на примере известной программы «КриптоАРМ».

Какие есть инструменты для подписания документов ЭЦП

Соответствующего типа решения на современном ИТ-рынке представлены в широком спектре. В числе самых популярных в России:

К самым простым и универсальным решениям того, как подписать документ электронной подписью, можно отнести программу «КриптоАРМ»: она легко интегрируется в интерфейсы Windows, удобна в пользовании, настройке. Используя ее, можно легко понять, как поставить электронную подпись на различные документы.

«КриптоАРМ» при наличии ключа ЭЦП можно задействовать и в качестве инструмента подписания документов, и в качестве инструмента проверки подлинности тех или иных ЭЦП.

Воспользоваться бесплатной версией «КриптоАРМ» или заказать платную можно через сайт разработчика данного решения — ООО «КРИПТО-ПРО». Как подписать документ ЭЦП с помощью этого ПО — читайте далее.

На какие файлы можно поставить ЭЦП

Специфика электронной подписи заключается в том, что с ее помощью можно заверить практически любой файл — будь то документ Word, PDF, рисунок или видеозапись. С технологической точки зрения подписание ЭЦП PDF-документа ничем не отличается от заверения мультимедийного файла:

  • криптопрограмма, с помощью которой заверяется файл, формирует его хэш (краткие сведения о целостности и об авторстве);
  • хэш шифруется с помощью закрытого ключа;
  • формируется подписанный ЭЦП документ или отдельный файл ЭЦП к соответствующему документу.

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

В свою очередь, существует большое количество разновидностей программного обеспечения, с помощью которого можно, используя ЭЦП, подписать документ Ворд или PDF. В числе самых распространенных решений в России, как мы отметили выше, — программа «КриптоАРМ». Рассмотрим, как поставить ЭЦП на документ Word с ее помощью.

Как вставить с помощью «КриптоАРМ» ЭЦП в файл (краткая инструкция)

Задействовать рассматриваемую программу в Windows можно в двух режимах:

  • через контекстное меню файлов в проводнике (щелкая правой кнопкой по файлу и выбирая нужную опцию);
  • через основной интерфейс программы (запустив ее с рабочего стола).

Как подписать электронной подписью документ Word — решение этого вопроса через контекстное меню Windows достаточно удобно. Если же в нашем распоряжении — решение «КриптоАРМ», то будем придерживаться его.

Изучим особенности применения соответствующих возможностей «КриптоАРМ» на практике.

Как ставить на вордовский документ (Word 2003, Ворд 2007, Word 2010, 2013, 2016) ЭЦП

Условимся, что наш файл создан с помощью программы Word 2007 - как подписать электронной подписью документ в этом случае? Обратим внимание на то, что для вопроса, как подписать электронной подписью документ в Word 2010 и иных используемых версиях, данная инструкция тоже актуальна.

Выбираем файл Word, расположенный в папке компьютера, нажимаем на нем правой кнопкой мыши, затем выбираем опцию «КриптоАРМ», после — «Подписать». Откроется «Мастер подписания файлов программы».

В открывшемся окне «Мастера» можно еще раз проверить, правильный ли файл выбран для подписания. При необходимости — добавить в список подписываемых файлов другие объекты, их можно заверить одновременно. Определившись с файлом или перечнем таковых для подписания, нажимаем «Далее».

В следующем окне «Мастера» нужно выбрать настройки кодировки (можно оставить значения по умолчанию), а также указать путь размещения подписанных с помощью ЭЦП файлов. Нажимаем «Далее».

В следующем окне можно выставить различные реквизиты подписи (например, визу, комментарии, штамп времени), если это требуется. Здесь же можно поставить галочку напротив пункта «Сохранить подпись в отдельном файле». Если это сделать, то хэш ЭЦП будет сохранен отдельно от заверяемого документа (но последующая проверка ЭЦП потребует одновременного наличия обоих файлов). Если нет — документ и ЭЦП, которая его заверяет, будут объединены в один файл.

Теперь нужно выбрать сертификат подписи, выданный удостоверяющим центром. Он может быть размещен на ПК (прописан в реестре) или же на внешнем носителе — флешке, eToken. Во втором случае нужно будет присоединить соответствующий носитель к компьютеру.

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

Нажимаем «Далее», затем — «Готово». Подписанный с помощью ЭЦП файл появится в папке, указанной в окне «Мастера» ранее. В общем случае его расположение будет совпадать с расположением исходного файла. Имя подписанного с помощью «КриптоАРМ» файла будет совпадать с оригинальным, но будет дополнено расширением ЭЦП — как правило, это расширение SIG.

Как заверить PDF (ПДФ) с помощью ЭЦП

Итак, мы знаем, как подписать цифровой подписью документ в Word. Выше мы отметили, что данная процедура принципиально не отличается от заверения с помощью ЭЦП любых других файлов. Но при работе с некоторыми типами данных все же могут быть нюансы.

В частности, определенные особенности есть у процедуры заверения файлов PDF. Как электронную подпись поставить на документ PDF (с учетом особенностей данного формата файлов)?

Основные действия при использовании «КриптоПРО» при выполнении такой задачи, как поставить ЭЦП на документ PDF, будут практически такими же, что и для документа Word. ЭЦП на PDF-файле ставится по алгоритму, аналогичному рассмотренному нами выше, — когда мы изучали вопрос, как подписать вордовский документ электронной подписью.

Вместе с тем нужно иметь в виду, что именно при заверении PDF-документа имеет смысл отделять хэш ЭЦП от соответствующего документа и записывать в отдельный файл.

Дело в том, что некоторые решения от компании Adobe — разработчика формата PDF — позволяют осуществлять подписание документов в данном формате штатными средствами. Вполне возможно, что получатель файла пожелает для начала ознакомиться с соответствующими подписями, и только потом — проверить подлинность ЭЦП документа.

При этом в распоряжении получателя документа может и не быть дистрибутива «КриптоАРМ» или иного решения с открытым ключом для проверки электронной подписи в Word или PDF. В этом случае решение, как подписать документ PDF электронной цифровой подписью (разделив или объединив ЭЦП и сам документ), может дать дополнительный инструмент проверки файла для получателя.

Вопрос, как подписать электронной подписью ПДФ-файл, — отделяя ЭЦП от файла или же объединив их, следует заранее согласовать с получателем документа.

Итоги

Современные криптопрограммы — такие как «КриптоАРМ» — позволяют подписывать практически любые файлы. Вопрос, как подписать ЭЦП документ Word или PDF, как правило, снимается очень быстро с использованием интерфейсов данного решения. При этом в ряде случаев имеет значение конкретный формат подписи — в виде отдельного файла или же в виде присоединения к заверяемому документу. В этом смысле решение вопроса, как подписать документ PDF электронной цифровой подписью, может отличаться от процедуры заверения документа в формате Word.

Узнать больше об использовании ЭЦП в целях заверения документов вы можете в статьях:

Post Views: 2 796

Android Studio предоставляет широкие возможности как для разработки приложений, так и для повышения автоматизации и комфортности при программировании.

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

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

Перед тем, как начать подписание приложения, вам необходимо в файле gradle.properties создать новое свойство. Назовём его Keys.repo и, в качестве значения, укажем путь до папки, где впоследствии будут находиться хранилище ключей и файл со свойствами (например, C:/Users/UserName/.signing ).

Keys.repo=C:/Users/UserName/.signing

Затем нужно создать эту папку или, если вы указали существующую, открыть её. В ней необходимо создать файл YourProjectName.properties , внутри которого будут прописаны в качестве свойств путь до хранилища ключей, псевдоним ключа и пароль в следующем виде.

RELEASE_STORE_FILE=/YourProjectName/KeyStoreName.jks RELEASE_STORE_PASS=****** RELEASE_ALIAS=KeyAlias RELEASE_KEY_PASS=******

Как создать хранилище ключей?

Если у вас нет хранилища ключей, его можно легко создать с помощью Android Studio. Для этого нужно выбрать в меню пункт Build -> Generate Signed APK .

В появившемся окне нужно нажать Create new… В результате откроется окно, в котором вы можете указать, где будет располагаться хранилище ключей (для данного урока лучше сразу выбрать путь, который вы указали в YourProjectName.properties в свойстве RELEASE_STORE_FILE ), а также данные о ключе.

Затем нужно создать папку YourProjectName и перенести туда нужный файл хранилища ключей.

Теперь можно приступить непосредственно к процессу подписания. Для этого в вашем проекте нужно открыть файл build.gradle (расположенный в папке app). Внутри него в блоке android нужно добавить следующий код.

SigningConfigs { debug { /* здесь никаких изменений нет */ } release { if (project.hasProperty("Keys.repo")) { def projectPropsFile = file(project.property("Keys.repo") + "/YourProjectName.properties") if (projectPropsFile.exists()) { Properties props = new Properties() props.load(new FileInputStream(projectPropsFile)) storeFile file(file(project.property("Keys.repo") + props["RELEASE_STORE_FILE"])) storePassword props["RELEASE_STORE_PASS"] keyAlias props["RELEASE_ALIAS"] keyPassword props["RELEASE_KEY_PASS"] } } else { println "=======================================================" println " - Please configure release-compilation environment - e.g. in ~/.signing directory" println "=======================================================" } } }

Какие бывают схемы получения подписи?

Существуют две схемы получения подписи APK: v1 JAR и v2 Full APK .

В первом случае подписывается JAR -файл, что является традиционным способом подписания. Подпись v1 не защищает некоторые части APK, такие как метаданные ZIP. Верификатор APK должен обрабатывать множество ненадёжных (ещё не проверенных) структур данных, а затем отбрасывать данные, которые не подписаны, что предоставляет большой простор для атаки. Кроме того, верификатор APK должен распаковать все сжатые записи, что тратит много времени и памяти. Чтобы решить эти проблемы, была разработана вторая схема v2 Full APK.

Схема v2 была представлена в Android 7.0 Nougat (API 25) и работает, начиная с версии Android Studio 2.2 и Android Gradle plugin 2.2 . Эта схема обеспечивает более быструю установку приложения и хорошую защиту от несанкционированных изменений в APK. Содержимое APK хешируется и подписывается, затем полученный блок подписи APK вставляется в APK.

Во время проверки схема v2 рассматривает APK как blob и выполняет проверку подписи по всему файлу. Любая модификация APK, включая модификации метаданных ZIP, делает подпись недействительной. Эта форма проверки значительно быстрее и позволяет обнаружить больше несанкционированных модификаций.

Новый формат обратно совместим, поэтому APK, подписанные новой схемой, могут быть установлены на более ранних устройствах (которые будут просто игнорировать новую подпись), если эти APK также подписаны схемой v1.

По умолчанию при подписании используются обе схемы, чтобы приложения могли быть установлены на любых устройствах. Однако если есть такая необходимость, можно отключить подпись v1 или v2. Для этого в вышеприведённом коде в блоке release достаточно дописать следующие строки.

V1SigningEnabled false

V2SigningEnabled false

Важно также учитывать, что подписывать схемой v1 нужно до подписания схемой v2, поскольку APK не пройдёт проверку по схеме v2, если он будет подписан дополнительными сертификатами после подписания схемой v2.

После того, как код добавлен, укажите этот код в блоке buildTypes внутри release . Например:

BuildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" signingConfig signingConfigs.release } }

Теперь можно смело в пункте меню Build выбирать Build APK , предварительно сменив тип сборки с debug на release . Как видно, данный способ удобен тем, что он автоматический, его достаточно настроить лишь раз и ваши хранилища ключей могут быть в безопасности.

Статьи по теме: