Используйте ExplicitKeySignatureTrustEngine для проверки файла метаданных - PullRequest
0 голосов
/ 21 ноября 2018

В настоящее время я внедряю Spring SAML 1.0.3 на свой сервер Spring Boot 2.

Я являюсь частью федерации SAML, и мне даны метаданные всех IdP и SP в виде огромных метаданных.файл и отдельный открытый ключ для проверки метаданных.

Серверу не удается проверить метаданные с использованием открытого ключа (присутствующего в хранилище ключей) при запуске, и выдает

org.opensaml.saml2.metadata.provider.FilterException:
        Signature trust establishment failed for metadata entry

Думаю, я пришел к выводу, что проблема заключается в том, что внутри элемента метаданных <Signature/> нет элемента <KeyInfo/>.

Используемая реализация SignatureTrustEngine по умолчанию - PKIXSignatureTrustEngine, который, похоже, ожидает элемент <KeyInfo/> внутри элемента <Signature/>.Когда он не находит ничего, проверка метаданных завершается неудачей.


Я думаю, что моя проблема была бы решена путем использования реализации ExplicitKeySignatureTrustEngine, которая, кажется, не зависит от элемента <KeyInfo/> дляпроверка метаданных.Эта реализация проверяет только ключи в сконфигурированном хранилище ключей (куда я положил ключ).


Как правильно указать Spring SAML использовать ExplicitKeySignatureTrustEngine вместо PKIXSignatureTrustEngine в качествеэто SignatureTrustEngine при проверке файла метаданных?

...