--TEST--
Encryption without modifying original data
--FILE--
<?php
require(dirname(__FILE__) . '/../xmlseclibs.php');
$dom = new DOMDocument();
$dom->load(dirname(__FILE__) . '/basic-doc.xml');
$origData = $dom->saveXML();
$objKey = new XMLSecurityKey(XMLSecurityKey::AES256_CBC);
$objKey->generateSessionKey();
$siteKey = new XMLSecurityKey(XMLSecurityKey::RSA_OAEP_MGF1P, array('type'=>'public'));
$siteKey->loadKey(dirname(__FILE__) . '/mycert.pem', TRUE, TRUE);
$enc = new XMLSecEnc();
$enc->setNode($dom->documentElement);
$enc->encryptKey($siteKey, $objKey);
$enc->type = XMLSecEnc::Element;
$encNode = $enc->encryptNode($objKey, FALSE);
$newData = $dom->saveXML();
if ($newData !== $origData) {
echo "Original data was modified.\n";
}
if ($encNode->namespaceURI !== XMLSecEnc::XMLENCNS || $encNode->localName !== 'EncryptedData') {
echo "Encrypted node wasn't a <xenc:EncryptedData>-element.\n";
}
?>
--EXPECTF--
|