Derive signing flags from config.
authorcantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Wed, 17 Oct 2007 03:06:32 +0000 (03:06 +0000)
committercantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Wed, 17 Oct 2007 03:06:32 +0000 (03:06 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-sp/trunk@2536 cb58f699-b61c-0410-a6fe-9272a202ed29

shibsp/handler/impl/MetadataGenerator.cpp

index 55f27e9..092d77b 100644 (file)
@@ -219,6 +219,15 @@ pair<bool,long> MetadataGenerator::processMessage(const Application& application
         role = entity->getSPSSODescriptors().front();
     }
 
+    // Policy flags.
+    prop = application.getRelyingParty(NULL)->getString("signing");
+    if (prop.first && (!strcmp(prop.second,"true") || !strcmp(prop.second,"front")))
+        role->AuthnRequestsSigned(true);
+    pair<bool,bool> flagprop =
+        application.getServiceProvider().getPolicySettings(application.getString("policyId").second)->getBool("signedAssertions");
+    if (flagprop.first && flagprop.second)
+        role->WantAssertionsSigned(true);
+
     vector<const Handler*> handlers;
     application.getHandlers(handlers);
     for (vector<const Handler*>::const_iterator h = handlers.begin(); h != handlers.end(); ++h) {