Статус: Новичок
Группы: Участники
Зарегистрирован: 23.06.2015(UTC) Сообщений: 8 Сказал(а) «Спасибо»: 2 раз
|
Добрый день. Столкнулся с проблемой производительности при вычислении электронной подписи. Электронная подпись вычисляется при помощи ключа на носителе RuToken SD Lite, защищенного пин-кодом. При первой попытке вычисления процесс занимает от 7 до 9.5 секунд. Опытным путём установлено, что основное время (6.5-9 секунд) занимает операция извлечения приватного ключа, а именно следующие операции:
- Enumeration<String> aliases = keyStore.aliases(); //~ 3секунды
- String alias = keyStore.aliases().nextElement(); //~ 3секунды
- result = ((JCPPrivateKeyEntry) keyStore.getEntry(alias, protectionParameter)).getPrivateKey() // ~3секунды
Собственно, вопрос: какие есть способы увеличить скорость извлечения ключа? Конфигурация, для которой приведены тайминги: Galaxy Tab S2, Android 5.0.2, КриптоПро CSP для Android 4.0.38674 Кроме того, тестирование проводилось следующих на устройствах со схожими результатами:
- Asus ZenFone 7
- Asus Transformer Pad TF700KL
- Samsung N5100
Полный текст метода, извлекающего приватный ключ: Код:
@Nullable
public static PrivateKey getPrivateKey(String pin) throws NoSuchProviderException, KeyStoreException, UnrecoverableEntryException, NoSuchAlgorithmException, IOException, CertificateException {
KeyStore keyStore =
KeyStore.getInstance("Rutoken lite SD 1", JCSP.PROVIDER_NAME);
keyStore.load(null, null);
Enumeration<String> aliases = keyStore.aliases();
PrivateKey result = null;
if (aliases != null && aliases.hasMoreElements()) {
KeyStore.ProtectionParameter protectionParameter = new JCPProtectionParameter(pin.toCharArray(), false);
String alias = keyStore.aliases().nextElement();
result = ((JCPPrivateKeyEntry) keyStore.getEntry(alias, protectionParameter)).getPrivateKey();
}
return result;
}
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close