Наш вариант использования требует проверки отзыва сертификата через OCSP при настройке PKIX. Моей отправной точкой был код в этом связанном вопросе: Отзыв OCSP на клиентском сертификате
Я делаю это вручную на уровне приложения, поскольку tomcat не поддерживает это. Однако у меня возникли некоторые проблемы при создании certPath, и я думаю, что мне не хватает фундаментального понимания.
Сначала я пытаюсь создать certPath для входящего клиента x509Certificate.
Хранилище ключей правильно инициализировано и содержит только корневые сертификаты, соответствующие клиентскому сертификату x509.
РЕДАКТИРОВАТЬ: Я получил тот же результат после добавления промежуточных сертификатов.
X509CertSelector certSelector = new X509CertSelector();
certSelector.setSubject(x509certificate.getSubjectX500Principal());
PKIXParameters params = new PKIXBuilderParameters(store,certSelector);
CertPathBuilder cpb = CertPathBuilder.getInstance(CertPathBuilder.getDefaultType());
CertPath certPath = cpb.build(params).getCertPath();
Однако я получаю сообщение об ошибке во время выполнения:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Чего не хватает?