Tuesday, April 10, 2007

Si vous avez regardé une démonstration ou deux sur Cardspace vous avez probablement été conquis par la technologie et vous voudriez l’expérimenter un peu. Ce tutorial vous explique comment configurer tous les éléments nécessaires au développement Cardspace sous Windows Vista FR.

Pour Windows 2003 ou Windows XP la démarche est identique, j’explique les différences les plus importantes au fur et à mesure de l’article.

Je ne rentrerai pas dans le détail de l’installation de Visual Studio ou Visual Web developer dans ce pas à pas. Sachez simplement que pour bien fonctionner sous Vista vous devrez installer le SP1 puis un patch (l’adresse est donnée lors du lancement de Visual Studio SP1, ainsi que les conseils d’utilisation). Il vous faudra également sous XP ou 2003 installer .Net 3.0 et IE7.

Installation d’IIS sous Vista

Allez dans le panneau de configuration, dans la zone Programmes, et sélectionnez « Activer ou désactiver des fonctionnalités Windows ».

N’oubliez pas d’activer les options de compatibilité IIS6, Visual Web Express en aura besoin pour se connecter au site web local.

Lancer ensuite un command prompt en mode administrateur, et enregistrez ASP.Net :

Génération et installation du certificat SSL.

A moins de déjà disposer d’un certificat SSL, vous voudrez certainement générer un certificat de test. La solution la plus simple consiste à télécharger le Kit de ressources d’IIS 6 (fonctionne pour Vista, 2003, et longhorn server), que vous trouverez en faisant une recherche sur « IIS Resource Kit ». Lors de l’installation du kit, demandez uniquement l’installation de SelfSSL.

Relancez un command prompt en mode administrateur et générez votre certificat :

La commande à exécuter est en surbrillance, pour les amateurs de copier/coller il s’agit de
SelfSSL /N:CN=www.test.com /V:3650

Nota bene pour les utilisateurs de XP :

Cette étape de génération de certificat est plus délicate sous Windows XP, SelfSSL n’étant pas disponible. Sans entrer dans les détails, voici les principaux écueils à franchir :

1/ Récupérez l’exécutable MakeCert dans les SDKs

2/ Générez un certificat avec la commande barbare suivante :

makecert.exe -a SHA1 -ss my -sr LocalMachine -n "CN=www.test.com" -b 01/01/2000 -e 01/01/2050  -eku 1.3.6.1.5.5.7.3.1 -sky exchange  -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

3/ Allez dans les propriétés de votre serveur Web, dans l’onglet sécurité, et attribuez le certificat à votre site. Vous êtes maintenant arrivés au même point que les utilisateurs de 2003 ou Vista.

Post scriptum de nota bene

Je tiens à présenter toutes mes excuses aux légitimes détenteurs du domaine test.com pour distraire d'honnêtes développeurs d'un site probablement plein d'intérêt.

Modification du fichier Hosts

Pour que votre certificat soit reconnu, vous devrez faire pointer le site http://www.test.com/ sur votre machine de développement. Pour ce faire, il vous faudra modifier le fichier HOSTS situé dans

C:\windows\system32\drivers\etc

ATTENTION : il s’agit d’un fichier protégé, il est donc impératif de lancer Notepad en tant qu’administrateur si vous voulez le modifier.

Lancez un navigateur et allez sur https://www.test.com/

Comme le certificat n’a pas été délivré par une autorité de confiance, IE nous bloque. Nous allons remédier à cela.

1/ Lancez une console d’administration (en tapant mmc)

2/ Dans le menu Fichier, demandez l’ajout d’un composant enfichable. Dans la liste qui apparaît, double-cliquez sur Certificats et choisissez Compte de l’ordinateur dans la boite de dialogue qui apparaît.

3/ Vous devriez maintenant pouvoir accéder au certificat que vous venez de générer :

Copiez maintenant ce certificat dans les certificats des Autorités de certification racine. De cette façon ce certificat sera considéré comme valide par Internet Explorer. Rafraichissez maintenant IE, vous devriez parvenir au résultat escompté :

Paramétrage du certificat pour CardSpace.

Il nous reste une dernière manipulation à effectuer : notre application Web aura tôt ou tard besoin de lire la clé privée du certificat que nous venons de générer. Par défaut, cette clé est protégée et aucune application Web ne peut s’en servir directement. Il existe des méthodes plus élégantes que celle que je vais vous donner maintenant, mais elles demandent des outils supplémentaires.

Relancer un command prompt en mode administrateur et rendez-vous dans le répertoire \ProgramData\Microsoft\Crypto\RSA\MachineKeys

Puis tapez Explorer . (n’oubliez pas le point)

Si aucun fichier n’apparaît modifiez vos options d’affichage pour voir les fichiers système.

(nota : le chemin pour XP/2003 est C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys)

Sélectionnez maintenant le fichier le plus récent (il représente le certificat que vous venez d’ajouter), et modifiez sa sécurité pour donner au compte SERVICE RÉSEAU les droits de lecture sur le fichier.

Attention, le compte est bien SERVICE RÉSEAU avec un é en majuscules (faites un copier/coller depuis cet article si vous ne savez pas faire un É avec votre clavier). Il s’agit du compte qui fait tourner votre site web, vous pouvez bien sûr le modifier en allant dans la console d’administration d’IIS.

(nota : sous XP le compte est probablement ASPNET)

Tester l’installation

Placez le fichier test.aspx dans c:\inetpub\wwwroot et naviguez sur https://www.test.com/test.aspx

Le bouton Déclencher le sélecteur devrait faire apparaître le sélecteur d’identité où vous pourrez sélectionner une carte personnelle.

Elle servira à générer un jeton chiffré consultable dans la textbox (enfin, vous n’apprendrez pas grand-chose puisqu’il est chiffré) ? Le bouton Envoyer au serveur déclenchera le décodage du jeton et l’affichage de son contenu.

test.zip (5,73 KB)
Tuesday, April 10, 2007 3:50:26 PM (GMT Standard Time, UTC+00:00) |  | #
Search
Archive
Links
Categories
Admin Login
Sign In
Blogroll
Themes
Pick a theme: