SAML LogOutRequest traitement a échoué sur le serveur ADFS

J'ai serveur ADFS comme un Pdi. Je n'ai séparé SP application. Celles-ci sont définies dans le cercle de confiance. L'authentification unique sur le protocole SAML fonctionne bien. Lorsque j'essaie SP initated journal demande je suis d'erreur sur ADFS côté :

MSIS7000: La requête de connexion n'est pas conforme à la WS-Federation de la langue pour les clients de navigateur web ou le protocole SAML 2.0 WebSSO profil.

MODIFIER Plus en détail message de ADFS de suivi d'Événement :

MSIS7015: Cette demande ne contient pas les attendus message de protocole ou incorrect des paramètres de protocole ont été trouvés, selon le HTTP, le protocole SAML liaisons.

J'ai passé en revue mu déconnecter SAML message et semble correct. Juste pour mentionner que même le PS est loging correctement avec ForgeRocks IdP (ex Soleil OpenSSO).

Saml loout message de demande :

<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
                 ID="b00b3f55-f3e3-4935-9e91-da6bf8b62efd"
                 Version="2.0"
                 IssueInstant="2013-08-27T09:45:08Z"
                 Destination="https://00.00.00.00/adfs/ls/"
                 Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
                 NotOnOrAfter="2013-08-27T09:50:08Z"
                 >
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">SPEntityId/</saml:Issuer>                    
<saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">[email protected]</saml:NameID>
<samlp:SessionIndex>_ea853497-c58a-408a-bc23-c849752d9741</samlp:SessionIndex>

MODIFIER

Lan m'a suggéré que la signature de la déconnexion des messages de demande est obligatoire. Il a droit. Dans les OASIS de spécification (http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf) section 4.4.3.1. il est décrit. Selon avec qui je suis maintenant l'envoi de messages signés, mais je vais avoir le même problème.

Message signé :

<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
                 ID="aed640c0-9455-49ea-9450-4ad7c08d98e7"
                 Version="2.0"
                 IssueInstant="2013-08-29T15:22:45Z"
                 Destination="https://server/adfs/ls/"
                 Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
                 NotOnOrAfter="2013-08-29T03:27:45Z"
                 >
<saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
             Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">user</saml:NameID>
<samlp:SessionIndex>_677952a2-7fb3-4e7a-b439-326366e677db</samlp:SessionIndex>
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">SPIssuer</saml:Issuer>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
        <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
        <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
        <Reference URI="#aed640c0-9455-49ea-9450-4ad7c08d98e7">
            <Transforms>
                <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
            </Transforms>
            <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            <DigestValue>53jjPvQ2Ty1Z+VikwrUwW4Erj3k=</DigestValue>
        </Reference>
    </SignedInfo>
    <SignatureValue>signed value</SignatureValue>
    <KeyInfo>
        <X509Data>
            <X509Certificate>certificate</X509Certificate>
        </X509Data>
    </KeyInfo>
</Signature>

Ce que je fais de mal ? Doit être spécifié quelque autre extrémité sur ADFS ? Comme je l'ai doit être utilisée même que pour signer les demandes (qui fonctionnent parfaitement sur mon côté).

Grâce,
Rastko

InformationsquelleAutor Rastko | 2013-08-27