Partager via


Exemples de couche de canal de sécurité

Les exemples suivants illustrent la sécurité dans le de couche de canal

Sécurité du transport Windows sur TCP : Client : RequestReplyTcpClientWithWindowsTransportSecurityExample, Server : RequestReplyTcpServerWithWindowsTransportSecurityExample.

Sécurité du transport Windows sur les canaux nommés : Client : RequestReplyNamedPipesClientWithWindowsTransportSecurityExample, Server : RequestReplyNamedPipesServerWithWindowsTransportSecurityExample.

Sécurité du transport SSL : client : HttpClientWithSslExample, Serveur : HttpServerWithSslExample.

Nom d’utilisateur sur la sécurité en mode mixte SSL : client : HttpClientWithUsernameOverSslExample, Serveur : HttpServerWithUsernameOverSslExample.

Nom d’utilisateur sur la sécurité en mode mixte SSL : client : HttpClientWithKerberosOverSslExample, Serveur : HttpServerWithKerberosOverSslExample.

Nom d’utilisateur sur la sécurité en mode mixte SSL : MetadataImportWithUsernameOverSslExample. Jeton émis sur la sécurité en mode mixte SSL : MetadataImportWithIssuedTokenOverSslExample. Certificat X509 sur la sécurité en mode mixte SSL : MetadataImportWithX509OverSslExample.

Configuration de One-Time 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 à partir de Windows Server 2003. CertMgr.exe est disponible dans le Kit de développement logiciel (SDK) Windows 7. Vous n’avez besoin que de l’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 Windows XP SP2 et est également fourni avec le CD 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 les 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) :

  1. Générez un certificat auto-signé pour être l’autorité de certification ou l’émetteur : MakeCert.exe -ss Racine -sr LocalMachine -n « CN=Fake-Test-CA » -cy autorité de certification -r -sk « CAKeyContainer »
  2. Générez un certificat de serveur à l’aide du certificat précédent en tant qu’émetteur : MakeCert.exe -ss My -sr LocalMachine -n « CN=localhost » -sky exchange -is Root -ir LocalMachine -in Fake-Test-CA -sk « ServerKeyContainer »
  3. Recherchez l’empreinte numérique (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 mon My localhost
    • CertMgr.exe -s -r LocalMachine My
  4. 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.0:8443 appid={0000111-aaaa-2222-bbbb-3333cccc444} certhash=<40CharacterThumbprint>
    • Sur Windows XP ou 2003 : HttpCfg.exe définir ssl -i 0.0.0.0:8443 -h <40CharacterThumbprint>
  5. Créer un utilisateur local : utilisateur Net « TestUserForBasicAuth » « TstPWD@*4Bsic » /add

Pour nettoyer les certificats, la liaison de certificat SSL et le compte d’utilisateur créés aux étapes précédentes, exécutez les commandes suivantes. Notez qu’il existe plusieurs certificats du même nom, CertMgr.exe a 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.0:8443)
  • utilisateur Net « TestUserForBasicAuth » /delete

Vérifiez 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 de nettoyer ces certificats à l’aide des commandes de nettoyage ci-dessus (et ignorer les erreurs) avant de démarrer la configuration en cinq étapes.