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