FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1061
|
|||
|
|||
Cita:
Yo lo necesitaba para otras cosas y al final tuve que hacérmelo. No es difícil, aunque requiere bastantes horas de trabajo para pulirlo, pero una vez hecho es una delicia poder procesar cualquier XML sin despeinarse. Si quieres salir del paso, puedes buscar "<ds:SignatureValue" en el texto. Una vez encontrado tienes que buscar el siguiente '>', apuntar la posición, buscar el siguiente '<', apuntar la posición, y extraer el fragmento comprendido entre las dos posiciones. |
#1062
|
||||
|
||||
Genial! Voy a probar, muchas gracias! Pero cómo te aseguras que lo envías con esa codificación? Porque lo tengo en el código en varios puntos y luego lo tengo adjuntado en el header de la petición. Tú cómo lo estás haciendo?
|
#1063
|
|||
|
|||
Cita:
|
#1064
|
|||
|
|||
¡No me digas que tienes una herramienta que analiza XSD! ¡LA QUIERO! ¡PORFI, PORFI, PORFI... |
#1065
|
|||
|
|||
Yo tengo el mismo problema de error en tránsito, le he metido utf-8 por todo slo sitios y sigo igual, alguien puede poner la firma y envío con Chilkat en VB6? estoy encallado. La firma está bien o eso dicen todos los validadores. Uso el ejemplo que genera las tools de Chilkat.
|
#1066
|
|||
|
|||
Me apunto a lo de los CRC8. Ahí va mi aportación en C++:
Código:
static const unsigned char tabla_crc8[]= { 0x00, 0x07, 0x0E, 0x09, 0x1C, 0x1B, 0x12, 0x15,0x38, 0x3F, 0x36, 0x31, 0x24, 0x23, 0x2A, 0x2D, 0x70, 0x77, 0x7E, 0x79, 0x6C, 0x6B, 0x62, 0x65,0x48, 0x4F, 0x46, 0x41, 0x54, 0x53, 0x5A, 0x5D, 0xE0, 0xE7, 0xEE, 0xE9, 0xFC, 0xFB, 0xF2, 0xF5,0xD8, 0xDF, 0xD6, 0xD1, 0xC4, 0xC3, 0xCA,0xCD, 0x90, 0x97, 0x9E, 0x99, 0x8C, 0x8B, 0x82, 0x85,0xA8, 0xAF, 0xA6, 0xA1, 0xB4, 0xB3, 0xBA, 0xBD, 0xC7, 0xC0, 0xC9, 0xCE, 0xDB, 0xDC, 0xD5, 0xD2,0xFF, 0xF8, 0xF1, 0xF6, 0xE3, 0xE4, 0xED, 0xEA, 0xB7, 0xB0, 0xB9, 0xBE, 0xAB, 0xAC, 0xA5, 0xA2,0x8F, 0x88, 0x81, 0x86, 0x93, 0x94, 0x9D, 0x9A, 0x27, 0x20, 0x29, 0x2E, 0x3B, 0x3C, 0x35, 0x32,0x1F, 0x18, 0x11, 0x16, 0x03, 0x04, 0x0D, 0x0A, 0x57, 0x50, 0x59, 0x5E, 0x4B, 0x4C, 0x45, 0x42,0x6F, 0x68, 0x61, 0x66, 0x73, 0x74, 0x7D, 0x7A, 0x89, 0x8E, 0x87, 0x80, 0x95, 0x92, 0x9B, 0x9C,0xB1, 0xB6, 0xBF, 0xB8, 0xAD, 0xAA, 0xA3, 0xA4, 0xF9, 0xFE, 0xF7, 0xF0, 0xE5, 0xE2, 0xEB, 0xEC,0xC1, 0xC6, 0xCF, 0xC8, 0xDD, 0xDA, 0xD3, 0xD4, 0x69, 0x6E, 0x67, 0x60, 0x75, 0x72, 0x7B, 0x7C,0x51, 0x56, 0x5F, 0x58, 0x4D, 0x4A, 0x43, 0x44, 0x19, 0x1E, 0x17, 0x10, 0x05, 0x02, 0x0B, 0x0C,0x21, 0x26, 0x2F, 0x28, 0x3D, 0x3A, 0x33, 0x34, 0x4E, 0x49, 0x40, 0x47, 0x52, 0x55, 0x5C, 0x5B,0x76, 0x71, 0x78, 0x7F, 0x6A, 0x6D, 0x64, 0x63, 0x3E, 0x39, 0x30, 0x37, 0x22, 0x25, 0x2C, 0x2B,0x06, 0x01, 0x08, 0x0F, 0x1A, 0x1D, 0x14, 0x13, 0xAE, 0xA9, 0xA0, 0xA7, 0xB2, 0xB5, 0xBC, 0xBB,0x96, 0x91, 0x98, 0x9F, 0x8A, 0x8D, 0x84, 0x83, 0xDE, 0xD9, 0xD0, 0xD7, 0xC2, 0xC5, 0xCC, 0xCB,0xE6, 0xE1, 0xE8, 0xEF, 0xFA, 0xFD, 0xF4, 0xF3 }; uchar CRC8(const unsigned char *dat) { if(dat==nullptr)return(0xff); int lng=strlen(dat); uchar crc=0; for(int cta=0;cta<lng;cta++)crc=tabla_crc8[(crc ^ dat[cta]) & 0xff]; return(crc); } |
#1067
|
|||
|
|||
Cita:
IMPORTANTE: recuerda que hay que convertirlo a UTF8 antes de firmarlo. |
#1068
|
||||
|
||||
Cita:
Mírate este mensaje del hilo, a ver si te sirve: http://clubdelphi.com/foros/showpost...&postcount=606 También puedes hacerlo directamente en un EXE si te es más útil.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#1069
|
||||
|
||||
Lo mismo yo, aunque en C#
|
#1070
|
||||
|
||||
¿Y en qué consiste esa función de conversión?
|
#1071
|
|||
|
|||
Código:
std::string cdfCodificarUtf8(const char *txt) { int lnga=MultiByteToWideChar(CP_ACP,0,txt,-1,nullptr,0); WCHAR *tmpa=new WCHAR[lnga]; MultiByteToWideChar(CP_ACP,0,txt,-1,tmpa,lnga); int lngb=WideCharToMultiByte(CP_UTF8,0,tmpa,-1,nullptr,0,nullptr,nullptr); char *tmpb=new char[lngb]; WideCharToMultiByte(CP_UTF8,0,tmpa,-1,tmpb,lngb,nullptr,nullptr); std::string dst=tmpb; delete tmpa; delete tmpb; return(dst); } |
#1072
|
||||
|
||||
Gracias! pero me refería más que nada a lo qué codificas. Es el XML sin firmar y luego lo firmas?
|
#1073
|
|||
|
|||
Cita:
java -jar c:\amis\exes\crc8.jar -a crc8 -q "txt:CODIGO_TBAI" -F #CHECKSUM >archivo_destino Si te interesa te paso el programa |
#1074
|
|||
|
|||
Cita:
Saludos |
#1075
|
|||
|
|||
Cita:
Me interesa porque he estado mirando la otra opción del amigo neftali y me da la sensación de que no puedo pasarle el código por parámetro sino que se me para en cada uno de ellos para pedirme y darme el resultado, lo cual no me es muy práctico porque en mi proceso normal una empresa puede imprimir de una tacada 300 facturas seguidas y necesito buscar algo más como lo que me dices tú. |
#1076
|
|||
|
|||
Cita:
|
#1077
|
|||
|
|||
Crc8
Alguna función para calcular el CRC8 para VB6?
Gracias |
#1078
|
|||
|
|||
#1079
|
|||
|
|||
Sí. Si lo firmas y después lo codificas puede cambiar la firma.
|
#1080
|
|||
|
|||
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice | newtron | Internet | 3587 | 20-08-2024 14:11:07 |
Como utilizar la ayuda del nuevo Sistema Operativo | gluglu | Humor | 3 | 24-09-2007 09:39:05 |
Aplicacion Agencia De Viajes | ArdiIIa | Varios | 9 | 20-01-2007 16:49:53 |
El Vasco Aguirre | Al González | La Taberna | 5 | 26-05-2006 09:22:28 |
Microsoft ha lanzado su nuevo sistema operativo | DarkByte | Humor | 0 | 25-01-2004 09:21:14 |
|