Procédure pas à pas : utilisation du mode de sécurité Message avec l'adaptateur WCF-NetTcp
Notes
Pour plus d’informations sur les cartes, consultez Adaptateurs dans BizTalk Server.
Introduction
Cette procédure pas à pas montre comment configurer l’adaptateur WCF-NetTcp pour utiliser le mode de sécurité des messages Windows Communication Foundation (WCF), qui utilise la spécification WS-Security pour sécuriser les messages transmis par l’adaptateur. Cette spécification présente les améliorations apportées au protocole de messagerie SOAP pour assurer la confidentialité, l'intégrité et l'authentification au niveau des messages SOAP. Le mode de sécurité Message nécessite que le certificat de service soit spécifié pour des opérations telles que le chiffrement/déchiffrement et la signature/vérification en fonction des combinaisons de modes de sécurité.
L'adaptateur WCF-NetTcp utilise la liaison NetTcpBinding pour assurer la communication entre les clients WCF et les services distants WCF. Il fournit un accès total aux fonctionnalités de sécurité, de fiabilité et de transaction SOAP. Il permet la publication d'orchestrations et de schémas en tant que services WCF, et offre à une orchestration la possibilité d'utiliser des services WCF externes. Cet adaptateur utilise le transport TCP et les messages ont un codage binaire. L'adaptateur WCF-NetTcp consiste en un adaptateur d'envoi et un adaptateur de réception.
Cette procédure pas à pas détaille la création de certificats pour le mode de sécurité Message à l'aide du service de certificats Active Directory. Vous allez créer des certificats pour le client et le serveur, puis configurer un emplacement de réception WCF-NetTcp pour utiliser ces certificats dans le mode de sécurité Message. À l’aide d’un client WCF, vous allez envoyer des messages à cet emplacement de réception dans un état chiffré conformément à la syntaxe et au traitement du chiffrement XML.
Une fois cette procédure pas à pas terminée, vous saurez comment effectuer les tâches suivantes :
utiliser le service de certificats Active Directory pour créer une demande de certificat et terminer le processus par l'émission du certificat ;
À partir de la console Administration BizTalk Server, configurez l’adaptateur WCF-NetTcp pour utiliser le mode de sécurité message.
Prérequis
Pour exécuter la procédure décrite dans cet exemple, assurez-vous que votre environnement installe les composants requis suivants :
L’ordinateur qui génère les assemblys et exécute le processus de déploiement, ainsi que l’ordinateur qui exécute l’exemple, nécessitent Microsoft Windows Server 2008 SP2, Microsoft .NET Framework 4.5 et Microsoft BizTalk Server.
L’ordinateur utilisé pour générer les assemblys et exécuter le processus de déploiement requiert Microsoft Visual Studio.
L’ordinateur qui exécute l’exemple nécessite les adaptateurs WCF et les outils d’administration WCF. Il s’agit d’options à installer lors de l’installation de Microsoft BizTalk Server.
Sur les ordinateurs que vous utilisez pour effectuer des tâches d’administration, vous devez vous exécuter en tant que compte d’utilisateur membre du groupe Administrateurs BizTalk Server pour configurer les paramètres d’application BizTalk Server dans la console Administration BizTalk Server. Ce compte d'utilisateur doit également être membre du groupe Administrateurs local pour le déploiement d'application, la gestion d'instances de l'hôte et d'autres tâches éventuellement requises.
Sur n’importe quel ordinateur qui nécessite la fonctionnalité WCF, effectuez la procédure d’installation à usage unique pour les exemples WCF à l’adresse https://go.microsoft.com/fwlink/?LinkId=135510.
Sur l’ordinateur qui exécute l’exemple et importe une liaison ou un fichier .msi dans BizTalk Server, vérifiez que l’hôte n’est pas un hôte approuvé ou que l’importation échoue.
Sur l'ordinateur qui exécute l'exemple, assurez-vous que les services de certificats Active Directory sont installés.
Vous devez télécharger le code de procédure pas à pas et l’extraire sur votre ordinateur. Cette procédure pas à pas fait partie de l’ensemble du package de procédure pas à pas de l’adaptateur WCF. Vous pouvez télécharger le fichierWCFAdapterWalkthroughs.exe à partir du Centre de développement BizTalk Server à l’adresse https://go.microsoft.com/fwlink/?LinkId=194140.
Créer les certificats pour cette procédure pas à pas
Dans cette section, vous allez effectuer des demandes de certificats pour le service et le client, émettre ces certificats et les installer dans les magasins appropriés. Les services de certificats Active Directory permettent de créer un certificat contenant une chaîne de certificats approuvée. Si vous n'avez pas installé les services de certificats Active Directory dans le cadre de la configuration requise, installez-les maintenant sur votre ordinateur. S'ils sont déjà installés, passez à l'étape 2.
Cliquez sur Démarrer, pointez sur Outils d'administration, puis cliquez sur Gestionnaire de serveur.
Sous le nœud Gestionnaire de serveur, cliquez sur Ajouter, puis sur Rôles.
Cela fait apparaître la boîte de dialogue Avant de commencer de l’Assistant Ajout de rôles. Cliquez sur Suivant.
Dans la page Sélectionner des rôles de serveur , sélectionnez Services de certificats Active Directory, cliquez sur Suivant, puis suivez les instructions à l’écran pour terminer l’installation.
Créez une demande de certificat pour l'authentification du service comme suit :
Dans Internet Explorer, visitez le site
http://localhost/certsrv
web . Dans la page d’accueil , cliquez sur Demander un certificat, puis sur Demande de certificat avancée dans la page Demander un certificat .Notes
Lorsque vous utilisez Windows Server 2008 SP2 en tant qu’autorité de certification et que vous demandez une demande de certificat à partir d’un ordinateur Windows Server 2008 SP2, vous pouvez obtenir l’erreur « Pour terminer l’inscription de certificat, le site Web de l’autorité de certification doit être configuré pour utiliser l’authentification HTTPS ». Si cette erreur se produit, le site Web d'inscription doit être configuré à l'aide d'un certificat Web (SSL). Pour plus d'informations sur l'accomplissement de cette tâche, consultez les liens suivants :
AD CS : Inscription par le Web
IIS Server Certificate Installation Instructions (en anglais)
Dans la page Demande de certificat avancée , cliquez sur Créer et envoyez une demande à cette autorité de certification.
Dans la page Demande de certificat avancée , tapez
localhost
dans la zone de texte Nom , sélectionnez Certificat d’authentification du serveur dans la liste déroulante Type de certificat nécessaire , puis cliquez sur Envoyer.
Créez une demande de certificat pour l'authentification du client comme suit :
Dans Internet Explorer, visitez le site
http://localhost/certsrv
web . Dans la page d’accueil , cliquez sur Demander un certificat, puis sur Demande de certificat avancée dans la page Demander un certificat .Dans la page Demande de certificat avancée , cliquez sur Créer et envoyez une demande à cette autorité de certification.
Dans la page Demande de certificat avancée , tapez
contoso
dans la zone de texte Nom , sélectionnez Certificat d’authentification client dans la liste déroulante Type de certificat nécessaire , puis cliquez sur Envoyer.
Notes
Le certificat d’authentification client est utilisé si vous exécutez BizTalk Server sur un ordinateur autre que le contrôleur de domaine. La configuration s'effectue dans la boîte de dialogue des propriétés de l'adaptateur.
Émettez les certificats à l'aide de la console de gestion d’autorité de certification comme suit :
Cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Autorité de certification.
Dans le console de gestion autorité de certification, développez le nom de votre autorité de certification, puis double-cliquez sur Demande en attente.
Dans le volet droit de l’autorité de certification console de gestion, cliquez avec le bouton droit sur la demande de certificat d’authentification du service, pointez sur Toutes les tâches, puis cliquez sur Problème.
Dans le volet droit de l’autorité de certification console de gestion, cliquez avec le bouton droit sur la demande de certificat d’authentification client, pointez sur Toutes les tâches, puis cliquez sur Problème.
Fermez le console de gestion autorité de certification.
Installez les certificats émis sur votre ordinateur comme suit :
Dans Internet Explorer, visitez le site
http://localhost/certsrv
web .Sur la page d'accueil, cliquez sur Afficher le statut d'une requête de certificat en attente.
Dans la page Afficher l’état d’une demande de certificat en attente , cliquez sur le certificat d’authentification du serveur.
Dans la page Certificat émis , cliquez sur Installer ce certificat.
Dans Internet Explorer, visitez le site
http://localhost/certsrv
web .Sur la page d'accueil, cliquez sur Afficher le statut d'une requête de certificat en attente.
Dans la page Afficher l’état d’une demande de certificat en attente , cliquez sur le certificat d’authentification client.
Dans la page Certificat émis , cliquez sur Installer ce certificat.
Assurez-vous que les certificats émis sont correctement installés comme suit :
Ouvrez la console MMC. Pour ce faire, cliquez sur Démarrer, sur Exécuter, tapez
mmc
, puis cliquez sur OK.Dans la console MMC, dans le menu Fichier, cliquez sur Ajouter/Supprimer un composant logiciel enfichable.
Dans la boîte de dialogue Ajouter/Supprimer un composant logiciel enfichable , cliquez sur Ajouter.
Dans la boîte de dialogue Ajouter un composant logiciel enfichable autonome , sélectionnez Certificats dans la liste Composant logiciel enfichable autonome disponible , puis cliquez sur Ajouter.
Dans la boîte de dialogue du composant logiciel enfichable Certificat , sélectionnez l’option Mon compte d’utilisateur , puis cliquez sur Terminer.
Fermez toutes les boîtes de dialogue ouvertes.
Dans la console MMC, dans la fenêtre Racine de la console, développez Certificats - Utilisateur actuel, Personnel, Certificats, puis vérifiez que les certificats que vous avez installés à l’étape précédente sont affichés.
Créer l’application BizTalk pour cette procédure pas à pas
Cliquez sur Démarrer, pointez sur Tous les programmes, sur Microsoft BizTalk Server 20xx, puis cliquez sur administration BizTalk Server.
Dans la console Administration BizTalk Server, développez BizTalk Group, cliquez avec le bouton droit sur Applications, pointez sur Nouveau, puis cliquez sur Application.
Dans la boîte de dialogue Propriétés de l’application , sous l’onglet Général , tapez
WcfMessageSecurity
, puis cliquez sur OK.Créez un emplacement de réception à l'aide de l'adaptateur WCF-NetTcp pour l'application BizTalk comme suit :
Dans la console d’administration BizTalk Server, développez WcfMessageSecurity, cliquez avec le bouton droit sur Ports de réception, pointez sur Nouveau, puis cliquez sur Port de réception unidirectionnel.
Dans la boîte de dialogue Propriétés du port de réception , dans la zone de texte Nom , tapez
WcfMessageSecurity.OrderRequest.Receive
, puis cliquez sur OK. Le nom de ce port de réception est totalement arbitraire, mais il possède une signification logique.Dans la console Administration BizTalk Server, cliquez avec le bouton droit sur Emplacements de réception, cliquez sur Nouveau, puis cliquez sur Emplacement de réception unidirectionnel. Le client WCF envoie un message WCF à cet emplacement de réception. Sélectionnez le port recif WcfMessageSecurity.OrderRequest.Receive , puis cliquez sur OK.
Dans la boîte de dialogue Propriétés de l’emplacement de réception, dans la zone de texte Nom , tapez
WcfMessageSecurity.OrderRequest.Receive.NetTcp
. Le nom de cet emplacement de réception est totalement arbitraire, mais il possède une signification logique.Dans la boîte de dialogue Propriétés de l’emplacement de réception, dans la section Transport en regard de Type, sélectionnez WCF-NetTcp dans la liste déroulante, puis cliquez sur Configurer.
Dans la boîte de dialogue Propriétés du transport WCF-NetTcp , sous l’onglet Général , dans la zone de texte Adresse (URI), tapez
net.tcp://localhost/WcfMessageSecurity
.Dans la boîte de dialogue Propriétés du transport WCF-NetTcp , sous l’onglet Sécurité , sélectionnez Message dans la liste déroulante Mode de sécurité , puis sélectionnez Certificat dans la liste déroulante Type d’informations d’identification du client Message . Cela a pour effet de configurer l'adaptateur WCF-NetTcp de manière à utiliser le mode de sécurité Message.
Configurez le certificat de service à utiliser avec le mode de sécurité Message. Dans la boîte de dialogue Propriétés du transport WCF-NetTcp , dans la section Certification du service , cliquez sur Parcourir. Dans la boîte de dialogue Sélectionner un certificat de service , sélectionnez le certificat d’authentification du serveur que vous avez installé dans la procédure précédente, puis cliquez sur OK pour fermer la boîte de dialogue et enregistrer les modifications.
Fermez toutes les boîtes de dialogue ouvertes.
Notes
Pour authentifier les certificats clients avec les adaptateurs de réception WCF, la chaîne de certificats d’autorité de certification pour les certificats clients doit être installée dans le magasin de certificats autorités de certification racines de confiance de l’ordinateur exécutant les instances d’hôte pour les adaptateurs WCF. Étant donné que cette procédure pas à pas suppose que le service de certificat est installé sur le même ordinateur que le client WCF et les adaptateurs WCF, vous n’avez pas besoin d’installer la chaîne de certificats d’autorité de certification sur votre ordinateur.
Créez un port d'envoi FILE pour l'application BizTalk. Il s’agit de l’emplacement où le message de sortie de demande de commande sera envoyé par l’orchestration représentant le service WCF.
Dans la console Administration BizTalk Server, développez WcfMessageSécurité, cliquez avec le bouton droit sur Ports d’envoi, pointez sur Nouveau, puis cliquez sur Port d’envoi unidirectionnel statique.
Dans la boîte de dialogue Propriétés du port d’envoi, sous l’onglet Général , dans la zone de texte Nom , tapez
WcfMessageSecurity.OrderRequest.Send.FILE
.Dans la boîte de dialogue Propriétés du port d’envoi, dans la section Transport en regard de Type, sélectionnez FICHIER dans la liste déroulante, puis cliquez sur Configurer.
Dans la boîte de dialogue Propriétés du transport fichier, sous l’onglet Général , tapez
C:\WCFMessageSecurity\OrderRequestOut
dans la zone de texte Dossier de destination , puis cliquez sur OK.Dans la boîte de dialogue Propriétés du port d’envoi, sous l’onglet Filtres , sélectionnez BTS. ReceivePortName pour le champ Propriété , entrez
WcfMessageSecurity.OrderRequest.Receive
comme champ Valeur , puis cliquez sur OK. Cette expression de filtre achemine les messages WCF entrants du client vers le port de réception WcfMessageSecurity.OrderRequest.Receive vers ce port d’envoi.
Tester le client WCF par rapport à l’application BizTalk
Dans la console Administration BizTalk Server, cliquez avec le bouton droit sur WcfMessageSecurity, puis cliquez sur Démarrer. Dans la boîte de dialogue Démarrer , cliquez sur Démarrer.
Dans la console Administration BizTalk Server, développez Paramètres de plateforme, Instances d’hôte, cliquez avec le bouton droit sur BizTalkServerApplication ou un autre instance hôte approprié, puis cliquez sur Redémarrer.
Créez un dossier nommé C :\WCFMessageSecurity pour le dossier de travail de cette procédure pas à pas. Extrayez les fichiers de la procédure pas à pas dans ce dossier.
Dans Visual Studio, ouvrez le fichier WcfMessageSecurity.sln dans le dossier C :\WCFMessageSecurity .
Dans Visual Studio, dans Explorateur de solutions, développez WcfClient, puis ouvrez Program.cs pour passer en revue.
Le client envoie un message à l'emplacement de réception WCF-NetTcp que vous avez créé dans la procédure précédente.
Le client crée un canal avec NetTcpBinding, puis configure la liaison pour utiliser des certificats pour le type d’informations d’identification du client.
Le client configure le comportement du point de terminaison pour qu'il utilise le certificat d'authentification client que vous avez installé dans la procédure précédente pour l'authentification du client.
La classe Program implémente les interfaces IClientMessageInspector et IEndpointBehavior pour afficher les messages WCF sortants de ce client à une invite de commandes.
Dans Visual Studio, dans Explorateur de solutions, cliquez avec le bouton droit sur la solution WcfMessageSecurity, puis cliquez sur Reconstruire.
Dans Visual Studio, dans le menu Déboguer , cliquez sur Démarrer sans débogage pour exécuter WcfClient afin d’envoyer un message au WCF-NetTcp emplacements de réception. Une invite de commandes apparaît pour afficher le résultat de l'exécution.
À l'invite de commandes, examinez le message de demande de commande. Faites attention au champ OrderId et à la structure du message.
À l’invite de commandes, accédez au
C:\WCFMessageSecurity\OrderRequestOut
dossier, puis vérifiez que le message de demande de commande envoyé par le client WCF s’affiche.Fermez l'invite de commande.