Не удается проверить знак SAML (с использованием OpenSAML)
Я использую OpenSAML. У меня проблема, она не может подтвердить знак
Я пытаюсь подтвердить после получения ответа, все в порядке. Но когда я конвертирую в XML и unmarshall, он не может его проверить.
Мой код
Element responseElement = null;
ResponseMarshaller marshaller = new ResponseMarshaller();
try {
responseElement = marshaller.marshall(response); //
/*
* SAML utility = new SAML(); Document doc =
* utility.asDOMDocument(response); // Element target =
* doc.getDocumentElement();
*/
Signer.signObjects(signatures);
} catch (Exception ex) {
ex.printStackTrace();
}
Когда я использую ResponseElement для проверки, это работает.
Мой код конвертировать SAMLResponse в строку
String samlXmlString = XMLHelper.prettyPrintXML(responseElement);
BasicParserPool parserPool = new BasicParserPool();
parserPool.setNamespaceAware(true);
Document document;
logger.debug("Parsing...");
document = parserPool.parse(new StringReader(samlXmlString));
Element responseElement = document.getDocumentElement();
logger.debug("responseElement is:\n{}", convertToString(responseElement));
Response response;
logger.debug("Unmarshalling...");
UnmarshallerFactory unmarshallerFactory = Configuration.getUnmarshallerFactory();
Unmarshaller unmarshaller = unmarshallerFactory.getUnmarshaller(responseElement);
response = (Response) unmarshaller.unmarshall(responseElement);
logger.debug("Successfully unmarshalled");
Я использую Ответ для подтверждения. Не работает Как я могу это проверить?