Статус: Новичок
Группы: Участники
Зарегистрирован: 01.09.2023(UTC) Сообщений: 7
|
Добрый день! Требуется подписывать файлы через JCSP аналогично, как подписывается через плагин браузера(Крипто-про Extension for CAdES). Столкнулся с проблемой получения цепочки сертификатов. Окружение:CryptoPro CSP 5.0.12500 Java CSP 5.0.44122-A Java 11.0.20.1 ОС Windows 10 Шаги:1. Получил тестовый сертификат тут: http://testgost2012.cryp....ru/certsrv/certrqma.asp2. Установил в REGISTRY 3. Получил корневой сертификат(либо с http://testgost2012.cryp....ru/certsrv/certcarc.asp либо прямо из пользовательского сертификата) 4. Установил корневой сертификат через keytool Код:keytool -import -trustcacerts -cacerts -storepass changeit -noprompt -alias test_root -file certnew.cer
5. Получаю цепочку сертификатов: Код:import ru.CryptoPro.Crypto.CryptoProvider;
import ru.CryptoPro.JCSP.JCSP;
import ru.CryptoPro.reprov.RevCheck;
import java.security.KeyStore;
import java.security.Security;
import java.security.cert.Certificate;
public class CertChain {
public static void main(String[] args) {
Security.addProvider(new JCSP());
Security.addProvider(new CryptoProvider());
Security.addProvider(new RevCheck());
try {
KeyStore keyStore = KeyStore.getInstance(JCSP.REG_STORE_NAME, JCSP.PROVIDER_NAME);
keyStore.load(null, null);
Certificate[] chain = keyStore.getCertificateChain("f0551342e-ef2b-b116-eef9-4595c159154");
System.out.println("Loaded certificate chain size: " + chain.length);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
}
Результат: Loaded certificate chain size: 1 А должно быть, как я понимаю, 2. Т.е. корневой не грузится. При выполнении keytool -list, добавленный корневой сертификат мне возвращается. Что делаю не так? Используемые сертификаты: cert.zip (3kb) загружен 0 раз(а).Отредактировано пользователем 4 сентября 2023 г. 17:40:42(UTC)
| Причина: добавил тестовые сертификаты
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Здравствуйте. getCertificateChain только читает сертификаты из ключевого контейнера. Вероятно, в него установлен один сертификат ("Установил в REGISTRY"). Надо либо установить всю цепочку (p7b) в ключевой контейнер, либо иначе читать промежуточный сертификат (из файла) и добавлять в chain. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close