Sí, el documento está correctamente codificado en UTF8 antes de codificarlo en Base64, pero al visualizarlo en el applet antes de firmar esos dos caracteres se muestran iguales y cuando recibo el xml firmado esos caracteres me llegan iguales y distintos al original.
He estado buscando información sobre el tema y he encontrado lo siguiente en http://czyborra.com/utf/ que no sé si os será de utilidad: Latin1 incompatibility While ISO-8859-1 (the widespread Latin1 that is HTML's historical default charset) is a code subset of Unicode, ISO-8859-1's 8bit encoding scheme is no code subset of UTF-8. Latin1 letters look quite different when transformed into UTF-8. Non-ASCII characters in UTF-8 output look illegible on Latin-1 terminals. The many existing and unlabeled Latin1 texts are no legal UTF-8 input. Contrary to UTF-8, <http://czyborra.com/utf/#SCSU#SCSU> SCSU, <http://czyborra.com/utf/#JAVA#JAVA> JAVA and <http://czyborra.com/utf/#HTML#HTML> HTML allow Latin1 text to pass through transparently without being limited to Latin1. Latin1 UTF-1 UTF-8 UTF-7,5 UTF-7 JAVA HTML Á Á à £Á +AME- \u00c1 Á É É Ã‰ £É +AMk- \u00c9 É Í Í Ã £Í +AM0- \u00cd Í Ó Ó Ã“ £Ó +ANM- \u00d3 Ó Ú Ú Ãš £Ú +ANo- \u00da Ú Como se puede ver en la tabla, la Á y la Í se muestran como à que es lo que el applet muestra antes de firmar. _____ De: [email protected] [mailto:[email protected]] En nombre de Ricardo Borillo Enviado el: jueves, 30 de septiembre de 2010 19:30 Para: Llista de correu per al CryptoApplet Asunto: Re: [CryptoApplet]Códificación para firmar FACTURAE Hola, Primero puedes probar a asegurarte de que el documento de entrada está realmente en utf-8 antes de que se codifique en base64... hay veces en que en el xml se puede leer la cadena utf-8 en la cabecera y el documento no está realmente bien codificado en ese encoding... El 29/09/2010 14:22, "Ruben Platero" <[email protected]> escribió: > Hola, > > > > Estoy firmando un XML con codificación UTF8 y formato FACTURAE 3.1 utilizando > CryptoApplet en una página web. > > Tengo configurado la codificación de entrada y de salida en BASE64: > > setInputDataEncoding("BASE64"); > > setOutputDataEncoding("BASE64"); > > > > El problema llega cuando el XML contiene los caracteres ‘Á’, ‘Í’ ya que al > visualizar el contenido que se va a firmar, ambos caracteres se ven como Ã□ y > al volver a decodificar el resultado obtenido del proceso de firma, esos dos > caracteres ya no tienen una codificación UTF8 correspondiente, por lo que la > firma no puede ser validada. > > El resto de vocales con acentos, tanto minúsculas como mayúsculas se > codifican correctamente. > > Me gustaría saber si puedo solucionar el problema de alguna forma. > > > > Gracias. >
_______________________________________________ CryptoApplet mailing list [email protected] http://llistes.uji.es/mailman/listinfo/cryptoapplet
