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

Уведомление

Icon
Error

4 Страницы<1234>
Опции
К последнему сообщению К первому непрочитанному
Offline e-ken  
#11 Оставлено : 16 апреля 2009 г. 19:54:56(UTC)
e-ken

Статус: Активный участник

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

Уважаемая, Ольга, можете подсказать что не так? Получаю ошибку java.io.IOException: Неверный формат хранилища. Хранилище было сформирована когда я получал тестовый сертификат на http://www.CryptoPro.ru/CertSrv ????

String sContainer = "FAT12\\4968CC02_FLASH\\le-3a6a7.000\\9F1B";
ru.CryptoPro.JCP.KeyStore.HDImage.FloppyStore store = new ru.CryptoPro.JCP.KeyStore.HDImage.FloppyStore();
store.engineLoad(new java.io.ByteArrayInputStream(sContainer.getBytes()), "1111".toCharArray());

for (Enumeration aliases = store.engineAliases(); aliases.hasMoreElements();)
{
String alias = (String) aliases.nextElement();
StringBuffer _sb = new StringBuffer();
_sb.append("AliasName = ");
_sb.append(alias);
_sb.append(" is KeyEntry ");
_sb.append(store.engineIsKeyEntry(alias));
_sb.append(" is CertificateEntry ");
_sb.append(store.engineIsCertificateEntry(alias));
System.out.println(_sb.toString());

X509Certificate cert = (X509Certificate) store.getCertificate(alias);
}


Exception:

java.io.IOException: Неверный формат хранилища.
Offline Ольга  
#12 Оставлено : 16 апреля 2009 г. 19:58:01(UTC)
Ольга

Статус: Активный участник

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

Поблагодарили: 3 раз в 3 постах
дискета или флешка:
KeyStore ks = KeyStore.getInstance("FloppyStore");
//KeyStore ks = KeyStore.getInstance("FloppyStore", "JCP");
ks.load(null, null);
Certificate cert = ks.getCertificate(alias);
//alias - имя контейнера

(см. progguide.html#KeyStore)
Offline e-ken  
#13 Оставлено : 16 апреля 2009 г. 20:34:14(UTC)
e-ken

Статус: Активный участник

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

Вот код что Вы подсказали, но сертификат не читается!

String sContainer = "FAT12\\4968CC02_FLASH\\le-3a6a7.000\\9F1B";
System.out.println(sContainer);
KeyStore ks = KeyStore.getInstance("FloppyStore", "JCP");
ks.load(null, null); // Пробовал передавать пароль во втором параметре, не помогло
Certificate cert = ks.getCertificate(sContainer);
System.out.println(cert);

Код в последней строке выводит постоянно null, хотя из контейнера сертификат нормально читается... Что не так?
Offline Русев Андрей  
#14 Оставлено : 16 апреля 2009 г. 21:42:47(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,445

Сказал(а) «Спасибо»: 37 раз
Поблагодарили: 577 раз в 401 постах
1. В JCP используются только короткие имена контейнеров, т.к. считыватель известен заранее (в KeyStore.getInstance(...)).
2. Для работы с flash-носителями надо указать её букву на закладке "Оборудование" в контрольной панели JCP.
Официальная техподдержка. Официальная база знаний.
Offline e-ken  
#15 Оставлено : 17 апреля 2009 г. 13:32:22(UTC)
e-ken

Статус: Активный участник

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

А каким образом я могу получить PrivateKey из сертификата?
Offline Ольга  
#16 Оставлено : 17 апреля 2009 г. 14:12:06(UTC)
Ольга

Статус: Активный участник

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

Поблагодарили: 3 раз в 3 постах
Из сертификата секретный ключ не получить. Контейнер состоит из секретного ключа и сертификата. Получить секретный ключ из контейнера можно так же как и сертификат:
KeyStore ks = KeyStore.getInstance("FloppyStore");
//KeyStore ks = KeyStore.getInstance("FloppyStore", "JCP");
ks.load(null, null);
PrivateKey key = (PrivateKey) ks.getKey(alias, password);
//alias - имя контейнера

!!!читайте документацию, там все написано.
Offline e-ken  
#17 Оставлено : 20 апреля 2009 г. 14:45:44(UTC)
e-ken

Статус: Активный участник

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

При запуске апплета возникает ошибка на странице ru.CryptoPro.JCP.tools.SelfTesterException: access denied(java.lang.RuntimePermission preferences)
Что это может быть?
Offline e-ken  
#18 Оставлено : 20 апреля 2009 г. 17:49:57(UTC)
e-ken

Статус: Активный участник

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

А что означает эта ошибка

ru.CryptoPro.JCP.tools.SelfTesterException: SelfTester Error: some test crashed twice in a row, usage of JCP is no longer available?
Offline Ольга  
#19 Оставлено : 20 апреля 2009 г. 17:50:43(UTC)
Ольга

Статус: Активный участник

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

Поблагодарили: 3 раз в 3 постах
апплет должен быть подписан
используйте jarsigner и rsa-ключ
Offline e-ken  
#20 Оставлено : 20 апреля 2009 г. 18:58:35(UTC)
e-ken

Статус: Активный участник

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

Апплет подписан!

ru.CryptoPro.JCP.tools.SelfTesterException: access denied (java.lang.RuntimePermission preferences)
ru.CryptoPro.JCP.tools.SelfTesterException: SelfTester Error: some test crashed twice in a row, usage of JCP is no longer available
20.04.2009 14:57:03 ru.CryptoPro.JCP.tools.SelfTester e
SEVERE: test 23crashed twice

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (4)
4 Страницы<1234>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.