Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Diper  
#1 Оставлено : 21 июля 2021 г. 4:45:41(UTC)
Diper

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.07.2021(UTC)
Сообщений: 4
Российская Федерация

Доброго время суток!

Собирал проект на Flutter и наступил тот день и час, когда потребовалось подключение КриптоПро. Возник вопрос как это сделать. У меня есть gradle и инструкция.

Следую по инструкция я сделал следующие:

  • Затем в проектe в папку android -> app я положил папку libs
  • Далее в папке android -> app в файле build.gradle я добавил следующие


Код:
dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
}

Код:
android {
    packagingOptions {
        exclude 'META-INF/Sign.CP'
        exclude 'META-INF/Digest.CP'
    } 
}


Запускаю flutter, ошибок не выдает. Теперь время проверить, а вообще все ли правильно я сделал. Для это пытаюсь сделать import libs для проверки например Получение закрытого ключа и сертификата из ключевого контейнера. Однако ничего не импортится и подозреваю, что я упускаю какую-то тонкую тонкость. Подскажите пожалуйста, какую и как мне двигаться дальше.

Заранее благодарю за помощь.

Отредактировано пользователем 21 июля 2021 г. 7:05:05(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 21 июля 2021 г. 8:11:09(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,910
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте. Покажите пример, ктторыц вы написали для проверки. Не совсем понятно, что должно импортироваться - пример демонстрирует чтение существующего в папке приложения ключевого контейнера, не импорт.
Offline Diper  
#3 Оставлено : 21 июля 2021 г. 10:32:52(UTC)
Diper

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.07.2021(UTC)
Сообщений: 4
Российская Федерация

Хотел проверить работу КриптоПро путем вызова методов getKey, getCertificate и getCertificateChain класса KeyStore.

Для это во flutter я делаю import например

Код:
import 'package:flutter/lib/JInitCSP.aar';

Код:
import 'package:flutter/lib/KeyStore';

Код:
import 'package:flutter/aap/lib/';


Однако на этапе import выдается ошибка об отсутсвие данного файла, класса. Так же нет в предоженных импортах

Main.dart
Код:

import 'package:flutter/material.dart';
import 'package:flutter/lib/JInitCSP.aar';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Welcome to Flutter',
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Welcome'),
        ),
        body: const Center(
          child: KeyStore(),
        ),
      ),
    );
  }
}



Это была моя последовательность действий. Возможно я в корне не правильно понял как можно было проверить, что я таки подключил вообще и как надо КприптоПро в проекте flutter.
Offline Евгений Афанасьев  
#4 Оставлено : 21 июля 2021 г. 11:14:39(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,910
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Автор: Diper Перейти к цитате
ошибка об отсутсвие данного файла, класса

Какого файла, класса?
KeyStore - это стандартный java-класс, его нет в в нашем SDK, этот класс всегда есть в стандартных библиотеках в ОС.

Отредактировано пользователем 21 июля 2021 г. 11:15:37(UTC)  | Причина: Не указана

Offline Diper  
#5 Оставлено : 21 июля 2021 г. 11:27:17(UTC)
Diper

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.07.2021(UTC)
Сообщений: 4
Российская Федерация

Файл JInitCSP.arr из flutter/android/app/libs/JInitCSP.aar

Как я понял иницилизация идет через JInitCSP.aar
Offline Евгений Афанасьев  
#6 Оставлено : 21 июля 2021 г. 11:31:25(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,910
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Все необходимые файлы из SDK необходимо распаковать и добавить в проект. Возможно, flutter/material.dart так подключатся библиотеки из flutter, а сторонние вроде JInitCSP должны добавляться иначе. Помимо JInitCSP также нужны и другие библиотеки из CSP SDK.

Отредактировано пользователем 21 июля 2021 г. 11:32:08(UTC)  | Причина: Не указана

Offline Diper  
#7 Оставлено : 21 июля 2021 г. 11:42:25(UTC)
Diper

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.07.2021(UTC)
Сообщений: 4
Российская Федерация

Благодарю за совет, попробую решить вопрос с добавлением модуля CSP SDK + инным способом импорта. Надеюсь поможет. О результате в любом случае напишу.
Offline GridView.builder  
#8 Оставлено : 26 июля 2021 г. 16:19:55(UTC)
GridView.builder

Статус: Участник

Группы: Участники
Зарегистрирован: 22.07.2021(UTC)
Сообщений: 10
Ю.Корея
Откуда: Seoul

Сказал(а) «Спасибо»: 1 раз
Автор: Diper Перейти к цитате
Доброго время суток!

Собирал проект на Flutter и наступил тот день и час, когда потребовалось подключение КриптоПро. Возник вопрос как это сделать. У меня есть gradle и инструкция.

Следую по инструкция я сделал следующие:

  • Затем в проектe в папку android -> app я положил папку libs
  • Далее в папке android -> app в файле build.gradle я добавил следующие


Код:
dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
}

Код:
android {
    packagingOptions {
        exclude 'META-INF/Sign.CP'
        exclude 'META-INF/Digest.CP'
    } 
}


Запускаю flutter, ошибок не выдает. Теперь время проверить, а вообще все ли правильно я сделал. Для это пытаюсь сделать import libs для проверки например Получение закрытого ключа и сертификата из ключевого контейнера. Однако ничего не импортится и подозреваю, что я упускаю какую-то тонкую тонкость. Подскажите пожалуйста, какую и как мне двигаться дальше.

Заранее благодарю за помощь.


Почему .jar если в мануале .aar ?
Offline Евгений Афанасьев  
#9 Оставлено : 26 июля 2021 г. 18:50:27(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,910
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Jar-библиотеки подключаются в случае, если используется отделенный провайдер acsp.
При встраивании провайдера в собственное приложение используется aar (при этом упомянутые jar-библиотеки включены в Sharedlibrary.aar).

Отредактировано пользователем 26 июля 2021 г. 18:51:00(UTC)  | Причина: Не указана

Offline Shindje  
#10 Оставлено : 2 сентября 2021 г. 18:18:17(UTC)
Shindje

Статус: Новичок

Группы: Участники
Зарегистрирован: 02.09.2021(UTC)
Сообщений: 3

Тоже делаю на flutter. Насколько я понял, нельзя в flutter подключить либу для android.
Я подключал нужные либы в android-части приложения и обращалался к ним через создание platform channel
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.