SAML 2.0 и EncryptedAssertion - PullRequest
       54

SAML 2.0 и EncryptedAssertion

0 голосов
/ 01 февраля 2012

Я новичок в этом утверждении и концепции SAML.Я использую WIF из ASP.NET и получаю запрос ниже от моего IDP.Я отправил имя пользователя / пароль через запрос http и получил этот ответ SAML.Что именно мне теперь делать?Я слышал, что мне нужно проверить подпись и ключ, и если да, то как (.NET) и почему?

<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>

1 Ответ

1 голос
/ 02 февраля 2012

Чтобы использовать SAML 2.0 с Windows Identity Foundation (WIF), вам потребуется расширение WIF для протокола SAML 2.0 . Загрузив его, вы найдете несколько хороших примеров использования токена SAML для аутентификации.

Вам действительно не нужно ничего делать вручную для разбора этого токена, так как WIF должен управлять всем этим для вас. Вам просто нужно убедиться, что у вас установлен и настроен правильный сертификат для расшифровки сообщения. Если вы используете расширение SAML 2.0, оно будет настроено в конфигурации поставщика услуг, на которую ссылается 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>

Надеюсь, это поможет.

...