Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/09/2009, 05:21
Avatar de sebasnob
sebasnob
 
Fecha de Ingreso: enero-2008
Ubicación: Rosario
Mensajes: 27
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: PHP y Web Service del SII

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($docXMLSecurityDSig::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...