public loadKeysFromConfiguration ( SAML2\Configuration\CertificateProvider $config, null | string $usage = null, boolean $required = false ) : SAML2\Certificate\KeyCollection | ||
$config | SAML2\Configuration\CertificateProvider | |
$usage | null | string | |
$required | boolean | |
return | SAML2\Certificate\KeyCollection |
public function loadKeysFromConfiguration(CertificateProvider $config, $usage = null, $required = false)
{
$keys = $config->getKeys();
$certificateData = $config->getCertificateData();
$certificateFile = $config->getCertificateFile();
if ($keys) {
$this->loadKeys($keys, $usage);
} elseif ($certificateData) {
$this->loadCertificateData($certificateData);
} elseif ($certificateFile) {
$this->loadCertificateFile($certificateFile);
}
if ($required && !$this->hasKeys()) {
throw new NoKeysFoundException('No keys found in configured metadata, please ensure that either the "keys", "certData" or ' . '"certificate" entries is available.');
}
return $this->getKeys();
}
/** * @group certificate * * @test * @expectedException \SAML2\Certificate\Exception\InvalidCertificateStructureException */ public function loading_an_invalid_certificate_file_from_configuration_throws_exception() { $file = dirname(__FILE__) . '/File/not_a_key.crt'; $this->configurationMock->shouldReceive('getKeys')->atMost()->once()->andReturnNull()->shouldReceive('getCertificateData')->atMost()->once()->andReturnNull()->shouldReceive('getCertificateFile')->once()->andReturn($file); $loadedKeys = $this->keyLoader->loadKeysFromConfiguration($this->configurationMock); }