Я работаю над SP. У нас есть ответ SAML2 от IDP.
Это выглядит примерно так:
SAML: почему сертификат находится внутри подписи?
Теперь я использую OpenSaml2 для анализа и обработки данных в этом XML-файле.
Мне нужно вытащить сертификат из ответа и использовать его как учетные данные.
До сих пор я делал это:
Response response = (Response) xmlObject;
SAMLSignatureProfileValidator profileValidator = new
SAMLSignatureProfileValidator();
Signature signature = response.getSignature();
Credential credential = null;
profileValidator.validate(signature);
SignatureValidator validator = new SignatureValidator(credential);
validator.validate(signature);
В приведенном выше коде учетные данные временно "нулевые", но мне нужно, чтобы это был открытый ключ, который находится в сертификате. Есть идеи, как я могу это сделать?
Было сказано, что у opensaml2 есть такие методы, как KeyInfoCredentialResolver, чтобы помочь с этим, но не видели простой реализации этого.