Gracias por interesarte...
Pego el codigo q utilizo para firmar:
Código PHP:
require(dirname(__FILE__) . '/../xmlseclibs.php');
if (file_exists(dirname(__FILE__) . '/sign-basic-test.xml')) {
unlink(dirname(__FILE__) . '/sign-basic-test.xml');
}
$doc = new DOMDocument();
$doc->load(dirname(__FILE__) . '/basic-doc.xml');
$doc->loadXML($xml);
$objDSig = new XMLSecurityDSig();
$objDSig->setCanonicalMethod(XMLSecurityDSig::C14N);
$objDSig->addReference($doc, XMLSecurityDSig::SHA1);
$objKey = new XMLSecurityKey(XMLSecurityKey::RSA_SHA1, array('type'=>'private'));
/* load private key */
$objKey->loadKey(dirname(__FILE__) . '/privkey.pem', TRUE);
/* if key has Passphrase, set it using $objKey->passphrase = <passphrase> " */
$objDSig->sign($objKey);
/* Add associated public key */
$objDSig->add509Cert(file_get_contents(dirname(__FILE__) . '/mycert.pem'));
$objDSig->appendSignature($doc->documentElement);
$doc->save(dirname(__FILE__) . '/sign-basic-test.xml');
$sign_output = file_get_contents(dirname(__FILE__) . '/sign-basic-test.xml');
$sign_output_def = file_get_contents(dirname(__FILE__) . '/sign-basic-test.res');
if ($sign_output != $sign_output_def) {
//echo "NOT THE SAME";
}
y el xml que firmo (basic-doc.xml), es
Código HTML:
<?xml version="1.0"?>
<getToken>
<item>
<Semilla>1234567890123</Semilla>
</item>
</getToken>
Bueno gracias por cualquier ayuda q me puedan dar...