Jump to content
sigatron

Получение Ключа Из Etoken

Recommended Posts

Здравствуйте!

У меня есть токен eToken PRO Java 72k с записанным на него контейнером VipNet. Сам VipNet CSP контейнер видит, ключ и сертификат тоже.

Вопрос: как мне получить ключ и сертификат из JCrypto SDK, если Ваш провайдер принимает для инициализации KeyStore только файл?

Share this post


Link to post
Share on other sites

Здравствуйте!

Описанный Вами сценарий реализован в новой версии JCrypto SDK, которая в скором времени будет выложена в разделе "Бета-тест".

Я сообщу дополнительно, когда это произойдет.

Share this post


Link to post
Share on other sites
В ‎19‎.‎10‎.‎2015‎ ‎18‎:‎17‎:‎45, Petrenko Sergey сказал:

Здравствуйте!

 

Описанный Вами сценарий реализован в новой версии JCrypto SDK, которая в скором времени будет выложена в разделе "Бета-тест".

Я сообщу дополнительно, когда это произойдет.

Спасибо. Если не секрет, есть ли какие-нибудь "подвижки" по данному вопросу? Вышло так, что не дожидаясь доработки JCrypto, все же решили перейти на использование Ваших ЭЦП, реализация всех функций подписи у нас  - на Java. Пока выход только один - копировать контейнер ключей (с JaCarta и eToken) на диск и использовать уже оттуда, что есть "не очень хорошо" и не всем это нравится. Либо использовать контейнер CryptoPro, для их JCP поддержка ключей от Аладдина имеется, но цель - использовать именно сабжевый продукт. Так что, с нетерпением жду новую версию.

Share this post


Link to post
Share on other sites

Здравствуйте!

Планирую выложить новую версию продукта JCrypto SDK в "Бета-тест" на следующей неделе.

Сообщу об этом в этой ветке форума.

 

 

Share this post


Link to post
Share on other sites
В ‎07‎.‎04‎.‎2016в16:16, Petrenko Sergey сказал:

Здравствуйте!

Новая версия выложена на сайте:

http://www.infotecs.ru/downloads/product_beta.php?id_product=9666

 

Здравствуйте!

Спасибо за новую версию.

По стечению обстоятельств только сейчас вернулись к этой проблеме (добыча сертификата и закрытого ключа из токена с записанным на него контенером VipNet). Следующие проблемы (может что-то не так делаю). Опишу порядок действий:

  1. Есть контейнеры на токенах JaCarta, RuToken записанные в VipNet CSP 4.2 BETTA, https://imgdepo.com/show/9371785, https://imgdepo.com/show/9371788
  2. Пытаюсь работать с ними из Java, как написано в руководстве программиста. Все идет нормально, (регистрация провайдера, список токенов, логин), но вот keyStore.aliases(); всегда выдает 0 результатов, что с JaCarta, что с RuToken.
  3. Открываю OpenSC, вижу следующее https://imgdepo.com/show/9371841, то есть стандартные entrie's для VipNet.
  4. Собственно, все. Что не так?

.

Share this post


Link to post
Share on other sites

Коллеги, примерно аналогичная проблема:

Считывание токена JaCarta совершенно не работает из программы (хотя в ViPNet CSP он виден, и библиотеки для path указали корректные):                              

String[] nativeModuleFiles = new String[] {"C:\\Windows\\System32\\jcPKCS11.dll", "C:\\Windows\\System32\\jcPKCS11x.dll" };
ViPNetPKCS11Provider provider = new ViPNetPKCS11Provider("JaCarta", nativeModuleFiles);
Security.addProvider(provider);

Поместили хранилище в файл (некий «dbf61553-199a-4e0e-9492-ec715b6d01fc» размером 3 кб).

Как бинарник считывается, при попытке считать его в KeyStore – выводит ошибки (либо пароль не принимает, либо провайдер неправильно указываем, либо еще что-то), метод keyStore.aliases() всегда ничего не выводит.

// подготовка названия записи
String alias = "key";
// подготовка пароля
char[] password = "password".toCharArray();
// извлечение записи с использованием пароля
Key key = keyStore.getKey(alias, password);

Указанный пример не срабатывает на нашей реализации (с базовым паролем по умолчанию от токена / от хранилища).

