Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2008, 05:49
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
¿ Esta bien esta firma digital ?

Buenos días foreros !!


A continuación os muestro una firma que he realizado y luego les comento lo que creo que está mal, y que me digan como debería ser:

Código:
- <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
- <SignedInfo>
  <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> 
  <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> 
- <Reference URI="#Documento">
  <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
  <DigestValue>CV9fX4hz2c3PGQju+G3bsM94Jc4=</DigestValue> 
  </Reference>
  </SignedInfo>
  <SignatureValue>bbIDwx3BzVg4J1H62eecyjeUWt5kF3+e4UH10LyD0lU/iPIwbCGHf0+SC9Kk470tLGSvlsBpw+6TO5Wku0OxdZM6UTTzianCTbHljPOuht6v90HUl6ZDS+BlkqAeJStNJa41ziWJHw2L5mzRC2hFZkWnmPVOf7kdYuAuTZ8IPuk=</SignatureValue> 
- <KeyInfo>
- <KeyValue>
- <RSAKeyValue>
  <Modulus>7T84wVxJgzVPBllgCNndCUjxSUVk9GfvoshfuY7+NdUbm5FgUjo/5VHVJhoFr2uMMtzDMyoWjcMNSKhGjzrNoFLbUk+AU4MKX6rqS+3E+amaUBUSwb4TSI5v3xBtJv9asN2QuWYk2HkDcYbI9XtPSz4/pSTBcRajVoWmQEeikZ0=</Modulus> 
  <Exponent>AQAB</Exponent> 
  </RSAKeyValue>
  </KeyValue>
  </KeyInfo>
- <Object Id="Documento">
- <InformacionDocumento xmlns="">
  <nombre>PAGOS.txt</nombre> 
  <contenido>UDA4MDMwMDAwMTI1DQoNClAwODAzMDAwMDEyNw0KDQoNCmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9jbGljay9oZWxsb3NlY3VyZXdvcmxkL2RlZmF1bHQubXNweA==</contenido> 
  </InformacionDocumento>
  </Object>
  </Signature>

Lo que yo he firmado es lo siguiente:

Código:
<InformacionDocumento>
   <nombre>PAGOS.txt</nombre>
   <contenido>UDA4MDMwMDAwMTI1DQoNClAwODAzMDAwMDEyNw0KDQoNCmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9jbGljay9oZWxsb3NlY3VyZXdvcmxkL2RlZmF1bHQubXNweA==</contenido> 
</InformacionDocumento>

En el Tag <contenido> estoy metiendo el contenido del fichero en Base64. Eso creo que esta mal, ya que si es un PDF, el XML de la firma pesa bastante (En una prueba que hice 22MB).

Me surge una duda


1-. Junto con la firma, quiero mandar el contenido del fichero para que al ver que este firmado, se pueda ver el contenido del mismo. ¿Debo mantenerlo en Base64 o hay que pasarlo a otro estandar más comprimido?, ¿O usando la llave publica que mando, se puede descifrar el SignatureValue evitandome asi tener que mandar el contenido propiamente dicho?


En fin, espero puedan ayudarme, desde ya, muchas gracias.
__________________
Charlie.