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

Ambiente di test SPID con caricamento Certificato X509 da file #10

Open
sviluppohermes opened this issue Feb 26, 2018 · 4 comments
Open

Comments

@sviluppohermes
Copy link

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:

  1. openssl genrsa -out rootCA.key 1024
  2. openssl req -new -x509 -days 3650 -key rootCA.key -out rootCA.crt
  3. openssl pkcs12 -export -out mycertificate.pfx -inkey rootCA.key -in rootCA.crt

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.

@ncarandini
Copy link
Collaborator

ncarandini commented Feb 27, 2018

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.

@sviluppohermes
Copy link
Author

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

@ncarandini
Copy link
Collaborator

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.

@sviluppohermes
Copy link
Author

ok grazie. Attendo ;)

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