italia/cie-aspnetcore

ContactPerson in metadata mancante

mrossini109 opened this issue · 12 comments

Buongiorno,

intanto vi ringrazio tantissimo per il lavoro che avete fatto.

Sto avendo dei problemi sulla validazione del metadata per via del tag ContactPerson mancante, in effetti mi sono accorto che la configurazione differisce da SPID ma mi sembra in linea con quanto riportato nella doc. Riporto un estratto:

new ServiceProviderStandard()
{
      FileName = "metadata.xml",
      Certificate = this.Certificate,
      Id = this.config.CurrentProvider.ID,
      EntityId = this.config.CurrentProvider.EntityId,
      SingleLogoutServiceLocations = new List<SingleLogoutService>() {...},
      AssertionConsumerServices = new List<AssertionConsumerService>() {
          new AssertionConsumerService(){...},
          new AssertionConsumerService() {...}
      },
    AttributeConsumingServices = new List<AttributeConsumingService>() {...},
    OrganizationName = this.config.CurrentProvider.OrganizationName,
    OrganizationDisplayName = this.config.CurrentProvider.OrganizationDisplayName,
    OrganizationURL = this.config.CurrentProvider.OrganizationURL,                    
    ContactPersons = new List<IContactPerson>() {
        new PublicContactPerson() {
            ContactType = ContactTypeType.administrative,
            Company = this.config.CurrentProvider.OrganizationName,
            EmailAddress = new string[] { this.config.CurrentProvider.ContactEmailAddress },
            TelephoneNumber = new string[] { this.config.CurrentProvider.ContactTelephoneNumber },
            VATNumber = this.config.CurrentProvider.ContactVatNumber,
            Municipality = this.config.CurrentProvider.Municipality,
            IPACode = this.config.CurrentProvider.IPACode
        }
    }
}

E' possibile che manchi qualcosa?

Grazie,
Marco R.

Ciao,
come viene effettuata la validazione del metadata?

Ciao Daniele,

la validazione la faccio dal portale servizicie.interno.gov.it, però effettivamente mi sono accorto che nel metadata generato al path "/metadata-cie/metadata.xml" manca proprio il tag md:ContactPerson

E' strano, dovrebbe produrlo. Se runni la webapp di esempio di questo repo, produce 2 metadata con i contactPerson correttamente valorizzati, infatti spid-sp-test li valida con successo

Faccio un compare accurato, verifico e poi chiudo subito la issue. Sicuramente mi sarà sfuggito qualcosa. Grazie mille per la prontezza!

Ciao Daniele,

perdonami nuovamente per il disturbo. Ho ripreso questo tema dopo molti mesi ed ho effettuato un test con il metadata generato da questa web-app (metadata_from_lib.txt)

Lanciando questo comando:

spid_sp_test --metadata-url file://metadata_from_lib.xml --profile cie-sp-public --extra --debug ERROR

Ottengo:

ERROR:spid_sp_test.metadata:the metadata signature MUST be valid
stderr: /bin/sh: 1: None: not found

Tu sei riuscito a validarlo? Sto veramente impazzendo in quanto anche il mio metadata "ufficiale" riceve KO sul sito del governo:

Errore_portale

Come sempre grazie mille in anticipo,
Marco R.

Salve Marco,
il metadata contenuto in quel file è esattamente quello prodotto dalla libreria senza alcuna modifica successiva?
Perchè mi risulta che la firma del file che hai allegato non venga validata, ma questo di solito succede quando l'xml viene modificato "manualmente" dopo l'apposizione della firma da parte della libreria

Inoltre, come puoi vedere dall'ultima run di controllo eseguita sulla versione 2.0.4 del package, spid-sp-test valida correttamente il metadata generato dalla libreria (c'è un refuso nel nome dello step, ma è quello che inizia per "Test Metadata"):
https://github.com/italia/cie-aspnetcore/actions/runs/5963023761/job/16175360612

Tieni conto che dopo che un metadata è stato firmato, non può essere modificato in nessun modo, neanche un carattere. Nel caso in cui venga cambiato anche solo un carattere di tutto il metadata, questo va ri-firmato, altrimenti la verifica della firma fallirà

Perdonami, mi è sfuggito l'errore riportato nello screenshot, pare che sia il certificato a non essere validato, non la firma.
Prova ad utilizzare, invece del certificato allegato a questo repo, un certificato self signed generato con https://github.com/italia/spid-compliant-certificates

Ciao Daniele, quasi non mi sembra vero ma è passato con il tuo suggerimento.

Grazie mille come sempre !

Era il certificato?

Era il certificato?

Sì !