Guest User

Untitled

a guest
Apr 22nd, 2014
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.02 KB | None | 0 0
  1. /* get the credential resolver */
  2. credentialresolver* c_resolver = null;
  3. std::string config = keystore_path + "filesystemcredentialresolver.xml";    // has client private/public key
  4. std::ifstream in(config.c_str());
  5. domdocument* doc = xmltoolingconfig::getconfig().getparser().parse(in);
  6. xercesjanitor<domdocument> janitor(doc);
  7. c_resolver = xmltoolingconfig::getconfig().credentialresolvermanager.newplugin(filesystem_credential_resolver,doc->getdocumentelement());
  8. in.close();
  9.  
  10. /* get the meta-data provider details */
  11. std::string m_config = keystore_path + "metadataproviderconfig.xml";        // tells the path of actual metadata file
  12. std::ifstream m_in(m_config.c_str());
  13. domdocument* m_doc = xmltoolingconfig::getconfig().getparser().parse(m_in);
  14. xercesjanitor<domdocument> m_janitor(m_doc);
  15. auto_ptr_xmlch md_path("path");
  16. std::string s = keystore_path + "metadata.xml";                 // same file as example-metadata.xml in samltest/data
  17. auto_ptr_xmlch file(s.c_str());
  18. (m_doc->getdocumentelement())->setattributens(null, md_path.get(), file.get());
  19. opensaml::saml2md::metadataprovider *m_metadata = opensaml::samlconfig::getconfig().metadataprovidermanager.newplugin(
  20.         xml_metadata_provider,m_doc->getdocumentelement());
  21. m_metadata->init();
  22. locker mlocker(m_metadata);
  23.  
  24. /* create metadata provider */
  25. opensaml::saml2md::metadataprovider::criteria mc("https://sp.example.org/",
  26.     &opensaml::saml2md::spssodescriptor::element_qname, samlconstants::saml20p_ns);
  27. std::pair<const opensaml::saml2md::entitydescriptor*,const opensaml::saml2md::roledescriptor*> sp =
  28. m_metadata->getentitydescriptor(mc);
  29.  
  30. /* get encrypted assertion from response (available to this function) */
  31. encryptedassertion *ea = null;
  32. if ((response->getencryptedassertions()).size() > 0) {
  33.     /* get the first encrypted assertion */
  34.     ea = dynamic_cast<encryptedassertion*>((response->getencryptedassertions()).at(0));
  35. }
  36. std::auto_ptr<opensaml::saml2::assertion> assertion2(dynamic_cast<opensaml::saml2::assertion*>(ea->
  37. decrypt(*c_resolver, sp.first->getentityid())));
Advertisement
Add Comment
Please, Sign In to add comment