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
    • 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