2013-08-12 3 views
0

Je me demande comment utiliser les certificats x509 avec des jetons de sécurité WIF. Pourriez-vous s'il vous plaît fournir un scénario typique? Par exemple, je veux signer et crypter un jeton de sécurité avec un certificat/certificat. Comment pourrais-je faire ça? Quels avantages aurais-je? De quelle manière dois-je déployer des certificats sur un environnement productif?Quelle est l'utilisation typique des certificats x509 avec des jetons de sécurité?

+0

Jetez un oeil à cela, http://chris.59north.com/post/2013/04/09/Building-a-simple-custom-STS-using-VS2012-ASPNET-MVC.aspx –

Répondre

2

La question: "Comment faire?" N'a pas d'autre réponse concise que "avec l'API WIF". L'API fonctionne bien avec les certificats X509, de sorte que le cryptage et la signature nécessitent uniquement des instances de classe X509Certificate2 (en d'autres termes, des certificats).

Une autre question: quels sont les avantages? Eh bien, la signature de jetons est un moyen fondamental d'appliquer le protocole. Si un jeton SAML n'est pas signé, il n'y a aucun moyen de valider s'il provient réellement du service de jeton. D'un autre côté, le chiffrement est facultatif et si le même jeton peut être délivré en toute sécurité à différentes applications, il n'est probablement pas nécessaire de chiffrer les jetons. Si différents jetons sont fournis à différentes applications (par exemple, un utilisateur peut être administrateur dans siteA et non dans siteB et le service token fournit des jetons différents pour A et B), le chiffrement empêche l'utilisateur d'utiliser des jetons erronés.

La dernière question: comment déployer des certificats? Eh bien, c'est à vous de décider. Il y a des tonnes de possibilités car la classe X509Certificate2 est flexible et vous permet de passer un tableau d'octets comme paramètre. Vous pouvez ensuite charger des certificats à partir de fichiers, à partir de services Web, à partir de ressources intégrées. En pratique, cependant, le moyen le plus pratique consiste à utiliser l'un des magasins de certificats système, par exemple le magasin My de LocalMachine. Vous utilisez d'abord le composant logiciel enfichable mmc pour importer des certificats dans le magasin, puis vous donnez des autorisations pour accéder à la clé privée à certains utilisateurs (par exemple des pools d'applications), puis votre code charge simplement les certificats du magasin.

Questions connexes