Я использую SCEP для создания сертификатов для своего веб-сервиса. После успешного создания сертификата и запуска сервера я пытаюсь получить доступ к wsdl через браузер, в котором отображается сообщение об ошибке, в котором говорится, что тип сертификата не разрешен для этого приложения, код ошибки: sec_error_inadequate_cer_type. Один коллега отметил, что мне нужно изменить использование ключа в расширенных ключевых атрибутах на «аутентификацию сервера» и что это должно быть сделано в запросе на сертификацию.SCEP и атрибуты расширенного сертификата
Чтобы создать новый запрос, я использую 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-метод строителя так что запрашиваемый сертификат будет иметь расширенный атрибут сертификата, установленный на «аутентификацию сервера»?
Я провел некоторое исследование, но я не нашел никакой документации или примеров, которые предоставили мне некоторые полезные ответы.
Некоторая информация: Я использую JSCEP и BouncyCastle 1,48
Я надеюсь, что кто-то может мне точку в решении. Спасибо заранее.
Спасибо очень много. Это сделало мой день. Btw. Извините за поздний ответ, я был в отпуске, поэтому сегодня первый день я могу проверить. – vik