Open sviluppohermes opened 6 years ago
Grazie per la segnalazione, faccio delle prove e aggiorno poi qui. In generale credo non sia la soluzione giusta, perché disabilitando la signature validation si perde il requisito minimo di sicurezza e chiunque potrebbe inviare la richiesta a nome di altro. Se la signature funziona ovviamente non è necessario disabilitare il controllo lato Service Provider. Vi consiglio comunque di utilizzare il server di test di Poste.it per essere poi certi che la vostra Web App funzioni con i service provider di produzione.
Scusa, abbiamo ripreso lo sviluppo di SPID. Ci sono novità per la signature? volevo chiederti anche come utilizzare il server di test di poste. Grazie
Per utilizzare il server di test di poste.it devi inviare il file con i metadati del tuo servizio al responsabile di poste.it, di modo che le chiamate dal tuo servizio vengano accettate. Lunedì ti aggiungo le informazioni necessarie.
ok grazie. Attendo ;)
per far funzionare il login SPID in locale, avendo noi l'esigenza di caricare il certificato da file, è stato necessario apportare le seguenti modifiche al codice nel file X509Helper.cs ovvero è stata Creata una nuova funzione: GetCertificateFromFile(string path)
il codice è il seguente:
//Create new X509 store called teststore from the local certificate store. X509Certificate2 certificate = new X509Certificate2(); //Create certificates from certificate files. //You must put in a valid path to three certificates in the following constructors. X509KeyStorageFlags flags = X509KeyStorageFlags.Exportable; string path = ""C:/sviluppo/spid/spid-dotnet-sdk-master/Italia.Spid.AspNetClassic.WebApp/App_Data/myspidcertificate.pfx"; X509Certificate2 certificate1 = new X509Certificate2(path, "password", flags); return certificate1;
la password deve essere quella con cui abbiamo creato il certificato da riga di comando attraverso le istruzioni openssl:
tuttavia per far funzionare la chiamata è stato necessario disabilitare il check "Enable Signature Validation in Authentication Requests and Logout Requests" nella configurazione SAML del service provider.