コード例 #1
0
ファイル: KeyDescriptor.php プロジェクト: aarnaud/lightSAML
 /**
  * @param \DOMElement            $node
  * @param DeserializationContext $context
  *
  * @throws LightSamlXmlException
  *
  * @return void
  */
 public function deserialize(\DOMElement $node, DeserializationContext $context)
 {
     $this->checkXmlNodeName($node, 'KeyDescriptor', SamlConstants::NS_METADATA);
     $this->attributesFromXml($node, array('use'));
     $list = $context->getXpath()->query('./ds:KeyInfo/ds:X509Data/ds:X509Certificate', $node);
     if (1 != $list->length) {
         throw new LightSamlXmlException('Missing X509Certificate node');
     }
     /** @var $x509CertificateNode \DOMElement */
     $x509CertificateNode = $list->item(0);
     $certificateData = trim($x509CertificateNode->textContent);
     if (false == $certificateData) {
         throw new LightSamlXmlException('Missing certificate data');
     }
     $this->certificate = new X509Certificate();
     $this->certificate->setData($certificateData);
 }