SAML2\Certificate\KeyLoader::loadKeysFromConfiguration PHP Method

loadKeysFromConfiguration() public method

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();
    }

Usage Example

Example #1
0
 /**
  * @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);
 }