Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* get the credential resolver */
- credentialresolver* c_resolver = null;
- std::string config = keystore_path + "filesystemcredentialresolver.xml"; // has client private/public key
- std::ifstream in(config.c_str());
- domdocument* doc = xmltoolingconfig::getconfig().getparser().parse(in);
- xercesjanitor<domdocument> janitor(doc);
- c_resolver = xmltoolingconfig::getconfig().credentialresolvermanager.newplugin(filesystem_credential_resolver,doc->getdocumentelement());
- in.close();
- /* get the meta-data provider details */
- std::string m_config = keystore_path + "metadataproviderconfig.xml"; // tells the path of actual metadata file
- std::ifstream m_in(m_config.c_str());
- domdocument* m_doc = xmltoolingconfig::getconfig().getparser().parse(m_in);
- xercesjanitor<domdocument> m_janitor(m_doc);
- auto_ptr_xmlch md_path("path");
- std::string s = keystore_path + "metadata.xml"; // same file as example-metadata.xml in samltest/data
- auto_ptr_xmlch file(s.c_str());
- (m_doc->getdocumentelement())->setattributens(null, md_path.get(), file.get());
- opensaml::saml2md::metadataprovider *m_metadata = opensaml::samlconfig::getconfig().metadataprovidermanager.newplugin(
- xml_metadata_provider,m_doc->getdocumentelement());
- m_metadata->init();
- locker mlocker(m_metadata);
- /* create metadata provider */
- opensaml::saml2md::metadataprovider::criteria mc("https://sp.example.org/",
- &opensaml::saml2md::spssodescriptor::element_qname, samlconstants::saml20p_ns);
- std::pair<const opensaml::saml2md::entitydescriptor*,const opensaml::saml2md::roledescriptor*> sp =
- m_metadata->getentitydescriptor(mc);
- /* get encrypted assertion from response (available to this function) */
- encryptedassertion *ea = null;
- if ((response->getencryptedassertions()).size() > 0) {
- /* get the first encrypted assertion */
- ea = dynamic_cast<encryptedassertion*>((response->getencryptedassertions()).at(0));
- }
- std::auto_ptr<opensaml::saml2::assertion> assertion2(dynamic_cast<opensaml::saml2::assertion*>(ea->
- decrypt(*c_resolver, sp.first->getentityid())));
Advertisement
Add Comment
Please, Sign In to add comment