/** * Tests the calculateX509Fingerprint method of the OneLogin_Saml2_Utils * * @covers OneLogin_Saml2_Utils::calculateX509Fingerprint */ public function testCalculateX509Fingerprint() { $settingsDir = TEST_ROOT . '/settings/'; include $settingsDir . 'settings1.php'; $settings = new OneLogin_Saml2_Settings($settingsInfo); $certPath = $settings->getCertPath(); $key = file_get_contents($certPath . 'sp.key'); $cert = file_get_contents($certPath . 'sp.crt'); $this->assertNull(OneLogin_Saml2_Utils::calculateX509Fingerprint($key)); $this->assertEquals('afe71c28ef740bc87425be13a2263d37971da1f9', OneLogin_Saml2_Utils::calculateX509Fingerprint($cert)); }
/** * Tests getCertPath method of the OneLogin_Saml2_Settings * * @covers OneLogin_Saml2_Settings::getBasePath * @covers OneLogin_Saml2_Settings::getCertPath */ public function testGetCertPath() { $settings = new OneLogin_Saml2_Settings(); $this->assertEquals(ONELOGIN_CUSTOMPATH . 'certs/', $settings->getCertPath()); }
/** * Tests the calculateX509Fingerprint method of the OneLogin_Saml2_Utils * * @covers OneLogin_Saml2_Utils::calculateX509Fingerprint */ public function testCalculateX509Fingerprint() { $settingsDir = TEST_ROOT . '/settings/'; include $settingsDir . 'settings1.php'; $settings = new OneLogin_Saml2_Settings($settingsInfo); $certPath = $settings->getCertPath(); $key = file_get_contents($certPath . 'sp.key'); $cert = file_get_contents($certPath . 'sp.crt'); $this->assertNull(OneLogin_Saml2_Utils::calculateX509Fingerprint($key)); $this->assertEquals('afe71c28ef740bc87425be13a2263d37971da1f9', OneLogin_Saml2_Utils::calculateX509Fingerprint($cert)); $this->assertEquals('afe71c28ef740bc87425be13a2263d37971da1f9', OneLogin_Saml2_Utils::calculateX509Fingerprint($cert, 'sha1')); $this->assertEquals('c51cfa06c7a49767f6eab18238eae1c56708e29264da3d11f538a12cd2c357ba', OneLogin_Saml2_Utils::calculateX509Fingerprint($cert, 'sha256')); $this->assertEquals('bc5826e6f9429247254bae5e3c650e6968a36a62d23075eb168134978d88600559c10830c28711b2c29c7947c0c2eb1d', OneLogin_Saml2_Utils::calculateX509Fingerprint($cert, 'sha384')); $this->assertEquals('3db29251b97559c67988ea0754cb0573fc409b6f75d89282d57cfb75089539b0bbdb2dcd9ec6e032549ecbc466439d5992e18db2cf5494ca2fe1b2e16f348dff', OneLogin_Saml2_Utils::calculateX509Fingerprint($cert, 'sha512')); }
/** * Tests the addX509KeyDescriptors method of the OneLogin_Saml2_Metadata * * @covers OneLogin_Saml2_Metadata::addX509KeyDescriptors */ public function testAddX509KeyDescriptors() { $settingsDir = TEST_ROOT . '/settings/'; include $settingsDir . 'settings1.php'; $settings = new OneLogin_Saml2_Settings($settingsInfo); $spData = $settings->getSPData(); $metadata = OneLogin_Saml2_Metadata::builder($spData); $this->assertNotContains('<md:KeyDescriptor use="signing"', $metadata); $this->assertNotContains('<md:KeyDescriptor use="encryption"', $metadata); $certPath = $settings->getCertPath(); $cert = file_get_contents($certPath . 'sp.crt'); $metadataWithDescriptors = OneLogin_Saml2_Metadata::addX509KeyDescriptors($metadata, $cert); $this->assertContains('<md:KeyDescriptor use="signing"', $metadataWithDescriptors); $this->assertContains('<md:KeyDescriptor use="encryption"', $metadataWithDescriptors); try { $signedMetadata2 = OneLogin_Saml2_Metadata::addX509KeyDescriptors('', $cert); $this->assertFalse(true); } catch (Exception $e) { $this->assertContains('Error parsing metadata', $e->getMessage()); } libxml_use_internal_errors(true); $unparsedMetadata = file_get_contents(TEST_ROOT . '/data/metadata/unparsed_metadata.xml'); try { $metadataWithDescriptors = OneLogin_Saml2_Metadata::addX509KeyDescriptors($unparsedMetadata, $cert); $this->assertFalse(true); } catch (Exception $e) { $this->assertContains('Error parsing metadata', $e->getMessage()); } }