private function checkIDP(EntityDescriptor $ed) { $arr = $ed->getAllIdpSsoDescriptors(); $this->assertEquals(1, count($arr)); $idp = $arr[0]; $this->assertEquals(1, count($idp->getKeyDescriptors())); $arr = $idp->getKeyDescriptors(); $this->assertEquals(1, count($arr)); $this->assertEquals('', $arr[0]->getUse()); $cert = $arr[0]->getCertificate(); $this->assertNotNull($cert); $this->assertGreaterThan(100, strlen($cert->getData())); $this->assertEquals(0, count($idp->findSingleLogoutServices())); $this->assertEquals(4, count($idp->findSingleSignOnServices())); $arr = $idp->findSingleSignOnServices(Bindings::SAML2_HTTP_POST); $this->assertEquals(1, count($arr)); $this->assertEquals(Bindings::SAML2_HTTP_POST, $arr[0]->getBinding()); $this->assertEquals('https://idp.testshib.org/idp/profile/SAML2/POST/SSO', $arr[0]->getLocation()); $arr = $idp->findSingleSignOnServices(Bindings::SAML2_HTTP_REDIRECT); $this->assertEquals(1, count($arr)); $this->assertEquals(Bindings::SAML2_HTTP_REDIRECT, $arr[0]->getBinding()); $this->assertEquals('https://idp.testshib.org/idp/profile/SAML2/Redirect/SSO', $arr[0]->getLocation()); }
private function checkIDP(EntityDescriptor $ed, $url) { $arr = $ed->getAllIdpSsoDescriptors(); $this->assertEquals(1, count($arr)); $idp = $arr[0]; $this->assertEquals(2, count($idp->getKeyDescriptors())); $arr = $idp->findKeyDescriptors(KeyDescriptor::USE_SIGNING); $this->assertEquals(1, count($arr)); $this->assertEquals(KeyDescriptor::USE_SIGNING, $arr[0]->getUse()); $cert = $arr[0]->getCertificate(); $this->assertNotNull($cert); $this->assertGreaterThan(100, strlen($cert->getData())); $arr = $idp->findKeyDescriptors(KeyDescriptor::USE_ENCRYPTION); $this->assertEquals(1, count($arr)); $this->assertEquals(KeyDescriptor::USE_ENCRYPTION, $arr[0]->getUse()); $cert = $arr[0]->getCertificate(); $this->assertNotNull($cert); $this->assertGreaterThan(100, strlen($cert->getData())); $this->assertEquals(2, count($idp->findSingleLogoutServices())); $arr = $idp->findSingleLogoutServices(Bindings::SAML2_HTTP_REDIRECT); $this->assertEquals(1, count($arr)); $this->assertEquals(Bindings::SAML2_HTTP_REDIRECT, $arr[0]->getBinding()); $this->assertEquals($url, $arr[0]->getLocation()); $arr = $idp->findSingleLogoutServices(Bindings::SAML2_HTTP_POST); $this->assertEquals(1, count($arr)); $this->assertEquals(Bindings::SAML2_HTTP_POST, $arr[0]->getBinding()); $this->assertEquals($url, $arr[0]->getLocation()); $this->assertEquals(2, count($idp->findSingleSignOnServices())); $arr = $idp->findSingleLogoutServices(Bindings::SAML2_HTTP_POST); $this->assertEquals(1, count($arr)); $this->assertEquals(Bindings::SAML2_HTTP_POST, $arr[0]->getBinding()); $this->assertEquals($url, $arr[0]->getLocation()); $arr = $idp->findSingleLogoutServices(Bindings::SAML2_HTTP_REDIRECT); $this->assertEquals(1, count($arr)); $this->assertEquals(Bindings::SAML2_HTTP_REDIRECT, $arr[0]->getBinding()); $this->assertEquals($url, $arr[0]->getLocation()); }
/** * @return \AerialShip\LightSaml\Security\X509Certificate */ private function getCertificate() { $ed = new EntityDescriptor(); $doc = new \DOMDocument(); $doc->load(__DIR__ . '/../../../../../../../resources/sample/EntityDescriptor/idp2-ed.xml'); $ed->loadFromXml($doc->firstChild); $arrIdp = $ed->getAllIdpSsoDescriptors(); $idp = $arrIdp[0]; $arrKeys = $idp->findKeyDescriptors('signing'); $k = $arrKeys[0]; $cert = $k->getCertificate(); return $cert; }