/**
  * @param SSODescriptor    $ssoDescriptor
  * @param EntityDescriptor $entityDescriptor
  * @param array            $result
  */
 protected function handleDescriptor(SSODescriptor $ssoDescriptor, EntityDescriptor $entityDescriptor, array &$result)
 {
     foreach ($ssoDescriptor->getAllKeyDescriptors() as $keyDescriptor) {
         $credential = (new X509Credential($keyDescriptor->getCertificate()))->setEntityId($entityDescriptor->getEntityID())->addKeyName($keyDescriptor->getCertificate()->getName())->setCredentialContext(new CredentialContextSet(array(new MetadataCredentialContext($keyDescriptor, $ssoDescriptor, $entityDescriptor))))->setUsageType($keyDescriptor->getUse());
         $result[] = $credential;
     }
 }