addReference() публичный Метод

public addReference ( $name, $node, $type )
Пример #1
0
 public function encryptSoapDoc($siteKey, $objKey, $options = null, $encryptSignature = true)
 {
     $enc = new XMLSecEnc();
     $xpath = new DOMXPath($this->envelope->ownerDocument);
     if ($encryptSignature == false) {
         $nodes = $xpath->query('//*[local-name()="Body"]');
     } else {
         $nodes = $xpath->query('//*[local-name()="Signature"] | //*[local-name()="Body"]');
     }
     foreach ($nodes as $node) {
         $type = XMLSecEnc::Element;
         $name = $node->localName;
         if ($name == "Body") {
             $type = XMLSecEnc::Content;
         }
         $enc->addReference($name, $node, $type);
     }
     $enc->encryptReferences($objKey);
     $enc->encryptKey($siteKey, $objKey, false);
     $nodes = $xpath->query('//*[local-name()="Security"]');
     $signode = $nodes->item(0);
     $this->addEncryptedKey($signode, $enc, $siteKey, $options);
 }