crypto_pro_flutter 0.0.2 copy "crypto_pro_flutter: ^0.0.2" to clipboard
crypto_pro_flutter: ^0.0.2 copied to clipboard

Подписание файлов и сообщений с помощью Crypto Pro

Плагин для формирования электронной подписи формата CADES-BES с помощью нативных SDK Crypto Pro #

Описание #

Плагин принимает сертификаты в формате PKCS12 .pfx

Приватный ключ должен быть помечен как экспортируемый

Пока Android Only

Установка #

Подключение плагина к Android проекту #

  1. Скопировать .aar библиотеки из android/libs плагина к себе в проект в android\app\libs

  2. Добавить в build.gradle

minSdkVersion 24

buildTypes {
        release {
            shrinkResources false
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

packagingOptions {
    jniLibs {
        useLegacyPackaging = true
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: '*.aar')
}
  1. Создать файл proguard-rules.pro в android/app
-keep public class ru.CryptoPro.*

Библиотеки .aar указаны в плагине как compile-only, так как невозможно к .aar (коим является этот плагин) подключать другие .aar, для этого требуется скопировать их к себе в проект и подключить как implementation. Proguard используется, чтобы запретить обфускацию кода, которая происходить при выполнении релизной сборки.

Использование #

  • Инициализировать провайдер
    CryptoProFlutter.initCSP()
    
  • Добавить Pfx-сертификат в хранилище
    CryptoProFlutter.addPfxCertificate(File file, String password)
    
  • Получить список сертификатов, добавленных пользователем
    CryptoProFlutter.getInstalledCertificates()
    
  • Удалить добавленный сертификат
    CryptoProFlutter.deleteCertificate(Certificate certificate)
    
  • Подписать файл
    CryptoProFlutter.signFile(
        required File file,
        required Certificate certificate,
        required String password,
        bool isDetached = true,
        bool disableOnlineValidation = false,
    )
    
  • Подписать сообщение
    CryptoProFlutter.signMessage({
        required String message,
        required Certificate certificate,
        required String password,
        bool isDetached = true,
        bool signHash = false,
        bool signHash = false,
        bool disableOnlineValidation = false,
    })
    

Todo #

  • ✅ Поддержка iOS
4
likes
0
pub points
0%
popularity

Publisher

unverified uploader

Подписание файлов и сообщений с помощью Crypto Pro

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on crypto_pro_flutter