Procédure : Configurer des programmes de résolution de jetons

Un programme de résolution de jetons de sécurité est utilisé pour effectuer la traduction entre un identificateur de clé de sécurité et un jeton de sécurité réel. En général, les identificateurs de clé de sécurité sont envoyés sur le câble car les jetons sont connus hors plage.

Pour configurer les programmes de résolution de jetons sur un gestionnaire de jetons, vous devez savoir quels certificats seront utilisés pour signer les jetons ou messages reçus par le service. Chaque gestionnaire de jetons a deux programmes de résolution de jetons :

  1. Un programme de résolution de jetons de service, qui stocke une liste des certificats connus du service, en fonction de sa propre identité. Ces certificats sont utilisés pour résoudre le jeton de chiffrement sur les messages et les jetons entrants.

  2. Un programme de résolution de jetons d'émetteur, qui stocke une liste des certificats connus du service, en fonction des émetteurs que le service approuve. Ces certificats sont utilisés pour résoudre le jeton de signature sur les jetons de sécurité et les messages entrants.

Les programmes de résolution de jetons ne peuvent pas être configurés de façon déclarative. Le code suivant montre comment créer et configurer des programmes de résolution de jetons par programme.

SecurityTokenHandlerCollection collection = SecurityTokenHandlerCollection.CreateDefaultSecurityTokenHandlerCollection();
        
// Créer le programme de résolution de jetons de service à partir du certificat de service. List<SecurityToken> serviceTokens = new List<SecurityToken>(); // Ce certificat de service est supposé avoir été défini ailleurs serviceTokens.Add(new X509SecurityToken(serviceCertificate)); SecurityTokenResolver serviceResolver = SecurityTokenResolver.CreateDefaultSecurityTokenResolver(serviceTokens.AsReadOnly(), false); collection.Configuration.ServiceTokenResolver = serviceResolver;

// Créez un programme de résolution de jetons d'émetteur qui consulte le magasin de personnes approuvé. X509CertificateStoreTokenResolver certificateStoreIssuerResolver = new X509CertificateStoreTokenResolver(StoreName.TrustedPeople, StoreLocation.LocalMachine); collection.Configuration.IssuerTokenResolver = certificateStoreIssuerResolver;