Ver Mensaje Individual
  #32 (permalink)  
Antiguo 04/09/2009, 01:25
softrednet
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Antes que nada agradecerle a todos los que han aportado sus conocimientos en este foro, y solicitar ayuda debido a que Ya tengo la llave privada y llave publica con forme explico Nanox con un archivo bat
@echo off
color 30

C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in C:\WEB_SAT\EPISA\aaa010101aaa_CSD_01.key -passin pass:xxxxxxxxxxx -out C:\WEB_SAT\EPISA\aaa010101aaa.key.pem


C:\OpenSSL\bin\openssl.exe x509 -inform DER -outform PEM –in C:\WEB_SAT\EPISA\aaa010101aaa_CSD_01.cer -pubkey -out C:\WEB_SAT\EPISA\aaa010101aaa.cer.pem

echo la llave publica ha sido creada.....

Pero no se como obtener el certificado es decir en el archivo xml con versión 2.0 existe un registro llamado certificado
Ejemplo:
version="2.0"
serie="BA"
folio="170"
fecha="2009-09-01T03:36:59" sello="G6KKmnhBQh06I5h0JQSD9ItM7H4msd4D45Yg4ti81XA SvM9+Zf38g/Q9ANMl6FJaPpqMHnyj4UZWsQgKz7Z+qfMM/gTYqlTQIcily0VT0BCazEnpmn1xGPR6So6ffhnJbYLTfTjqEbS 5Td3t/pvdGsg7CCr/bG+N01WM9py1uc0="
noCertificado="10001200000000022517" certificado="MIIDhDCCAmygAwIBAgIUMTAwMDEyMDAwMDAwM DAwMjI1MTcwDQYJKoZIhvcNAQEFBQAwgcMxGTAXBgNVBAcTEEN pdWRhZCBkZSBNZXhpY28xFTATBgNVBAgTDE1leGljbywgRC5GL jELMAkGA1UEBhMCTVgxGjAYBgNVBAMTEUFDIGRlIFBydWViYXM gU0FUMTYwNAYDVQQLFC1BZG1pbmlzdHJhY2nzbiBkZSBTZWd1c mlkYWQgZGUgbGEgSW5mb3JtYWNp824xLjAsBgNVBAoUJVNlcnZ pY2lvIGRlIEFkbWluaXN0cmFjafNuIFRyaWJ1dGFyaWEwHhcNM DgwODIxMTUyMjA4WhcNMTAwODIxMTUyMjA4WjCBmDElMCMGA1U ELRMcQUFBMDEwMTAxQUFBIC8gQUFBQTAxMDEwMUFBQTEeMBwGA 1UEBRMVIC8gQUFBQTAxMDEwMUhERlJYWDAxMRIwEAYDVQQKEwl NYXRyaXogU0ExEzARBgNVBAsTClVuaWRhZCAxMCAxEjAQBgNVB AMTCU1hdHJpeiBTQTESMBAGA1UEKRMJTWF0cml6IFNBMIGfMA0 GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDpmiW1q9gyzCFtMcbaF DJexk2IpLoTdNXg4ToGRZ/f+hIjmj3N6ODWX1ARNFGYocEHf113GpW5Oe/mj6UqhBpiH4JRTNR4Udb8myJTArIlODynVHuIUuyhKo7gbMbDd XjilTAYY2XWQuQ7aDtWwntUmNg4vAC/F3OtRz3+y9wM5QIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1 UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEAafyD4gMsOvq7 E3raPntmQlJTxpWwNySqskE7fe23HVL9UKFCUlWWx/W8gluxIX9S19y17iWnGbtmbNddHxG5PznPsy/a8PlwNHjDW0FOpia2LsvDrNcdPiJhzL/1OVagkenffFf8bLEetF3ktxZ7ifcH1yxVxpZ7PS/pe8YIOpWRuMmTV4ypGdsw9TW3HVP5IJ/canuQGPTb3LQ8ojihW2dHnC6ojaWW4GHFSZAPhQJ/DaH/UgFjaQke/RBtoAketfROdG+1qYeA1q/is04O4AXNmMByGp7ZnvGNrO9LDBvs3eKN4ZYcQyjxFEbr1X/xUqHCRF1VEkkC5jJQ1ktC4g=="

desde php estoy mandando esta instrucción
<?

Exec("C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out aaa010101aaa_CSD_01.key.pem");

Exec("C:\OpenSSL\bin\openssl.exe x509 -inform DER -outform PEM -in aaa010101aaa_CSD_01.cer -pubkey -out aaa010101aaa_CSD_01.cer.pem");

$cadenaoriginal="||2.0|A|5|2009-09-03T23:02:15|12345678|2009|ingreso|Pago en una sola exhibicion|Efectivo|20000.00|23000.00|HEOE510629UB 2|MARIA ESTHER HERMOSO ORTUNO|RINCON DE ZAGAROLO|108|RINCONADA DE LOS ANDES|SAN LUIS POTOSI|SAN LUIS POTOSI|SAN LUIS POTOSI|MEXICO|78216|RINCON DE ZAGAROLO|108|RINCONADA DE LOS ANDES|SAN LUIS POTOSI|SAN LUIS POTOSI|SAN LUIS POTOSI|MEXICO|78216|MOR657810UB3|MORAN Y CIS, A.C.|HIMALAYA|580|LOMAS TERCERA SECCION|AGUASCALIENTES|AGUASCALIENTES|AGUASCALIENT ES|MEXICO|78000|1|PZA|ADMIN|SRNADMIN|10000.00|1000 0.00|1|PZA|ADMIN|SRNADMIN|10000.00|10000.00|IVA|15 .00|1500.00|IVA|15.00|1500.00|3000.00||" ;

$cadena = utf8_encode($cadenaoriginal) ;

$cadena=md5($cadena);

$fp = fopen ("md5.txt", "w+");
fwrite($fp, $cadena);
fclose($fp);

exec("C:\OpenSSL\bin\openssl.exe dgst -sign aaa010101aaa_CSD_01.key.pem md5.txt | openssl enc -base64 -A > sello.txt");

exec("C:\OpenSSL\bin\openssl.exe dgst -sign aaa010101aaa_CSD_01.cer.pem md5.txt | openssl enc -base64 -A > certificado.txt");

$file = readfile("sello.txt");

?>

y en efecto me crea los siguientes archivos

cmd5.txt Cadena en MD5
sello.txt Sello generado
certificado.txt

pero el archivo certificado.txt esta vacio

es decir yo estoy realizando esto para obtener el famoso registro certificado que va en el xml, pero no se si estoy realizando la instrucción correcta ó porque ell archivo certificado.txt no me muestra nada.