Статус: Новичок
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Здравствуйте. Покажите пример, ктторыц вы написали для проверки. Не совсем понятно, что должно импортироваться - пример демонстрирует чтение существующего в папке приложения ключевого контейнера, не импорт. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 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.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Автор: Diper ошибка об отсутсвие данного файла, класса Какого файла, класса? KeyStore - это стандартный java-класс, его нет в в нашем SDK, этот класс всегда есть в стандартных библиотеках в ОС. Отредактировано пользователем 21 июля 2021 г. 11:15:37(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 21.07.2021(UTC) Сообщений: 4
|
Файл JInitCSP.arr из flutter/android/app/libs/JInitCSP.aar
Как я понял иницилизация идет через JInitCSP.aar
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Все необходимые файлы из SDK необходимо распаковать и добавить в проект. Возможно, flutter/material.dart так подключатся библиотеки из flutter, а сторонние вроде JInitCSP должны добавляться иначе. Помимо JInitCSP также нужны и другие библиотеки из CSP SDK. Отредактировано пользователем 21 июля 2021 г. 11:32:08(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 21.07.2021(UTC) Сообщений: 4
|
Благодарю за совет, попробую решить вопрос с добавлением модуля CSP SDK + инным способом импорта. Надеюсь поможет. О результате в любом случае напишу.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 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 ?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Jar-библиотеки подключаются в случае, если используется отделенный провайдер acsp. При встраивании провайдера в собственное приложение используется aar (при этом упомянутые jar-библиотеки включены в Sharedlibrary.aar). Отредактировано пользователем 26 июля 2021 г. 18:51:00(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.09.2021(UTC) Сообщений: 3
|
Тоже делаю на flutter. Насколько я понял, нельзя в flutter подключить либу для android. Я подключал нужные либы в android-части приложения и обращалался к ним через создание platform channel
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close