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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline fileracc  
#1 Оставлено : 25 июля 2013 г. 15:44:01(UTC)
fileracc

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

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

Как можно получить ключ из контейнера без окна запроса пароля (он известен заранее).

Код:
final KeyStore keyStore = KeyStore.getInstance(JCSP.HD_STORE_NAME, JCSP.PROVIDER_NAME);
keyStore.load(null, null);
final PrivateKey privateKey = (PrivateKey) keyStore.getKey("container", "password".toCharArray());


всё равно приводит к запросу ПИНа.
Offline Евгений Афанасьев  
#2 Оставлено : 25 июля 2013 г. 15:51:28(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.
Да, указание пароля в getKey() в данном случае (использование в android модуля JCSP вместо JCP) не имеет значения, пароль необходимо вводить в окне.
Offline fileracc  
#3 Оставлено : 25 июля 2013 г. 15:58:39(UTC)
fileracc

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

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

А подскажите тогда, пожалуйста, область "жизни" введённого пароля.
Однажды введённый в одной активити ПИН больше не будет запрашиваться на этот контейнер? А в других активити и потоках?
Offline Евгений Афанасьев  
#4 Оставлено : 25 июля 2013 г. 16:18:36(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Пин-код не будет запрашиваться при работе с объектом, пока существует этот объект, пока не вызовется finalize(), который приведет к закрытию контекста (CryptReleaseContext).

Отредактировано пользователем 5 сентября 2013 г. 20:12:33(UTC)  | Причина: Не указана

Offline anatolyb  
#5 Оставлено : 8 ноября 2013 г. 12:06:49(UTC)
anatolyb

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

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

Добрый день!

При вводе пароля на экране остаются жирные следы, из-за чего секретность пароля значительно снижается.

Подскажите, как решить эту проблему?
Offline cross  
#6 Оставлено : 8 ноября 2013 г. 14:10:40(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Есть два варианта.
1) Написать приложение клавиатуру, в ней положение клавишь рандомизировать каждый раз, и заменить ей штатную в настройках. Тогда по положению следов нельзя будет определить какие клавишы были нажаты. Или можно использовать голосовой ввод :)
2) Протирать экран.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline anatolyb  
#7 Оставлено : 8 ноября 2013 г. 14:17:30(UTC)
anatolyb

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

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

> 1) Написать приложение клавиатуру

Проще свою релизацию криптофункций написать, чем приложение-клавиатуру. Даже если сделать клавиатуру, это нормально не будет работать, т.к. на устройстве вводится много какой информации, кроме паролей.

Может быть лучше сделать возможность передавать пароль (вводимый рандомизированным компонентом в приложении, а не целым приложением-клавиатурой) и функцию блокировки контейнера после N неудачных попыток?

Есть ли у вас в планах разработки такая задача?

> 2) Протирать экран

Это несерьезно.

Отредактировано пользователем 8 ноября 2013 г. 14:19:36(UTC)  | Причина: Не указана

Offline cross  
#8 Оставлено : 8 ноября 2013 г. 16:00:47(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Такой задачи нет. Блокирование после N попыток реализовано в отделяемых носителях. Для ключей на hdimage это не имеет смысла...
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline i1211  
#9 Оставлено : 12 ноября 2013 г. 8:26:59(UTC)
i1211

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

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

Здравствуйте! Столкнулись с такой проблемой: мы используем xamarin (mono for android) для разработки приложения.
http://xamarin.com/
Так вот при вызове функции
Код:
signature.Sign(); 

Окно с вводом пароля не всплывает, а приложение падает и пишет в лог:
Код:

