Spid in php puro

Buongiorno @GianfrancoL ,
come indicato nel README, il requisito (minimo) è OpenSSL 1.1.1

Michele D’Amico

Salve a tutti, dopo un po’ di tira e molla con l’assistenza hosting siamo venuti alla conclusione che Register non può fornire ne’ la versione necessaria di OpenSSL nè server virtuali o fisici certificati come richiesto dal bando PNRR.
Sto dunque attivando una server virtuale con Aruba Business su data center di Bergamo (IT3).
Che distribuzione mi consigliate fra AlmaLinux, Ubuntu Server e CentOS?
Spero non sia troppo OT
Grazie
Gianfranco

Buongiorno,
l’installazione dovrebbe funzionare senza problemi, nel rispetto dei requisiti, su qualsiasi distribuzione. Personalmente consiglierei Ubuntu.

Michele D’Amico

Buonasera,

abbiamo completato l’installazione e stiamo provando a generare il file xml per lo spid (quello per il cie lo genera regolarmente).

Mi da questo errore cliccando su [ [Mostra metadati]:
StatusCode:
StatusMessage: “emailAddress” must be a string or an array and cannot be empty.
ErrorMessage: Errore non identificato

Screenshot 2024-01-05 163517

partendo da questo punto:

Questo emailAddress citato nell’errore dove va configurato?

Grazie anticipatamente
Andrea

Abbiamo risolto andando a modificare il file authsources.php

Buongiorno, come si abilita l’accesso tramite SPID 4 livello?

Buongiorno @SebastianoS ,

SPID prevede 3 livelli di autenticazione.

Su spid-cie-php SDK, il livello viene indicato sulla funzione di login

Rif. GitHub - italia/spid-cie-php: Software Development Kit for easy SPID/CIE access integration with simplesamlphp - developed and mantained by Michele D'Amico (@damikael)

Se invece per SPID 4, si intendeva identità digitali di tipo 4 (uso professionale della persona giuridica), per preparare una richiesta di autenticazione conforme alle specifiche indicate nell’ Avviso 18 v2 al fine di consentire l’accesso esclusivamente ad una identità digitale di tipo 4, su spid-cie-php SDK, occorre utilizzare la funzione:

$spid_php->setPurpose('PG');

Rif. GitHub - italia/spid-cie-php: Software Development Kit for easy SPID/CIE access integration with simplesamlphp - developed and mantained by Michele D'Amico (@damikael)

Saluti

Buonasera,

ho eseguito l’installazione del sistema spid-cie-php in un ambiente di test in rete locale all’indirizzo 192.168.1.180 su virtualbox con ubuntu 24.04 e con server apache e php 8.3. l’installazione avviene correttamente, genero il file da module.php/saml/sp/metadata.php/spid, lo firmo con # composer sign-metadata <metadata.xml> <metadata-signed.xml>, lo carico online e lo faccio leggere da SPID Validator dove ottengo passed per ogni check

poi vado a effettuare un login scegliendo un idP e ottengo questo

10 (ISSUER NON PRESENTE, MALFORMATO O NON CORRISPONDENTE ALL’ENTITÀ CHE SOTTOSCRIVE LA RICHIESTA)

Formato richiesta non corretto - Contattare il gestore del servizio

non capisco dove intervenire per correggere l’errore.

Inoltre volevo capire se in fase di sviluppo è necessario registrare ufficialmente il metadata del SP presso AGID o se basta registrare il metadata spid su demo.spid.gov.it

Grazie a chiunque vorrà aiutarmi.

  1. L’errore segnalato è del tutto normale, in quanto, fino al superamento della della procedura tecnica e della procedura amministrativa, il tuo metadata NON è inoltrato agli IDP , e quindi per loro è sconosciuto.

  2. Il metadata va inviato ad AgID, secondo i criteri del link che ti ho riportato sopra, solo quando hai completato tutti gli sviluppi.

Grazie mille Antonio per la tua risposta.
L’argomento è un pò ostico e non c’è una procedura step by step per l’implementazione, bisogna andare un pò a tentativi…
In un server vps online di test riesco a far funzionare la Demo Spid con gli utenti di test, facendomi restituire correttamente i loro dati e mantenendo il login.
Mi sfugge completamente come procedere con i test per la CIE, il pulsante Entra con CIE mi porta a “https://preproduzione.idserver.servizicie.interno.gov.it/idp/profile/SAML2/POST/SSO” dove un messaggio dice “L’applicazione a cui hai acceduto non è registrata per l’utilizzo con questo servizio”, non capisco come faccio a comunicare il metadata CIE firmato per validarlo come si fa con demo.spid.gov.it/validator.
Grazie per il supporto.

Buongiorno @Sharlab ,

per CIE occorre seguire la procedura amministrativa e tecnica in ambiente di test / produzione sul Portale di federazione CIE:

Buongiorno @damikael ,
anche io sto utilizzando il sistema spid-cie-php e quando passo il mio metadata allo SPID Validator mi fornisce questo errore:

Non so come correggere l’errore. I tentativi che ho provato a fare sono i seguenti:

  • generare il Digest prima della firma del documento, l’errore non è cambiato;
  • Creare prima la firma poi il Digest, come errore ho avuto che la Firma non era valida;
  • verifica della Canonizzazione, nessun cambiamento;

Grazie in anticipo.

Buongiorno @manu,

il certificato viene generato durante la fase di setup (composer install).
Assicurati che la versione di OpenSSL installata sul server sia >= 1.1.1
Altrimenti puoi provare a generare i certificati con

e copiare i certificati generati al posto dei corrispondenti nelle dir
/cert
/vendor/simplesamlphp/simplesamlphp/cert

Salve @damikael ,
ho provato con i consigli che mi ha passato ma non è cambiato niente.
Mi viene segnalato un errore dovuto al “mismatch” tra il data e il digest più che all’uso del certificato.

Io sto utilizzando un metadata creato da me dove calcolo digestValue e il signatureValue su un metadata non completo e poi lo aggiungo nel apposito tag, modificando il contenuto del metadata finale.

Questa soluzione mi ha permesso di risolvere gli altri errori tranne questo.

Come posso procedere?

Grazie mille.

@manu hai già provato ad utilizzare il comando incluso in spid-cie-php?

@damikael
Sì, ho provato ma non funziona.

Buonasera,

ho effettuato la federazione per CIE, il link mi porta a questo percorso preproduzione.idserver.servizicie.interno.gov.it/idp/login/livello3 dove la richiesta di accesso CIE è di livello 3, nonostante nel login ci sia la richiesta di livello 2: $spidsdk->login($idp, 2)
come mai?
come faccio a impostare una richiesta CIE di livello 2?

grazie

Ciao, @Sharlab in preproduzione CIE il livello 3 è l’unico ammesso, indipendentemente dall’impostazione del SP/RP.

Grazie @glauco, gentilissimo.

Altra cosa che non mi è chiara è la questione del kit di test per la CIE, che pensavo mi venisse dato una volta accettata la federazione, ma non mi hanno dato nulla, voi avete informazioni in merito?

Il Kit dovrebbe arrivare a prescindere, basta fare la richiesta (almeno nel mio caso, è arrivata pochi giorni dopo l’inoltro della domanda e poi mi sono federato qualche mese più tardi).