Real Code Day 2 e Windows CardSpace

Ho avuto l'onore di partecipare alla seconda edizione dell'evento "Real Code Day", svotosi nella bellissima cornice della città di Firenze.

L'argomento che ho portato nella mia presentazione è stat Windows CardSpace, in particolare ho seguito quello che ritengo essere uno scenario tipico di utilizzo CardSpace nelle applicazioni già esistenti. Quello cioè di fornire un metodo alternativo per l'utente di autenticarsi ad un sito web.

Ma andiamo con ordine. WCS è una delle componenti del .NET Framework che si occupa della gestione delle identità digitali, vuole offrire all'utente un modo comodo e sicuro di autenticarsi ad un sito web, ma non solo. Infatti WCS può essere usato come meccanismo di autenticazione anche in presenza di applicazioni come Web Services ed applicazioni Windows Communication Foundation. Nel mio intervento mi sono però concentrato sulle applicazioni web.

La prima cosa che serve per sviluppare con WCS è avere configurato IIS con un apposito certificato. La pagina che abilita l'Identity Selector, quel pannello da cui si scelgono le carte, deve essere infatti richiesta via HTTPS; perchè CS non solo vuole dare visibilità all'utente del certificato del server, ma anche ne utilizza la chiave pubblica per cifrare il token.

L'applicazione che deve decifrare il token di sicurezza, ricevuto da WCS, deve quindi avere i diritti necessari per accedere alla chiave privata associata al certificato.

Fortunatamente con IIS 7 in Windows Vista e Longhorn Server il processo di creazione di un certificato (SSL) di test e la configurazione dei permessi per la chiave privata è molto semplice. Dalla console di IIS 7 è possibile creare un certificato di test, qunidi usando l'MMC per la gestione dei certificati (della macchina) è possibile andare ad impostare i permessi sulla chiave privata, relativa all'utente che dovrà accedervi; nel mio caso l'utente "Servizio di Rete" che fa girare l'application pool. Nella figura seguente si dovrebbe capire come generare il certificato:image

Aprendo invece la MMC con lo snap-in per la configgurazione dei certificati, selezionando  Certificate(Local Computer)->Personal->Certificates, selezionare il certificato appena creato, quindi All Task-> Manage Provate Key ... e quindi assegnare i permessi in lettura per l'utente desiderato.

Qui sotto trovate le poche slides usate, era un evento, solo codice!

Spero sia utile la sezione link con qualche utile riferimento, anche per chi non conosce WCS e vuole iniziare a lavorarci. Trovate anche il codice usato durante la sessione.

 

Slides

Codice

 

-Pietro