Shibboleth-sp Errore caricamento metadati da registry

Ciao a tutti,
da quanto è stato inserito nel registry https://registry.spid.gov.it/metadata/idp/spid-entities-idps.xml il metadata di Teamsystem ho un errore di validazione del metadata da parte di shibboleth:
WARN OpenSAML.MetadataProvider.XML : trying backup file, exception loading remote resource: Invalid child element: saml2p:Extensions
Che non permette il download e l’aggiornamento dei metadata degli IdP pubblici. Analizzando il file,
effettivamente il metadata di Teamsystem ha queste estensione in più che crea l’errore:

<saml2p:Extensions xmlns:spid="https://spid.gov.it/saml-extensions">
<spid:SupportedAuthnContextClassRefs>
<AuthnContextClassRef>https://www.spid.gov.it/SpidL1</AuthnContextClassRef>
<AuthnContextClassRef>https://www.spid.gov.it/SpidL2</AuthnContextClassRef>
</spid:SupportedAuthnContextClassRefs>
<spid:SupportedPurposes>
<Purpose>P</Purpose>
<Purpose>LP</Purpose>
<Purpose>PG</Purpose>
<Purpose>PF</Purpose>
<Purpose>PX</Purpose>
</spid:SupportedPurposes>
</saml2p:Extensions>

Il metadata viene caricato automaticamente da shibboleth tramite la configurazione MetadataProvider type=“XML” url=“https://registry.spid.gov.it/metadata/idp/spid-entities-idps.xml” e di default il validate è a false.
Sinceramente non riesco a capire come far accettare questo metadata o come aggiungere lo schema samlp spid al momento del parsing del metadata. Qualcun’altro si è scontrato con questo problema?
Grazie!

uno potrebbe aggiungere un custom schema, come in SchemaValidationFilter
ma prima avrei da trovare dove è definito lo xsd per https://spid.gov.it/saml-extensions.
Dico bene?
PS: anche qui il download dei metadati degli IdP è fermo.

a parte che ho confuso lo IdP con lo SP per cui la indicazione di cui sopra non ha senso, il problema secondo me è che è malformato il metadata quindi va sistemato upstream.
Infatti: guarda lo schema a
https://www.w3.org/2002/ws/databinding/edcopy/collection/detected/OASIS-SAML-Metadata-2_0.html
definisce un elemento Extensions, ma è md:Extensions, non samlp:Extensions.
Ed ha anche senso: samlp contiene dati di protocolli: https://www.w3.org/2002/ws/databinding/edcopy/collection/detected/OASIS-SAML-Protocol-2_0.html

A conferma della tua segnalazione, riporto l’avviso che vedo in Shibboleth.
Nel mio caso è di livello CRIT:

2022-09-30 06:40:04 CRIT OpenSAML.MetadataProvider.XML : maintaining existing configuration, error reloading resource (https://registry.spid.gov.it/metadata/idp/spid-entities-idps.xml): Invalid child element: saml2p:Extensions

Ciao a tutti, noi abbiamo bypassato il problema rimuovendo quella sezione dal metadata. Adesso però abbiamo un altro problema perchè nella SAMLResponse l’elemento “StatusMessage” non contiene un textContent e manda in errore la libreria XMLTooling che utilizza Shibboleth per validare la SAMLResponse.
Di per se la SAMLResponse è corretta. Al momento non siamo riusciti a trovare un workaround.

1 Mi Piace

Scusate, un IdP lavora con un XML di “metadato” mal formato e invece che farglielo correggere ci si dà da fare per aggirare (e ignorare) l’errore?

1 Mi Piace