示例#1
0
 /**
  * @param SAML2_Configuration_CertificateProvider $config
  * @param NULL|string                             $usage
  * @param bool                                    $required
  *
  * @return SAML2_Certificate_KeyCollection
  */
 public function loadKeysFromConfiguration(SAML2_Configuration_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 SAML2_Certificate_Exception_NoKeysFoundException('No keys found in configured metadata, please ensure that either the "keys", "certData" or ' . '"certificate" entries is available.');
     }
     return $this->getKeys();
 }