ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
RobRichards\XMLSecLibs\XMLSecEnc Class Reference

xmlseclibs.php More...

+ Collaboration diagram for RobRichards\XMLSecLibs\XMLSecEnc:

Public Member Functions

 __construct ()
 
 addReference ($name, $node, $type)
 
 setNode ($node)
 
 encryptNode ($objKey, $replace=true)
 Encrypt the selected node with the given key. More...
 
 encryptReferences ($objKey)
 
 getCipherValue ()
 Retrieve the CipherValue text from this encrypted node. More...
 
 decryptNode ($objKey, $replace=true)
 Decrypt this encrypted node. More...
 
 encryptKey ($srcKey, $rawKey, $append=true)
 Encrypt the XMLSecurityKey. More...
 
 decryptKey ($encKey)
 
 locateEncryptedData ($element)
 
 locateKey ($node=null)
 Returns the key from the DOM. More...
 
 locateKeyInfo ($objBaseKey=null, $node=null)
 

Static Public Member Functions

static staticLocateKeyInfo ($objBaseKey=null, $node=null)
 

Data Fields

const template
 
const Element = 'http://www.w3.org/2001/04/xmlenc#Element'
 
const Content = 'http://www.w3.org/2001/04/xmlenc#Content'
 
const URI = 3
 
const XMLENCNS = 'http://www.w3.org/2001/04/xmlenc#'
 
 $type = null
 
 $encKey = null
 

Private Member Functions

 _resetTemplate ()
 

Private Attributes

 $encdoc = null
 
 $rawNode = null
 
 $references = array()
 

Detailed Description

xmlseclibs.php

Copyright (c) 2007-2019, Robert Richards rrich.nosp@m.ards.nosp@m.@cdat.nosp@m.azon.nosp@m.e.org. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of Robert Richards nor the names of his contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Author
Robert Richards rrich.nosp@m.ards.nosp@m.@cdat.nosp@m.azon.nosp@m.e.org

Definition at line 50 of file XMLSecEnc.php.

Constructor & Destructor Documentation

◆ __construct()

RobRichards\XMLSecLibs\XMLSecEnc::__construct ( )

Definition at line 78 of file XMLSecEnc.php.

References RobRichards\XMLSecLibs\XMLSecEnc\_resetTemplate().

79  {
80  $this->_resetTemplate();
81  }
+ Here is the call graph for this function:

Member Function Documentation

◆ _resetTemplate()

RobRichards\XMLSecLibs\XMLSecEnc::_resetTemplate ( )
private

Definition at line 83 of file XMLSecEnc.php.

Referenced by RobRichards\XMLSecLibs\XMLSecEnc\__construct(), and RobRichards\XMLSecLibs\XMLSecEnc\addReference().

84  {
85  $this->encdoc = new DOMDocument();
86  $this->encdoc->loadXML(self::template);
87  }
+ Here is the caller graph for this function:

◆ addReference()

RobRichards\XMLSecLibs\XMLSecEnc::addReference (   $name,
  $node,
  $type 
)
Parameters
string$name
DOMNode$node
string$type
Exceptions
Exception

Definition at line 95 of file XMLSecEnc.php.

References RobRichards\XMLSecLibs\XMLSecEnc\$encdoc, $name, RobRichards\XMLSecLibs\XMLSecEnc\$type, RobRichards\XMLSecLibs\XMLSecEnc\_resetTemplate(), and RobRichards\XMLSecLibs\XMLSecurityDSig\generateGUID().

96  {
97  if (! $node instanceOf DOMNode) {
98  throw new Exception('$node is not of type DOMNode');
99  }
100  $curencdoc = $this->encdoc;
101  $this->_resetTemplate();
103  $this->encdoc = $curencdoc;
104  $refuri = XMLSecurityDSig::generateGUID();
105  $element = $encdoc->documentElement;
106  $element->setAttribute("Id", $refuri);
107  $this->references[$name] = array("node" => $node, "type" => $type, "encnode" => $encdoc, "refuri" => $refuri);
108  }
static generateGUID($prefix='pfx')
Generate guid.
+ Here is the call graph for this function:

◆ decryptKey()

