- Основные положения электронной подписи приложений
- Способы генерации ключей подписи и хранилища ключей
- Разница между хранилищами *.jks и *.keystore
- Ручная подписка APK
- Подписка APK на Google Play
- Соображения подписи, безопасности и удаление подписки из сборки APK
- Автоматизация процесса подписи на этапе сборки APK
- Автоматизация подписи гибридных приложений Android
В конечном счете, .keystore
и .jks
— это просто расширения файлов: это зависит от вас, чтобы назвать ваши файлы разумно. Некоторые приложения используют файл хранилища ключей, хранящийся в $HOME/.keystore
: обычно подразумевается, что это файл JKS, поскольку JKS является типом хранилища по умолчанию в безопасности Sun/Oracle Java поставщик. Не все используют расширение .jks
для файлов JKS, потому что это подразумевается как значение по умолчанию. Я бы рекомендовал использовать расширение, просто чтобы запомнить, какой тип указать (если вам нужно).
В Java слово keystore может иметь одно из следующих значений, в зависимости от контекста:
- API: http://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html
- файл (или другой механизм), который можно использовать для поддержки этого API
- хранилище ключей, а не доверенное хранилище, как описано здесь: http://qaru.site/questions/38656/trust-store-vs-key-store-creating-with-keytool/280641#280641
Говоря о файле и хранилище, это не хранилище для пар ключ/значение (для этого есть много или другие форматы). Скорее, это контейнер для хранения криптографических ключей и сертификатов (я считаю, что некоторые из них также могут хранить пароли). Как правило, эти файлы зашифровываются и защищены паролем, чтобы эти данные не предоставлялись неавторизованным сторонам.
Java использует класс KeyStore
и связанный с ним API, чтобы использовать хранилище ключей (это файл на основе или нет). JKS
— это формат файла, специфичный для Java, но API также можно использовать с другими типами файлов, как правило, PKCS # 12. Когда вы хотите загрузить хранилище ключей, вы должны указать его тип хранилища ключей. Обычными расширениями будут:
.jks
для типа"JKS"
,.p12
или.pfx
для типа"PKCS12"
(имя спецификации — PKCS # 12, но#
не используется в имени типа хранилища ключей Java).
Кроме того, BouncyCastle также предоставляет свои реализации, в частности BKS (обычно с использованием расширения .bks
), который часто используется для Android приложения.
Подробно тут.