Exemples de couche de canal de sécurité
Les exemples suivants illustrent la sécurité dans la couche de canal
Sécurité du transport Windows sur TCP : Client : RequestReplyTcpClientWithWindowsTransportSecurityExample, Serveur : RequestReplyTcpServerWithWindowsTransportSecurityExample.
Sécurité du transport Windows sur les canaux nommés : Client : RequestReplyNamedPipesClientWithWindowsTransportSecurityExample, Serveur : RequestReplyNamedPipesServerWithWindowsTransportSecurityExample.
Sécurité de transport SSL : Client : HttpClientWithSslExample, Serveur : HttpServerWithSslExample.
Nom d’utilisateur sur sécurité en mode mixte SSL : Client : HttpClientWithUsernameOverSslExample, Serveur : HttpServerWithUsernameOverSslExample.
Nom d’utilisateur sur sécurité en mode mixte SSL : Client : HttpClientWithKerberosOverSslExample, Serveur : HttpServerWithKerberosOverSslExample.
Nom d’utilisateur sur sécurité en mode mixte SSL : MetadataImportWithUsernameOverSslExample. Jeton émis sur la sécurité en mode mixte SSL : MetadataImportWithIssuedTokenOverSslExample. Certificat X509 sur sécurité en mode mixte SSL : MetadataImportWithX509OverSslExample.
One-Time Configuration pour les exemples de sécurité
Pour exécuter des exemples de sécurité WWSAPI, vous devez configurer les certificats client et serveur pour SSL, ainsi qu’un compte d’utilisateur local pour l’authentification d’en-tête HTTP. Avant de commencer, vous avez besoin des outils suivants :
- MakeCert.exe (disponible dans le Kit de développement logiciel (SDK) Windows 7.
- CertUtil.exe ou CertMgr.exe (CertUtil.exe est disponible dans les kits SDK Windows à compter de Windows Server 2003. CertMgr.exe est disponible dans le Kit de développement logiciel (SDK) Windows 7. Vous n’avez besoin que d’un de ces outils.)
- HttpCfg.exe : (Vous en avez besoin uniquement si vous utilisez Windows 2003 ou Windows XP. Cet outil est disponible dans les outils de support de Windows XP SP2 et est également fourni avec le CD-ROM outils du kit de ressources Windows Server 2003.)
Si vous obtenez les exemples WWSAPI en installant le Kit de développement logiciel (SDK) Windows 7, vous trouverez les MakeCert.exe et CertMgr.exe sous %ProgramFiles%\Microsoft SDKs\Windows\v7.0\bin.
Effectuez la configuration en cinq étapes suivante à partir de l’invite de commandes (avec élévation de privilèges si vous utilisez Windows Vista et versions ultérieures) :
- Générez un certificat auto-signé en tant qu’autorité de certification ou émetteur : MakeCert.exe -ss Root -sr LocalMachine -n « CN=Fake-Test-CA » -cy authority -r -sk « CAKeyContainer »
- Générez un certificat de serveur en utilisant le certificat précédent comme émetteur : MakeCert.exe -ss My -sr LocalMachine -n « CN=localhost » -sky exchange -is Root -ir LocalMachine -in Fake-Test-CA -sk « ServerKeyContainer »
- Recherchez l’empreinte numérique (un hachage SHA-1 de 40 caractères) du certificat de serveur en exécutant l’une des commandes suivantes et recherchez le certificat nommé localhost avec l’émetteur Fake-Test-CA :
- CertUtil.exe -store My localhost
- CertMgr.exe -s -r LocalMachine My
- Inscrivez l’empreinte numérique du certificat de serveur sans espace avec HTTP.SYS :
- Sur Windows Vista et versions ultérieures (l’option « appid » est un GUID arbitraire) : Netsh.exe http add sslcert ipport=0.0.0.0:8443 appid={00112233-4455-6677-8899-AABBCCDDEEFF} certhash=<40CharacterThumbprint>
- Sur Windows XP ou 2003 : HttpCfg.exe définir ssl -i 0.0.0:8443 -h <40CharacterThumbprint>
- Créer un utilisateur local : Utilisateur net « TestUserForBasicAuth » « TstPWD@*4Bsic » /add
Pour propre les certificats, la liaison de certificat SSL et le compte d’utilisateur créé au cours des étapes précédentes, exécutez les commandes suivantes. Notez que s’il existe plusieurs certificats portant le même nom, CertMgr.exe aurez besoin de votre entrée avant de les supprimer.
- CertMgr.exe -del -c -n Fake-Test-CA -s -r LocalMachine Root
- CertMgr.exe -del -c -n localhost -s -r LocalMachine My
- Netsh.exe http delete sslcert ipport=0.0.0.0:8443 (ou HttpCfg.exe supprimer ssl -i 0.0.0.0:8443)
- Utilisateur net « TestUserForBasicAuth » /delete
Assurez-vous qu’il n’existe qu’un seul certificat racine nommé Fake-Test-CA. Si vous n’êtes pas sûr, il est toujours sûr d’essayer d’propre ces certificats à l’aide des commandes de nettoyage ci-dessus (et d’ignorer les erreurs) avant de commencer la configuration en cinq étapes.