2012-02-01 3 views
0

Je suis nouveau à ce concept de revendications et de SAML. J'utilise WIF d'ASP.NET et reçois la demande ci-dessous de mon IDP. J'ai envoyé un nom d'utilisateur/mot de passe via une requête http et j'ai reçu cette réponse SAML. Que fais-je exactement maintenant? J'ai entendu que je devais valider la signature et la clé, et si oui, comment (.NET) et pourquoi?SAML 2.0 et EncryptedAssertion

<EncryptedAssertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion"> 
- <xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> 
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" /> 
- <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> 
- <e:EncryptedKey xmlns:e="http://www.w3.org/2001/04/xmlenc#"> 
- <e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"> 
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
</e:EncryptionMethod> 
- <KeyInfo> 
- <o:SecurityTokenReference xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
- <X509Data> 
- <X509IssuerSerial> 
<X509IssuerName>CN=LeastPrivilegeCA</X509IssuerName> 
<X509SerialNumber>458206499362374248562711</X509SerialNumber> 
</X509IssuerSerial> 
</X509Data> 
</o:SecurityTokenReference> 
</KeyInfo> 
- <e:CipherData> 
<e:CipherValue>SOME DATA</e:CipherValue> 
</e:CipherData> 
</e:EncryptedKey> 
</KeyInfo> 
- <xenc:CipherData> 
<xenc:CipherValue>SOME DATA</xenc:CipherValue> 
</xenc:CipherData> 
</xenc:EncryptedData> 
</EncryptedAssertion> 

Répondre

1

Pour utiliser SAML 2.0 avec Windows Identity Foundation (WIF), vous aurez besoin du WIF Extension for the SAML 2.0 Protocol. Une fois le téléchargement effectué, vous trouverez de bons exemples d'utilisation du jeton SAML pour l'authentification.

Vous ne devriez vraiment pas avoir besoin de faire quoi que ce soit manuellement pour analyser ce jeton puisque WIF devrait gérer tout cela pour vous. Vous aurez juste besoin de vous assurer que vous avez le bon certificat installé et configuré pour déchiffrer le message. Si vous utilisez l'extension SAML 2.0, ce sera configuré dans la configuration du fournisseur de services qui est référencé dans le web.config:

<microsoft.identityModel.saml metadata="bin\App_Data\serviceprovider.xml"> 
    <!-- The location of the configuration files of all the partners this service trusts. --> 
    <identityProviders> 
     <metadata file="bin\App_Data\identityprovider.xml"/> 
    </identityProviders> 
</microsoft.identityModel.saml> 

Espérons que cela aide.

+0

Ça aide un peu. Le SAML/XML ci-dessus que j'ai reçu d'un IDP via une requête REST. –

+0

SAML peut faire référence à la fois au protocole et au format de jeton. Les extensions WIF sont nécessaires pour le protocole. WIF prend en charge les jetons SAML prêts à l'emploi. –

+0

La question a été marquée comme SAML 2.0, c'est pourquoi j'ai supposé qu'il aurait besoin de l'extension. –