Package ru.cprocsp.ACSP.tools.integrity
Interface IntegrityInterface
-
- All Superinterfaces:
CSPIntegrityConstants
public interface IntegrityInterface extends CSPIntegrityConstants
Служебный интерфейс IntegrityInterface предназначен для реализации проверки целостности модулей криптографии провайдера. В файле digests[XX].prop в ресурсах хранятся алгоритмы, имена библиотек и хеши к ним. Класс DigestResource считывает их. Класс ACSPIntegrity работает с файлом integrity.prop, который содержит дату и статус последней проверки. После каждой проверки они могут обновиться.
-- ...integrity.prop -- LastDate=[value] LastStatus=[value] -- digests[XX].prop -- [library]=[base64-digest]
- Since:
- 5.0
-
-
Field Summary
-
Fields inherited from interface ru.cprocsp.ACSP.tools.integrity.CSPIntegrityConstants
ACTUAL_DIGEST_ALG_ID, ALG_CLASS_HASH, ALG_SID_GR3411_2012_256, ALG_TYPE_ANY, CALG_GR3411_2012_256, CHECK_INTEGRITY_INVALID, CHECK_INTEGRITY_LAST_DATE, CHECK_INTEGRITY_LAST_STATUS, CHECK_INTEGRITY_SUCCESS, CHECK_INTEGRITY_TIMEOUT, CHECK_INTEGRITY_UNKNOWN, DATE_FORMAT, DEX_DIGEST, DIGEST_ARM, DIGEST_ARM_64, DIGEST_EXTRA, DIGEST_X86, DIGEST_X86_64, DIGEST_X86_64_V2, DIGEST_X86_V2
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description intcheck(boolean force)Выполнение проверки соответствия хешей в файле digests[XX].prop прописанным в нем библиотекам.byte[]getApkDigest()Получение хеша установленного apk.java.lang.StringgetApkDigestItem(java.lang.String digestNameLabel, java.lang.String digestValueLabel)Получение описания хеша установленного apk.java.util.List<java.lang.String>getItems()Получение содержимого digest[XX].prop файла в виде списка строк из пар "ключ=значение", где "ключ"=library, а "значение"=digest, в виде: n.java.util.List<java.lang.String>getItems(java.lang.String digestNameLabel, java.lang.String digestValueLabel, java.lang.String separator)Получение содержимого digest[XX].prop файла в виде списка строк из пар "ключ=значение", где "ключ"=library, а "значение"=digest, в виде: n.java.lang.StringgetLastDate()Извлечение даты последней проверки.intgetLastStatus()Извлечение статуса последней проверки.
-
-
-
Method Detail
-
getItems
java.util.List<java.lang.String> getItems()
Получение содержимого digest[XX].prop файла в виде списка строк из пар "ключ=значение", где "ключ"=library, а "значение"=digest, в виде: n. library {separator} digest_value (digest_name): digest {separator} где n - порядковый номер; library - имя библиотеки из libs; separator - разделитель строк; digest_value - описание значения, например, Digest; digest_name - алгоритм (например, ГОСТ); digest - значение хеша library.- Returns:
- список строк.
-
getItems
java.util.List<java.lang.String> getItems(java.lang.String digestNameLabel, java.lang.String digestValueLabel, java.lang.String separator)Получение содержимого digest[XX].prop файла в виде списка строк из пар "ключ=значение", где "ключ"=library, а "значение"=digest, в виде: n. library {separator} digest_value (digest_name): digest {separator} где n - порядковый номер; library - имя библиотеки из libs; separator - разделитель строк; digest_value - описание значения, например, Digest; digest_name - алгоритм (например, ГОСТ); digest - значение хеша library.- Parameters:
digestNameLabel- Описание алгоритма.digestValueLabel- Описание значения.separator- разделитель строк.- Returns:
- список строк.
-
check
int check(boolean force)
Выполнение проверки соответствия хешей в файле digests[XX].prop прописанным в нем библиотекам. Папкой библиотек считается папка приложения lib. Проверка выполняется в том случае, если это первый раз либо с момента последней проверки прошло болееCSPIntegrityConstants.CHECK_INTEGRITY_TIMEOUTмсек.- Parameters:
force- True, если нужно все равно проверить, несмотря на то, что проверка могла быть проведена только что.- Returns:
- код проверки.
-
getLastDate
java.lang.String getLastDate()
Извлечение даты последней проверки.- Returns:
- дата последней проверки или null.
-
getLastStatus
int getLastStatus()
Извлечение статуса последней проверки.- Returns:
- статус последней проверки.
-
getApkDigest
byte[] getApkDigest() throws java.lang.ExceptionПолучение хеша установленного apk.- Returns:
- хеш apk.
- Throws:
java.lang.Exception
-
getApkDigestItem
java.lang.String getApkDigestItem(java.lang.String digestNameLabel, java.lang.String digestValueLabel) throws java.lang.ExceptionПолучение описания хеша установленного apk.- Parameters:
digestNameLabel- Описание алгоритма.digestValueLabel- Описание значения.- Returns:
- описание хеша.
- Throws:
java.lang.Exception
-
-