1. "Хочу использовать JCSP" - тогда он должен быть провайдером по умолчанию. Поскольку вы используете версию для Java 10+, установка не производится и в java.security провайдеры, полагаю, не записаны. Если вы добавляете провайдеры с помощью Security.addProvider(), то JCSP должен быть выше JCP, тогда он станет работать по умолчанию:
Цитата:
Security.addProvider(new JCSP());
Security.addProvider(new JCP());
Security.addProvider(new RevCheck());
И его же надо указать в addSigner: addSigner(
JCSP.PROVIDER_NAME, ...), а не addSigner(JCP.PROVIDER_NAME, ...)
2. Обычно достаточно использовать addSigner(provider, null, null, ...) для автоопределения OID'ов. Приведите ошибку в этом случае.
3. "Т.е. список сертификатов нужно подгружать со стороннего хранилища, где есть вся цепочка?" - да. сертификаты можно подать из других мест, из файлов, хранилищ. Можно также использовать параметры
Цитата:
System.setProperty("com.sun.security.enableAIAcaIssuers", "true");
System.setProperty("ru.CryptoPro.reprov.enableAIAcaIssuers", "true");
Про них можно найти информацию на форуме по слову enableAIAcaIssuers, коротко - если а) они заданы, б) есть доступ в сеть и в) в AIA сертификатов есть ссылки на сертификаты центров сертификации, то сертификаты будут скачаны; однако корневой все равно должен быть в cacerts.
4. "есть ли какие-то требования" - нет, просто нужны объекты X509Certificate в списке, множество сертификатов (оно может быть и больше самой цепочки), который просто содержит нужные сертификаты (они будут найдены при построении цепочки).
"Появился вопрос: org.bouncycastle.* обязательно использовать из скаченного архива (из папки dependencies) или же допустимо тянуть зависимости с maven репозитория?" - из любого источника, главное - версия BC 1.60, как в dependencies (тут они для удобства, чтобы не искать):
Цитата:
bcprov-jdk15on-1.60.jar
bcpkix-jdk15on-1.60.jar
---
Проверьте:
1. провайдер, как в п.1;
2. версию BC, она должна быть 1.60;
3. сделайте addSigner(provider, null, null, ...), вроде даже должна быть версия функции без OID хеша и OID ключа.
Если не поможет, приложите цепочку сертификатов, будем проверять и воспроизводить.
Отредактировано пользователем 8 ноября 2021 г. 22:22:01(UTC)
| Причина: Не указана