Package ru.cprocsp.ACSP.tools.common
Class Infrastructure
- java.lang.Object
-
- ru.cprocsp.ACSP.tools.common.Infrastructure
-
- All Implemented Interfaces:
Constants,CSPDirectoryConstants,ConfigConstants,CSPIntegrityConstants,CSPLicenseConstants,LicenseConstants
public class Infrastructure extends java.lang.Object implements Constants
Служебный класс Infrastructure предназначен для создания инфраструктуры CSP.
-
-
Field Summary
-
Fields inherited from interface ru.cprocsp.ACSP.tools.config.ConfigConstants
CONFIG, CONFIG64, FILE_CONFIG, FILE_CONFIG64
-
Fields inherited from interface ru.cprocsp.ACSP.tools.common.Constants
APP_LOGGER_TAG, CSP_APP_PACKET_NAME, CSP_INIT_CHANGE_WORK_DIR, CSP_INIT_CONTEXT, CSP_INIT_COPY_RESOURCES, CSP_INIT_CREATE_INFRASTRUCTURE, CSP_INIT_INVALID_INTEGRITY, CSP_INIT_INVALID_LICENSE, CSP_INIT_OK, CSP_INIT_UNKNOWN, CSP_STORE_LIBRARY_PATH, CSP_TRUST_STORE_FAILED, INTEGRITY_RESULT_FILE
-
Fields inherited from interface ru.cprocsp.ACSP.tools.common.CSPDirectoryConstants
CSP_SOURCE_TYPE_CONTAINER, DIRECTORY_CPROCSP, SUBDIRECTORY_ETC, SUBDIRECTORY_KEYS, SUBDIRECTORY_TMP, SUBDIRECTORY_USERS
-
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
-
Fields inherited from interface ru.cprocsp.ACSP.tools.license.CSPLicenseConstants
CSP_50_LICENSE_DEFAULT, CSP_BUILD_PRODUCT_ID_40, CSP_BUILD_PRODUCT_ID_50, CSP_LICENSE_PRODUCT_ID, INSTALLATION_EMPTY_FIRST_DATE, INSTALLATION_FIRST_DATE_SIZE, LICENSE_STATUS_EXPIRED, LICENSE_STATUS_INVALID, LICENSE_STATUS_OK, LICENSE_TYPE_EXPIRED, LICENSE_TYPE_PERMANENT, MAX_SERIAL_NUMBER_LEN, SERIAL_DATE_5BIT_DATE_LEN, SERIAL_DATE_5BIT_HASH_LEN, SERIAL_DATE_5BIT_LEN
-
Fields inherited from interface ru.cprocsp.ACSP.tools.license.LicenseConstants
FILE_LICENSE, LICENSE
-
-
Constructor Summary
Constructors Constructor Description Infrastructure(android.content.Context ctx)Конструктор.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcopyContainerFromArchive(int archiveResourceId)Копирование контейнеров, в формате [name].000, из архива в папку keys приложения.booleancopyContainerFromDirectory(androidx.documentfile.provider.DocumentFile containerDirectory, android.content.ContentResolver contentResolver, java.lang.StringBuilder dstPath)Копирование ключевых контейнеров из папки в папку для ключей приложения.booleancreate()Создание иерархии папок CSP.static booleancreateSubDirectory(java.io.File baseDir, java.lang.String subDir)Создание подпапки.booleandenyPermissions()Смена прав на файл лицензии.static booleanexists(java.io.File path, java.lang.String fileName)Проверка, существует ли файл в папке.java.lang.StringgetApplicationPath()Получение папки приложения.java.util.zip.ZipFilegetCodeZipFile()Получение пути к архиву с dex-файлами.java.lang.StringgetConfigFile()Получение абсолютного пути к файлу конфигурации с именем файла.java.lang.StringgetCproCspDirectory()Получение абсолютного пути к папкеCSPDirectoryConstants.DIRECTORY_CPROCSP.java.lang.StringgetCspLibPath()Получение папки нативных библиотек CSP.java.lang.StringgetEtcDirectory()Получение абсолютного пути к папкеCSPDirectoryConstants.SUBDIRECTORY_ETC.java.lang.StringgetKeysDirectory()Получение абсолютного пути к папкеCSPDirectoryConstants.SUBDIRECTORY_KEYS.java.lang.StringgetKeysDirectoryPath()java.lang.StringgetLicenseFile()Получение абсолютного пути к фйлу лицензии с именем файла.java.lang.StringgetTmpDirectory()Получение абсолютного пути к папкеCSPDirectoryConstants.SUBDIRECTORY_TMP.java.lang.StringgetUsersDirectory()Получение абсолютного пути к папкеCSPDirectoryConstants.SUBDIRECTORY_USERS.booleanisArm()Проверка платформы, в которой выполняется запуск.booleanisIsCspLib64()Определение разрядности библиотек CSP.
-
-
-
Method Detail
-
getApplicationPath
public java.lang.String getApplicationPath()
Получение папки приложения.- Returns:
- абсолютный путь.
-
getCspLibPath
public java.lang.String getCspLibPath()
Получение папки нативных библиотек CSP.- Returns:
- абсолютный путь.
-
getCodeZipFile
public java.util.zip.ZipFile getCodeZipFile() throws java.io.IOExceptionПолучение пути к архиву с dex-файлами.- Returns:
- dex-файлы.
- Throws:
java.io.IOException
-
isArm
public boolean isArm()
Проверка платформы, в которой выполняется запуск.- Returns:
- true, если arm.
-
isIsCspLib64
public boolean isIsCspLib64()
Определение разрядности библиотек CSP.- Returns:
- true, если 64-бит. (arm64 или x86_x64).
-
create
public boolean create()
Создание иерархии папок CSP.- Returns:
- True, если все папки созданы.
-
getCproCspDirectory
public java.lang.String getCproCspDirectory()
Получение абсолютного пути к папкеCSPDirectoryConstants.DIRECTORY_CPROCSP.- Returns:
- полный путь к папке.
-
getEtcDirectory
public java.lang.String getEtcDirectory()
Получение абсолютного пути к папкеCSPDirectoryConstants.SUBDIRECTORY_ETC.- Returns:
- полный путь к папке.
-
getUsersDirectory
public java.lang.String getUsersDirectory()
Получение абсолютного пути к папкеCSPDirectoryConstants.SUBDIRECTORY_USERS.- Returns:
- полный путь к папке.
-
getKeysDirectory
public java.lang.String getKeysDirectory()
Получение абсолютного пути к папкеCSPDirectoryConstants.SUBDIRECTORY_KEYS.- Returns:
- полный путь к папке.
-
getTmpDirectory
public java.lang.String getTmpDirectory()
Получение абсолютного пути к папкеCSPDirectoryConstants.SUBDIRECTORY_TMP.- Returns:
- полный путь к папке.
-
getLicenseFile
public java.lang.String getLicenseFile()
Получение абсолютного пути к фйлу лицензии с именем файла.- Returns:
- полный путь к файлу.
-
getConfigFile
public java.lang.String getConfigFile()
Получение абсолютного пути к файлу конфигурации с именем файла.- Returns:
- полный путь к файлу.
-
exists
public static boolean exists(java.io.File path, java.lang.String fileName)Проверка, существует ли файл в папке.- Parameters:
path- Путь к папке.fileName- Имя файла.- Returns:
- True, если файл существует.
-
createSubDirectory
public static boolean createSubDirectory(java.io.File baseDir, java.lang.String subDir)Создание подпапки.- Parameters:
baseDir- Родительский каталог.subDir- Создаваемая подпапка.- Returns:
- True, если подпапка создана успешно.
-
denyPermissions
public boolean denyPermissions()
Смена прав на файл лицензии. Задаются права с кодом 700. Дополнительно отменяется право чтения файла лицензии.- Returns:
- True, если команда выполнена успешно.
-
copyContainerFromDirectory
public boolean copyContainerFromDirectory(androidx.documentfile.provider.DocumentFile containerDirectory, android.content.ContentResolver contentResolver, java.lang.StringBuilder dstPath)Копирование ключевых контейнеров из папки в папку для ключей приложения.- Parameters:
containerDirectory- Папка контейнера.- Returns:
- true, если скопирован хотя бы один контейнер и без ошибок.
-
getKeysDirectoryPath
public java.lang.String getKeysDirectoryPath()
-
copyContainerFromArchive
public void copyContainerFromArchive(int archiveResourceId)
Копирование контейнеров, в формате [name].000, из архива в папку keys приложения.- Parameters:
archiveResourceId- Идентификатор ресурса архива с контейнерами.
-
-