Не удается проверить знак 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");

Я использую Ответ для подтверждения. Не работает Как я могу это проверить?

0 ответов

Другие вопросы по тегам