RobRichards\XMLSecLibs\XMLSecEnc::decryptKey (   $encKey)
Parameters
XMLSecurityKey$encKey
Returns
DOMElement|string
Exceptions
Exception

Definition at line 342 of file XMLSecEnc.php.

References RobRichards\XMLSecLibs\XMLSecEnc\$encKey, and RobRichards\XMLSecLibs\XMLSecEnc\decryptNode().

343  {
344  if (! $encKey->isEncrypted) {
345  throw new Exception("Key is not Encrypted");
346  }
347  if (empty($encKey->key)) {
348  throw new Exception("Key is missing data to perform the decryption");
349  }
350  return $this->decryptNode($encKey, false);
351  }
decryptNode($objKey, $replace=true)
Decrypt this encrypted node.
Definition: XMLSecEnc.php:254
+ Here is the call graph for this function:

◆ decryptNode()

RobRichards\XMLSecLibs\XMLSecEnc::decryptNode (   $objKey,
  $replace = true 
)

Decrypt this encrypted node.

The behaviour of this function depends on the value of $replace. If $replace is false, we will return the decrypted data as a string. If $replace is true, we will insert the decrypted element(s) into the document, and return the decrypted element(s).

Parameters
XMLSecurityKey$objKeyThe decryption key that should be used when decrypting the node.
boolean$replaceWhether we should replace the encrypted node in the XML document with the decrypted data. The default is true.
Returns
string|DOMElement The decrypted data.

Definition at line 254 of file XMLSecEnc.php.

References RobRichards\XMLSecLibs\XMLSecEnc\$rawNode, and RobRichards\XMLSecLibs\XMLSecEnc\getCipherValue().

Referenced by RobRichards\XMLSecLibs\XMLSecEnc\decryptKey().

255  {
256  if (! $objKey instanceof XMLSecurityKey) {
257  throw new Exception('Invalid Key');
258  }
259 
260  $encryptedData = $this->getCipherValue();
261  if ($encryptedData) {
262  $decrypted = $objKey->decryptData($encryptedData);
263  if ($replace) {
264  switch ($this->type) {
265  case (self::Element):
266  $newdoc = new DOMDocument();
267  $newdoc->loadXML($decrypted);
268  if ($this->rawNode->nodeType == XML_DOCUMENT_NODE) {
269  return $newdoc;
270  }
271  $importEnc = $this->rawNode->ownerDocument->importNode($newdoc->documentElement, true);
272  $this->rawNode->parentNode->replaceChild($importEnc, $this->rawNode);
273  return $importEnc;
274  case (self::Content):
275  if ($this->rawNode->nodeType == XML_DOCUMENT_NODE) {
276  $doc = $this->rawNode;
277  } else {
278  $doc = $this->rawNode->ownerDocument;
279  }
280  $newFrag = $doc->createDocumentFragment();
281  $newFrag->appendXML($decrypted);
282  $parent = $this->rawNode->parentNode;
283  $parent->replaceChild($newFrag, $this->rawNode);
284  return $parent;
285  default:
286  return $decrypted;
287  }
288  } else {
289  return $decrypted;
290  }
291  } else {
292  throw new Exception("Cannot locate encrypted data");
293  }
294  }
getCipherValue()
Retrieve the CipherValue text from this encrypted node.
Definition: XMLSecEnc.php:220
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ encryptKey()

RobRichards\XMLSecLibs\XMLSecEnc::encryptKey (   $srcKey,
  $rawKey,
  $append = true 
)

Encrypt the XMLSecurityKey.

Parameters
XMLSecurityKey$srcKey
XMLSecurityKey$rawKey
bool$append
Exceptions
Exception

Definition at line 304 of file XMLSecEnc.php.

References RobRichards\XMLSecLibs\XMLSecEnc\$encKey, $name, and $root.

