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  &#193;
  É        É      É      £É      +AMk-   \u00c9  &#201;
  Í        Í      Í      £Í      +AM0-   \u00cd  &#205;
  Ó        Ó      Ó      £Ó      +ANM-   \u00d3  &#211;
  Ú        Ú      Ú      £Ú      +ANo-   \u00da  &#218;
 
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

Responder a