Статус: Активный участник
Группы: Участники
Зарегистрирован: 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: Неверный формат хранилища.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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)
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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, хотя из контейнера сертификат нормально читается... Что не так?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,445
Сказал(а) «Спасибо»: 37 раз Поблагодарили: 577 раз в 401 постах
|
1. В JCP используются только короткие имена контейнеров, т.к. считыватель известен заранее (в KeyStore.getInstance(...)). 2. Для работы с flash-носителями надо указать её букву на закладке "Оборудование" в контрольной панели JCP. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.11.2008(UTC) Сообщений: 41
|
А каким образом я могу получить PrivateKey из сертификата?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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 - имя контейнера
!!!читайте документацию, там все написано.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.11.2008(UTC) Сообщений: 41
|
При запуске апплета возникает ошибка на странице ru.CryptoPro.JCP.tools.SelfTesterException: access denied(java.lang.RuntimePermission preferences) Что это может быть?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.01.2008(UTC) Сообщений: 207
Поблагодарили: 3 раз в 3 постах
|
апплет должен быть подписан используйте jarsigner и rsa-ключ
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close