11-11 17:10:40.675 D/CPROCSP (12232): Call CPQueryPin.
11-11 17:10:40.675 D/CPROCSP (12232): Load library libcspjni.so
11-11 17:10:40.680 D/CPROCSP (12232): Load graphical functions from libcspjni.so
11-11 17:10:40.680 D/CPROCSP (12232): * JniQueryPin() : lGlobalJvm GetEnv.
11-11 17:10:40.680 D/CPROCSP (12232): * JniQueryPin() : set text: Type %s for container "my" (26)
11-11 17:10:40.680 D/CPROCSP (12232): * JniQueryPin() : find class ru/CryptoPro/JCSP/tools/common/window/CSPPin
11-11 17:10:40.680 D/CPROCSP (12232): * JniQueryPin() : find method showDialog
11-11 17:10:40.680 D/CPROCSP (12232): * JniQueryPin() : find method getPinCode
11-11 17:10:40.680 D/CPROCSP (12232): * JniQueryPin() : find constructor <init>
11-11 17:10:40.680 D/CPROCSP (12232): * JniQueryPin() : create object ru/CryptoPro/JCSP/tools/common/window/CSPPin
11-11 17:10:40.680 D/CPROCSP (12232): * JniQueryPin() : call method showDialog.
11-11 17:10:40.685 D/CPROCSP (12232): * JniQueryPin() : call method getPinCode.
11-11 17:10:40.685 E/mono-rt (12232): Stacktrace:
11-11 17:10:40.685 E/mono-rt (12232): 
11-11 17:10:40.685 E/mono-rt (12232):   at <unknown> <0xffffffff>
11-11 17:10:40.685 E/mono-rt (12232):   at (wrapper managed-to-native) object.wrapper_native_0x4087994b (intptr,intptr,intptr) <IL 0x00027, 0xffffffff>
11-11 17:10:40.685 E/mono-rt (12232):   at Android.Runtime.JNIEnv.CallObjectMethod (intptr,intptr) [0x00000] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.8.2-branch/a25a31d0/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:129
11-11 17:10:40.685 E/mono-rt (12232):   at Java.Security.Signature.Sign () [0x0002d] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.8.2-branch/a25a31d0/source/monodroid/src/Mono.Android/platforms/android-14/src/generated/Java.Security.Signature.cs:228
11-11 17:10:40.685 E/mono-rt (12232):   at jspapp.SignExample.sign (string,string) [0x00055] in c:\Users\user1211\Documents\Projects\clone\client-android\AndroidMO\CryptoPro\CryptoAPI\SignExample.cs:31
11-11 17:10:40.685 E/mono-rt (12232):   at jspapp.SignExample.getResult (string,string) [0x00001] in c:\Users\user1211\Documents\Projects\clone\client-android\AndroidMO\CryptoPro\CryptoAPI\SignExample.cs:17
11-11 17:10:40.685 E/mono-rt (12232):   at AndroidMO.new_CproCSP.sign_file (string,string) [0x00008] in c:\Users\user1211\Documents\Projects\clone\client-android\AndroidMO\CryptoPro\new_CproCSP.cs:26
11-11 17:10:40.685 E/mono-rt (12232):   at AndroidMO.new_MySigner.signFile (string,string) [0x00001] in c:\Users\user1211\Documents\Projects\clone\client-android\AndroidMO\CryptoPro\new_MySigner.cs:74
11-11 17:10:40.685 E/mono-rt (12232):   at AndroidMO.new_MySigner.doSign (object) [0x0001b] in c:\Users\user1211\Documents\Projects\clone\client-android\AndroidMO\CryptoPro\new_MySigner.cs:57
11-11 17:10:40.685 E/mono-rt (12232):   at System.Threading.Thread.StartInternal () <IL 0x0003c, 0x00143>
11-11 17:10:40.685 E/mono-rt (12232):   at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x0004e, 0xffffffff>
11-11 17:10:40.685 E/mono-rt (12232): 
11-11 17:10:40.685 E/mono-rt (12232): =================================================================
11-11 17:10:40.685 E/mono-rt (12232): Got a SIGSEGV while executing native code. This usually indicates
11-11 17:10:40.685 E/mono-rt (12232): a fatal error in the mono runtime or one of the native libraries 
11-11 17:10:40.685 E/mono-rt (12232): used by your application.
11-11 17:10:40.685 E/mono-rt (12232): =================================================================
11-11 17:10:40.685 E/mono-rt (12232): 
11-11 17:10:40.695 D/        (12232): img erasing: 2
Программа "Mono" завершилась с кодом 255 (0xff).


Заметил я такую вещь, что
Код:
getPinCode()
вызывается в java только после ввода пинкода, а тут сразу.
Может можно как-то реализовать ввод пинкода программно ( в своём диалоге), а не через это окно?
Offline Евгений Афанасьев  
#10 Оставлено : 12 ноября 2013 г. 10:51:57(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.
Попробуйте перед вызовом поставить
Looper.getMainLooper().prepare();
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.