Я использую SCEP для создания сертификатов для своего веб-сервиса. После успешного создания сертификата и запуска сервера я пытаюсь получить доступ к wsdl через браузер, который отображает сообщение об ошибке, в котором говорится, что тип сертификата не разрешен для этого приложения, код ошибки: sec_error_inadequate_cer_type. Другой коллега указал, что мне нужно изменить использование ключа в расширенных атрибутах ключа на «аутентификацию сервера» и что это должно быть сделано в запросе на сертификацию.
Для создания нового запроса я использую bouncycastle. См. Фрагмент кода ниже:
PKCS10CertificationRequestBuilder builder = new PKCS10CertificationRequestBuilder(subject, pkInfo);
builder.addAttribute(PKCSObjectIdentifiers.pkcs_9_at_challengePassword, new DERPrintableString(challengePassword));
return builder.build(signer);
Проблема в том, что я не нашел документации о том, как добавить что-то подобное в запрос. Единственное, что я понял, это то, что, скорее всего, я должен добавить другой атрибут в построитель с идентификатором объекта «PKCSObjectIdentifiers.pkcs_9_at_extendedCertificateAttributes»:
builder.addAttribute(PKCSObjectIdentifiers.pkcs_9_at_extendedCertificateAttributes, ??? );
Но что нужно передать в addAttribute-Method конструктора, чтобы в запрошенном сертификате для атрибута расширенного сертификата было установлено значение «проверка подлинности сервера»?
Я провел небольшое исследование, но не нашел никакой документации или примеров, которые давали бы мне полезные ответы.
Некоторая информация: я использую JSCEP и bouncycastle 1.48
Я надеюсь, что кто-то может указать мне решение. Заранее спасибо.