Нам нужна реализация для формата подписи XMLDSig (ЭП-ОВ для СМЭВ). 

С кем можно пообщаться на эту тему, помогите, пожалуйста.

Share this post


Link to post
Share on other sites
В 18.08.2016в21:26, anti0ff сказал:

Коллеги, примерно аналогичная проблема:

Считывание токена JaCarta совершенно не работает из программы (хотя в ViPNet CSP он виден, и библиотеки для path указали корректные):                              


String[] nativeModuleFiles = new String[] {"C:\\Windows\\System32\\jcPKCS11.dll", "C:\\Windows\\System32\\jcPKCS11x.dll" };
ViPNetPKCS11Provider provider = new ViPNetPKCS11Provider("JaCarta", nativeModuleFiles);
Security.addProvider(provider);

Поместили хранилище в файл (некий «dbf61553-199a-4e0e-9492-ec715b6d01fc» размером 3 кб).

Как бинарник считывается, при попытке считать его в KeyStore – выводит ошибки (либо пароль не принимает, либо провайдер неправильно указываем, либо еще что-то), метод keyStore.aliases() всегда ничего не выводит.


// подготовка названия записи
String alias = "key";
// подготовка пароля
char[] password = "password".toCharArray();
// извлечение записи с использованием пароля
Key key = keyStore.getKey(alias, password);

Указанный пример не срабатывает на нашей реализации (с базовым паролем по умолчанию от токена / от хранилища).

Нам нужна реализация для формата подписи XMLDSig (ЭП-ОВ для СМЭВ). 

С кем можно пообщаться на эту тему, помогите, пожалуйста.

Учитывая частоту, с которой тут отвечают, предвижу, что через полгодика Вам ответят "ждите, скоро новая версия будет", ещё через полгода её выложат, снова со странностями, и так по кругу. Это бета, так что увы и ах. Нормально с контейнерами на токенах из джавы не поработать.

Ковырялся тут с тем, что csp пишет на токен. Со всем все более ли менее понятно, кроме закрытого ключа. Он там в каком виде? Под паролем, аналогичным пин коду? Под другим паролем?  Или вообще без него (но тогда какой spec там)? Вопросов много, ответов нет. Учитывая, что я не специалист в криптографии, разбираться можно долго и безуспешно, а задача важная. 

Share this post


Link to post
Share on other sites

Здравствуйте!

Последние два вопроса касаются VipNet CSP 4.2.

Это ветка форума про продукт .

Это два совершенно РАЗНЫХ продукта. 

Вопросы про VipNet CSP задайте, пожалуйста, в соответствующей ветке.

Я, к сожалению, не компетентен на них ответить.

 

Share this post


Link to post
Share on other sites

Здравствуйте!

Хорошо, я Вас понял. Речь была о том, что VipNet JCrypto SDK не умеет читать контейнеры, которые записаны с помощью ViPNet CSP на токен (имеется ввиду "обычный" токен, где криптографические операции производятся вне него, например Rutoken Lite или Etoken Java 72k).

CSP со своей задачей справился - контейнер он записал. А вот с помощью JCrypto SDK его прочитать невозможно. Ну или просто у меня и, как минимум, anti0ff не получилось. Последние вопросы были к тому, что при отсутствии таковой функции в JCrypto SDK я пробовал изучить формат хранения контейнера на токене, чтобы потом "скормить" данные внутренним функциям JCrypto, все получилось, кроме закрытого ключа. В следующий раз буду задавать вопросы по форматам данных в теме о ViPNet CSP.

Спасибо за ответ, за оффтопик извиняюсь. 

P.S. Видимо, придется смотреть в сторону ViPNet LSS.

Share this post


Link to post
Share on other sites
В 29.09.2016в12:30, sigatron сказал:

VipNet JCrypto SDK не умеет читать контейнеры, которые записаны с помощью ViPNet CSP

Вот этого из ранее написанного вами я не уловил...

Сейчас разберусь...

 

Share this post


Link to post
Share on other sites

Работа с токенами значительно улучшена в текущей версии 2.6.0

Готовлюсь к размещению ее в бета-тест.

Ожидайте.

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site, you agree to our Terms of Use.