Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Presenza di whitespace negli elementi XML #46

Open
mauromol opened this issue May 5, 2021 · 3 comments
Open

Presenza di whitespace negli elementi XML #46

mauromol opened this issue May 5, 2021 · 3 comments

Comments

@mauromol
Copy link

mauromol commented May 5, 2021

La specifica SAML, documento core, nella sezione 1.3.1 recita:

Unless otherwise noted in this specification or particular profiles, all elements in SAML documents that have the XML Schema xs:string type, or a type derived from that, MUST be compared using an exact binary comparison. In particular, SAML implementations and deployments MUST NOT depend on case-insensitive string comparisons, normalization or trimming of whitespace, or conversion of locale-specific.

Tuttavia in numerosi esempi delle regole tecniche di SPID, ma anche nelle risposte generate dal validatore, vedo cose di questo tipo:

<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
    http://localhost:8080
</saml:Issuer>
<saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" NameQualifier="https://validator.spid.gov.it">
    
        _034cecb9-7a31-4eae-a538-7c6f7f0bf290

</saml:NameID>

Se di questi valori non viene fatto il trim, chiaramente si arriverà a risultati errati nel controllare la validità di un issuer o nel caso sia necessario gestire il NameID di un subject.

A mio parere andrebbe fatta chiarezza anche su questo aspetto, ed eventualmente corrette le specifiche o il validatore.

@peppelinux
Copy link
Member

Ciao @mauromol

gli esempi vogliono essere il più possibile leggibili, quindi è stato deciso di rappresentarli "fancy" :)
Quanto dici è vero e stando a xml security una volta firmato il valore autorevole assumerà spazi e anche caratteri di newline.

Sinceramente non vorrei rendere gli esempi meno leggibili ma credo che quanto hai espresso sia degno di seguito.
Se tu fossi d'accordo potremmo pensare di lasciare gli esempi così come sono ma includere una nota per il lettore al fine di renderlo consapevole di questo.

Che ne pensi?

@mauromol
Copy link
Author

mauromol commented Jun 1, 2021

Sono d'accordo che avere esempi leggibili sia una buona cosa. Tuttavia una semplice nota credo possa risultare un po' debole: gli strumenti dovrebbero essere allineati, ad oggi per esempio il validatore fa ampio uso di whitespace per diversi elementi (issuer, name id...), tant'è che ho dovuto aprire una PR su java-saml per rendere configurabile il trim dei text element dell'XML per poter passare i test di conformità. Mi chiedo anche cosa facciano gli IdP nel mondo reale...

@peppelinux
Copy link
Member

peppelinux commented Jun 9, 2021

spid-sp-test controlla dalla version 0.6.7 in poi questo aspetto:
italia/spid-sp-test@ee340a3

gestendolo come warning.
Questa feature considera esclusivamente, ad ora, gli spazi all'inizio del documento.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants