Alter trust engine test to leverage KeyInfoReference.
authorScott Cantor <cantor.2@osu.edu>
Tue, 8 Jun 2010 17:52:43 +0000 (17:52 +0000)
committerScott Cantor <cantor.2@osu.edu>
Tue, 8 Jun 2010 17:52:43 +0000 (17:52 +0000)
samltest/data/security/example-metadata.xml
samltest/security/ExplicitKeyTrustEngineTest.h

index 9cd8666..290ffc8 100644 (file)
@@ -1,13 +1,14 @@
 <EntitiesDescriptor
        xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
-       xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+       xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+    xmlns:ds11="http://www.w3.org/2009/xmldsig11#">
 
 <EntityDescriptor 
        entityID="https://idp.example.org">
        
        <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
                <KeyDescriptor use="signing">
-                   <ds:KeyInfo>
+                   <ds:KeyInfo Id="examplekey">
                        <ds:KeyName>sp.example.org</ds:KeyName>
                        <ds:X509Data>
                                <ds:X509Certificate>
        
 </EntityDescriptor>
 
+<EntityDescriptor 
+    entityID="https://idp3.example.org">
+    
+    <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
+        <KeyDescriptor use="signing">
+            <ds:KeyInfo>
+                <ds11:KeyInfoReference URI="#examplekey"/>
+            </ds:KeyInfo>
+        </KeyDescriptor>
+        
+        <SingleSignOnService Binding="foo" Location="foo"/>
+    </IDPSSODescriptor>
+    
+</EntityDescriptor>
+
 </EntitiesDescriptor>
\ No newline at end of file
index acdae86..b43de44 100644 (file)
@@ -73,7 +73,7 @@ public:
         janitor2.release();
 
         Locker locker(metadataProvider.get());
-        const EntityDescriptor* descriptor = metadataProvider->getEntityDescriptor(MetadataProvider::Criteria("https://idp.example.org")).first;
+        const EntityDescriptor* descriptor = metadataProvider->getEntityDescriptor(MetadataProvider::Criteria("https://idp3.example.org")).first;
         TSM_ASSERT("Retrieved entity descriptor was null", descriptor!=nullptr);
         
         RoleDescriptor* role=descriptor->getIDPSSODescriptors().front();
@@ -83,7 +83,7 @@ public:
         TSM_ASSERT("Signature not present", sig!=nullptr);
 
         MetadataCredentialCriteria cc(*role);
-        cc.setPeerName("https://idp.example.org");
+        cc.setPeerName("https://idp3.example.org");
         TSM_ASSERT("Signature failed to validate.", dynamic_cast<SignatureTrustEngine*>(trustEngine.get())->validate(*sig, *metadataProvider, &cc));
 
         descriptor = metadataProvider->getEntityDescriptor(MetadataProvider::Criteria("https://idp2.example.org")).first;