305  {
306  if ((! $srcKey instanceof XMLSecurityKey) || (! $rawKey instanceof XMLSecurityKey)) {
307  throw new Exception('Invalid Key');
308  }
309  $strEncKey = base64_encode($srcKey->encryptData($rawKey->key));
310  $root = $this->encdoc->documentElement;
311  $encKey = $this->encdoc->createElementNS(self::XMLENCNS, 'xenc:EncryptedKey');
312  if ($append) {
313  $keyInfo = $root->insertBefore($this->encdoc->createElementNS('http://www.w3.org/2000/09/xmldsig#', 'dsig:KeyInfo'), $root->firstChild);
314  $keyInfo->appendChild($encKey);
315  } else {
316  $this->encKey = $encKey;
317  }
318  $encMethod = $encKey->appendChild($this->encdoc->createElementNS(self::XMLENCNS, 'xenc:EncryptionMethod'));
319  $encMethod->setAttribute('Algorithm', $srcKey->getAlgorith());
320  if (! empty($srcKey->name)) {
321  $keyInfo = $encKey->appendChild($this->encdoc->createElementNS('http://www.w3.org/2000/09/xmldsig#', 'dsig:KeyInfo'));
322  $keyInfo->appendChild($this->encdoc->createElementNS('http://www.w3.org/2000/09/xmldsig#', 'dsig:KeyName', $srcKey->name));
323  }
324  $cipherData = $encKey->appendChild($this->encdoc->createElementNS(self::XMLENCNS, 'xenc:CipherData'));
325  $cipherData->appendChild($this->encdoc->createElementNS(self::XMLENCNS, 'xenc:CipherValue', $strEncKey));
326  if (is_array($this->references) && count($this->references) > 0) {
327  $refList = $encKey->appendChild($this->encdoc->createElementNS(self::XMLENCNS, 'xenc:ReferenceList'));
328  foreach ($this->references AS $name => $reference) {
329  $refuri = $reference["refuri"];
330  $dataRef = $refList->appendChild($this->encdoc->createElementNS(self::XMLENCNS, 'xenc:DataReference'));
331  $dataRef->setAttribute("URI", '#' . $refuri);
332  }
333  }
334  return;
335  }
$root
Definition: sabredav.php:45

◆ encryptNode()

RobRichards\XMLSecLibs\XMLSecEnc::encryptNode (   $objKey,
  $replace = true 
)

Encrypt the selected node with the given key.

Parameters
XMLSecurityKey$objKeyThe encryption key and algorithm.
bool$replaceWhether the encrypted node should be replaced in the original tree. Default is true.
Exceptions
Exception
Returns
DOMElement The <xenc:EncryptedData>-element.

Definition at line 127 of file XMLSecEnc.php.

References $data, and RobRichards\XMLSecLibs\XMLSecEnc\$encdoc.

Referenced by RobRichards\XMLSecLibs\XMLSecEnc\encryptReferences().

128  {
129  $data = '';
130  if (empty($this->rawNode)) {
131  throw new Exception('Node to encrypt has not been set');
132  }
133  if (! $objKey instanceof XMLSecurityKey) {
134  throw new Exception('Invalid Key');
135  }
136  $doc = $this->rawNode->ownerDocument;
137  $xPath = new DOMXPath($this->encdoc);
138  $objList = $xPath->query('/xenc:EncryptedData/xenc:CipherData/xenc:CipherValue');
139  $cipherValue = $objList->item(0);
140  if ($cipherValue == null) {
141  throw new Exception('Error locating CipherValue element within template');
142  }
143  switch ($this->type) {
144  case (self::Element):
145  $data = $doc->saveXML($this->rawNode);
146  $this->encdoc->documentElement->setAttribute('Type', self::Element);
147  break;
148  case (self::Content):
149  $children = $this->rawNode->childNodes;
150  foreach ($children AS $child) {
151  $data .= $doc->saveXML($child);
152  }
153  $this->encdoc->documentElement->setAttribute('Type', self::Content);
154  break;
155  default:
156  throw new Exception('Type is currently not supported');
157  }
158 
159  $encMethod = $this->encdoc->documentElement->appendChild($this->encdoc->createElementNS(self::XMLENCNS, 'xenc:EncryptionMethod'));
160  $encMethod->setAttribute('Algorithm', $objKey->getAlgorithm());
161  $cipherValue->parentNode->parentNode->insertBefore($encMethod, $cipherValue->parentNode->parentNode->firstChild);
162 
163  $strEncrypt = base64_encode($objKey->encryptData($data));
164  $value = $this->encdoc->createTextNode($strEncrypt);
165  $cipherValue->appendChild($value);
166 
167  if ($replace) {
168  switch ($this->type) {
169  case (self::Element):
170  if ($this->rawNode->nodeType == XML_DOCUMENT_NODE) {
171  return $this->encdoc;
172  }
173  $importEnc = $this->rawNode->ownerDocument->importNode($this->encdoc->documentElement, true);
174  $this->rawNode->parentNode->replaceChild($importEnc, $this->rawNode);
175  return $importEnc;
176  case (self::Content):
177  $importEnc = $this->rawNode->ownerDocument->importNode($this->encdoc->documentElement, true);
178  while ($this->rawNode->firstChild) {
179  $this->rawNode->removeChild($this->rawNode->firstChild);
180  }
181  $this->rawNode->appendChild($importEnc);
182  return $importEnc;
183  }
184  } else {
185  return $this->encdoc->documentElement;
186  }
187  }
$data
Definition: bench.php:6
+ Here is the caller graph for this function:

