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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline pls  
#1 Оставлено : 21 января 2013 г. 17:20:58(UTC)
pls

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

Группы: Участники
Зарегистрирован: 04.10.2011(UTC)
Сообщений: 74
Откуда: Moscow

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах
Здравствуйте,
коллегам админам потребовалось перенести файл cacerts(ранее расположенный по дефолту в /jre/lib/security) в другой каталог ФС. Это потребовало доработки приложения создающего ЭЦП. Попробовал поиграть с KeyStore указав путь к хранилищу сертификатов - не получилось. Пишет:
Цитата:
java.io.FileNotFoundException: /usr/lib/jvm/jdk1.6.0_31-jcp/jre/lib/security/cacerts (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at ru.CryptoPro.CAdES.b.d.a.a(Unknown Source)
at ru.CryptoPro.CAdES.b.d.a.<clinit>(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)

а потом:
Цитата:
Exception in thread "main" ru.CryptoPro.CAdES.exception.CAdESException: Error verifying the certificate CN=Leader, O=Earth, C=UN: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at ru.CryptoPro.CAdES.b.d.b.a(Unknown Source)
at ru.CryptoPro.CAdES.b.d.b.a(Unknown Source)
at ru.CryptoPro.CAdES.b.d.a.<init>(Unknown Source)
at ru.CryptoPro.CAdES.b.d.a.<init>(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)


С помощью ControlPane я строю цепочку для используемого сертификата подписи - все ок.
Также передавал параметры jvm: -Djavax.net.ssl.trustStore, тоже не помогло.

Использовал код:
Цитата:
public class SimpleTest {

public static void main(String[] args) throws Exception {
KeyStore keyStore = KeyStore.getInstance("HDImageStore", "JCP");
keyStore.load(new FileInputStream(System.getProperty("cryptopro.trustStore")), "changeit".toCharArray());

PrivateKey key = (PrivateKey) keyStore.getKey("leadZeroTest", "qwerty".toCharArray());
List<X509Certificate> chain = new ArrayList<X509Certificate>();
chain.add((X509Certificate) keyStore.getCertificate("leadZeroTest"));

CAdESSignature signature = new CAdESSignature(true);
signature.addSigner(key, chain, CAdESType.CAdES_X_Long_Type_1, "http://www.cryptopro.ru/tsp/tsp.srf");
signature.sign("test".getBytes());
}
}


параметры:
-Dcryptopro.trustStore=cryptoproOnlyTrustStore -Djavax.net.ssl.trustStore=trustStore
ключи и хранилища приаттачил.
Подскажите пожалуйста, что не так?
Вложение(я):
trustStore (3kb) загружен 4 раз(а).
cryptoproOnlyTrustStore (1kb) загружен 2 раз(а).
leadZero.000.zip (3kb) загружен 2 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline Евгений Афанасьев  
#2 Оставлено : 21 января 2013 г. 17:43:03(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 709 раз в 670 постах
Здравствуйте.
Путь к доверенному хранилищу cacerts и пароль к нему зашиты в коде, и список доверенных сертификатов берется именно по этому пути (см. при включенном уровне логирования FINE). Попробуйте сделать символьную ссылку на перемещенный cacerts.
Offline pls  
#3 Оставлено : 22 января 2013 г. 8:54:31(UTC)
pls

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

Группы: Участники
Зарегистрирован: 04.10.2011(UTC)
Сообщений: 74
Откуда: Moscow

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах
Автор: afev Перейти к цитате
Здравствуйте.
Путь к доверенному хранилищу cacerts и пароль к нему зашиты в коде, и список доверенных сертификатов берется именно по этому пути (см. при включенном уровне логирования FINE). Попробуйте сделать символьную ссылку на перемещенный cacerts.

Спасибо, использовать симлинки я уже предлагал и по некоторым причинам этот вариант оставили как крайний. Тем не менее на мой взгляд хардкодить путь к хранилищу доверенных сертификатов негибко. Планируется ли изменить этот функционал(допустим, введя параметр для jvm)?
Offline pls  
#4 Оставлено : 23 января 2013 г. 14:56:18(UTC)
pls

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

Группы: Участники
Зарегистрирован: 04.10.2011(UTC)
Сообщений: 74
Откуда: Moscow

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах
ping
Offline pls  
#5 Оставлено : 25 января 2013 г. 9:39:18(UTC)
pls

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

Группы: Участники
Зарегистрирован: 04.10.2011(UTC)
Сообщений: 74
Откуда: Moscow

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах
the very very last ping
Offline Евгений Афанасьев  
#6 Оставлено : 25 января 2013 г. 12:21:59(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 709 раз в 670 постах
Автор: pls Перейти к цитате
Планируется ли изменить этот функционал(допустим, введя параметр для jvm)?

Пока нет.
Offline pls  
#7 Оставлено : 28 января 2013 г. 11:30:23(UTC)
pls

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

Группы: Участники
Зарегистрирован: 04.10.2011(UTC)
Сообщений: 74
Откуда: Moscow

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах
можно оставить request for feature и если да то где?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.