◆ encryptReferences()

RobRichards\XMLSecLibs\XMLSecEnc::encryptReferences (   $objKey)
Parameters
XMLSecurityKey$objKey
Exceptions
Exception

Definition at line 193 of file XMLSecEnc.php.

References $name, RobRichards\XMLSecLibs\XMLSecEnc\$rawNode, RobRichards\XMLSecLibs\XMLSecEnc\$type, and RobRichards\XMLSecLibs\XMLSecEnc\encryptNode().

194  {
195  $curRawNode = $this->rawNode;
196  $curType = $this->type;
197  foreach ($this->references AS $name => $reference) {
198  $this->encdoc = $reference["encnode"];
199  $this->rawNode = $reference["node"];
200  $this->type = $reference["type"];
201  try {
202  $encNode = $this->encryptNode($objKey);
203  $this->references[$name]["encnode"] = $encNode;
204  } catch (Exception $e) {
205  $this->rawNode = $curRawNode;
206  $this->type = $curType;
207  throw $e;
208  }
209  }
210  $this->rawNode = $curRawNode;
211  $this->type = $curType;
212  }
encryptNode($objKey, $replace=true)
Encrypt the selected node with the given key.
Definition: XMLSecEnc.php:127
+ Here is the call graph for this function:

◆ getCipherValue()

RobRichards\XMLSecLibs\XMLSecEnc::getCipherValue ( )

Retrieve the CipherValue text from this encrypted node.

Exceptions
Exception
Returns
string|null The Ciphervalue text, or null if no CipherValue is found.

Definition at line 220 of file XMLSecEnc.php.

References $query.

Referenced by RobRichards\XMLSecLibs\XMLSecEnc\decryptNode().

221  {
222  if (empty($this->rawNode)) {
223  throw new Exception('Node to decrypt has not been set');
224  }
225 
226  $doc = $this->rawNode->ownerDocument;
227  $xPath = new DOMXPath($doc);
228  $xPath->registerNamespace('xmlencr', self::XMLENCNS);
229  /* Only handles embedded content right now and not a reference */
230  $query = "./xmlencr:CipherData/xmlencr:CipherValue";
231  $nodeset = $xPath->query($query, $this->rawNode);
232  $node = $nodeset->item(0);
233 
234  if (!$node) {
235  return null;
236  }
237 
238  return base64_decode($node->nodeValue);
239  }
$query
+ Here is the caller graph for this function:

◆ locateEncryptedData()

RobRichards\XMLSecLibs\XMLSecEnc::locateEncryptedData (   $element)
Parameters
DOMDocument$element
Returns
DOMNode|null

Definition at line 357 of file XMLSecEnc.php.

References $query.

358  {
359  if ($element instanceof DOMDocument) {
360  $doc = $element;
361  } else {
362  $doc = $element->ownerDocument;
363  }
364  if ($doc) {
365  $xpath = new DOMXPath($doc);
366  $query = "//*[local-name()='EncryptedData' and namespace-uri()='".self::XMLENCNS."']";
367  $nodeset = $xpath->query($query);
368  return $nodeset->item(0);
369  }
370  return null;
371  }
$query

◆ locateKey()

RobRichards\XMLSecLibs\XMLSecEnc::locateKey (   $node = null)

Returns the key from the DOM.

Parameters
null | DOMNode$node
Returns
null|XMLSecurityKey

Definition at line 378 of file XMLSecEnc.php.

References $query, and RobRichards\XMLSecLibs\XMLSecEnc\$rawNode.

379  {
380  if (empty($node)) {
381  $node = $this->rawNode;
382  }
383  if (! $node instanceof DOMNode) {
384  return null;
385  }
386  if ($doc = $node->ownerDocument) {
387  $xpath = new DOMXPath($doc);
388  $xpath->registerNamespace('xmlsecenc', self::XMLENCNS);
389  $query = ".//xmlsecenc:EncryptionMethod";
390  $nodeset = $xpath->query($query, $node);
391  if ($encmeth = $nodeset->item(0)) {
392  $attrAlgorithm = $encmeth->getAttribute("Algorithm");
393  try {
394  $objKey = new XMLSecurityKey($attrAlgorithm, array('type' => 'private'));
395  } catch (Exception $e) {
396  return null;
397  }
398  return $objKey;
399  }
400  }
401  return null;
402  }
$query

◆ locateKeyInfo()

RobRichards\XMLSecLibs\XMLSecEnc::locateKeyInfo (   $objBaseKey = null,
  $node = null 
)
Parameters
null | XMLSecurityKey$objBaseKey
null | DOMNode$node
Returns
null|XMLSecurityKey

Definition at line 503 of file XMLSecEnc.php.

References RobRichards\XMLSecLibs\XMLSecEnc\$rawNode.

504  {
505  if (empty($node)) {
506  $node = $this->rawNode;
507  }
508  return self::staticLocateKeyInfo($objBaseKey, $node);
509  }

◆ setNode()

RobRichards\XMLSecLibs\XMLSecEnc::setNode (   $node)
Parameters
DOMNode$node

Definition at line 113 of file XMLSecEnc.php.

114  {
115  $this->rawNode = $node;
116  }

◆ staticLocateKeyInfo()

static RobRichards\XMLSecLibs\XMLSecEnc::staticLocateKeyInfo (   $objBaseKey = null,
  $node = null 
)
static
Parameters
null | XMLSecurityKey$objBaseKey
null | DOMNode$node
Returns
null|XMLSecurityKey
Exceptions
Exception

Definition at line 410 of file XMLSecEnc.php.

References $id, $query, RobRichards\XMLSecLibs\XMLSecEnc\$type, RobRichards\XMLSecLibs\XMLSecurityKey\convertRSA(), RobRichards\XMLSecLibs\XMLSecurityKey\fromEncryptedKeyElement(), and RobRichards\XMLSecLibs\XMLSecurityDSig\XMLDSIGNS.

Referenced by SimpleSAML\XML\Validator\__construct(), and RobRichards\XMLSecLibs\XMLSecurityKey\fromEncryptedKeyElement().

411  {
412  if (empty($node) || (! $node instanceof DOMNode)) {
413  return null;
414  }
415  $doc = $node->ownerDocument;
416  if (!$doc) {
417  return null;
418  }
419 
420  $xpath = new DOMXPath($doc);
421  $xpath->registerNamespace('xmlsecenc', self::XMLENCNS);
422  $xpath->registerNamespace('xmlsecdsig', XMLSecurityDSig::XMLDSIGNS);
423  $query = "./xmlsecdsig:KeyInfo";
424  $nodeset = $xpath->query($query, $node);
425  $encmeth = $nodeset->item(0);
426  if (!$encmeth) {
427  /* No KeyInfo in EncryptedData / EncryptedKey. */
428  return $objBaseKey;
429  }
430 
431  foreach ($encmeth->childNodes AS $child) {
432  switch ($child->localName) {
433  case 'KeyName':
434  if (! empty($objBaseKey)) {
435  $objBaseKey->name = $child->nodeValue;
436  }
437  break;
438  case 'KeyValue':
439  foreach ($child->childNodes AS $keyval) {
440  switch ($keyval->localName) {
441  case 'DSAKeyValue':
442  throw new Exception("DSAKeyValue currently not supported");
443  case 'RSAKeyValue':
444  $modulus = null;
445  $exponent = null;
446  if ($modulusNode = $keyval->getElementsByTagName('Modulus')->item(0)) {
447  $modulus = base64_decode($modulusNode->nodeValue);
448  }
449  if ($exponentNode = $keyval->getElementsByTagName('Exponent')->item(0)) {
450  $exponent = base64_decode($exponentNode->nodeValue);
451  }
452  if (empty($modulus) || empty($exponent)) {
453  throw new Exception("Missing Modulus or Exponent");
454  }
455  $publicKey = XMLSecurityKey::convertRSA($modulus, $exponent);
456  $objBaseKey->loadKey($publicKey);
457  break;
458  }
459  }
460  break;
461  case 'RetrievalMethod':
462  $type = $child->getAttribute('Type');
463  if ($type !== 'http://www.w3.org/2001/04/xmlenc#EncryptedKey') {
464  /* Unsupported key type. */
465  break;
466  }
467  $uri = $child->getAttribute('URI');
468  if ($uri[0] !== '#') {
469  /* URI not a reference - unsupported. */
470  break;
471  }
472  $id = substr($uri, 1);
473 
474  $query = '//xmlsecenc:EncryptedKey[@Id="'.XPath::filterAttrValue($id, XPath::DOUBLE_QUOTE).'"]';
475  $keyElement = $xpath->query($query)->item(0);
476  if (!$keyElement) {
477  throw new Exception("Unable to locate EncryptedKey with @Id='$id'.");
478  }
479 
480  return XMLSecurityKey::fromEncryptedKeyElement($keyElement);
481  case 'EncryptedKey':
483  case 'X509Data':
484  if ($x509certNodes = $child->getElementsByTagName('X509Certificate')) {
485  if ($x509certNodes->length > 0) {
486  $x509cert = $x509certNodes->item(0)->textContent;
487  $x509cert = str_replace(array("\r", "\n", " "), "", $x509cert);
488  $x509cert = "-----BEGIN CERTIFICATE-----\n".chunk_split($x509cert, 64, "\n")."-----END CERTIFICATE-----\n";
489  $objBaseKey->loadKey($x509cert, false, true);
490  }
491  }
492  break;
493  }
494  }
495  return $objBaseKey;
496  }
static fromEncryptedKeyElement(DOMElement $element)
Create key from an EncryptedKey-element.
if(!array_key_exists('StateId', $_REQUEST)) $id
static convertRSA($modulus, $exponent)
Hint: Modulus and Exponent must already be base64 decoded.
$query
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $encdoc

RobRichards\XMLSecLibs\XMLSecEnc::$encdoc = null
private

◆ $encKey

RobRichards\XMLSecLibs\XMLSecEnc::$encKey = null

◆ $rawNode

◆ $references

RobRichards\XMLSecLibs\XMLSecEnc::$references = array()
private

Definition at line 76 of file XMLSecEnc.php.

◆ $type

◆ Content

const RobRichards\XMLSecLibs\XMLSecEnc::Content = 'http://www.w3.org/2001/04/xmlenc#Content'

Definition at line 59 of file XMLSecEnc.php.

◆ Element

const RobRichards\XMLSecLibs\XMLSecEnc::Element = 'http://www.w3.org/2001/04/xmlenc#Element'

Definition at line 58 of file XMLSecEnc.php.

◆ template

const RobRichards\XMLSecLibs\XMLSecEnc::template
Initial value:
= "<xenc:EncryptedData xmlns:xenc='http://www.w3.org/2001/04/xmlenc#'>
<xenc:CipherData>
<xenc:CipherValue></xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>"

Definition at line 52 of file XMLSecEnc.php.

◆ URI

const RobRichards\XMLSecLibs\XMLSecEnc::URI = 3

Definition at line 60 of file XMLSecEnc.php.

◆ XMLENCNS

const RobRichards\XMLSecLibs\XMLSecEnc::XMLENCNS = 'http://www.w3.org/2001/04/xmlenc#'

Definition at line 61 of file XMLSecEnc.php.


The documentation for this class was generated from the following file: