Foros del Web » Programación para mayores de 30 ;) » .NET »

Iniciandome en firmas digitales !!

Estas en el tema de Iniciandome en firmas digitales !! en el foro de .NET en Foros del Web. Buenas tardes foreros !!! Bueno, estoy empezando a estudiar el tema de las firmas y he mirado un ejemplo qu está bastante bien, pero tengo ...
  #1 (permalink)  
Antiguo 17/03/2008, 06:40
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Iniciandome en firmas digitales !!

Buenas tardes foreros !!!

Bueno, estoy empezando a estudiar el tema de las firmas y he mirado un ejemplo qu está bastante bien, pero tengo dudas, por lo que espero qeu alguien experto en la materia pueda solucionarmelas, jejeje.

Bien el ejemplo se basa en firmar digitalmente el siguiente fichero XML:
Código:
<CreditCardInfo>
   <CCNumber>12345678</CCNumber>
   <Amount>100</Amount>
   <FirstName>Sitaraman </FirstName>
    <LastName>Lakshminarayanan </LastName >
     <Address1> 100 Robinson Avenue </Address1>
     <City> Philadelphia </City>
      <Zip>12345</Zip>
</CreditCardInfo>

Por consiguiente, se genera el siguiente XML con la firma:
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#dsa-sha1" /> 
- <Reference URI="#TarjetaCredito">
  <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
  <DigestValue>Rtn1NDt4yXemDyjg0mXJAeEAfYA=</DigestValue> 
  </Reference>
  </SignedInfo>
  <SignatureValue>GMzAtGW4PKZZE3/USBGp+ckrRAk39dR02DFMY67XVSzeUiAF2LhsEg==</SignatureValue> 
- <Object Id="TarjetaCredito">
- <CreditCardInfo xmlns="">
  <CCNumber>12345678</CCNumber> 
  <Amount>100</Amount> 
  <FirstName>Sitaraman</FirstName> 
  <LastName>Lakshminarayanan</LastName> 
  <Address1>100 Robinson Avenue</Address1> 
  <City>Philadelphia</City> 
  <Zip>12345</Zip> 
  </CreditCardInfo>
  </Object>
  </Signature>


Bueno, preguntas:

El <DigestValue> entiendo que es el MD5 de los datos que firmo. ¿Correcto?
El <Object> entiendo que es simplemente para mostrar visualmente los datos que se han firmado. ¿Correcto?

Si las dos son correctas, supongamos que quiero firmar un fichero .PDF, ¿Bastaría con mostrar el <DigestValue>? Es decir, no tener que poner en Base64 todo el contenido del fichero, ya que sería un documento XML muy pesado.

Es decir, seria válido algo como:
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#dsa-sha1" /> 
- <Reference URI="#TarjetaCredito">
  <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
  <DigestValue>Rtn1NDt4yXemDyjg0mXJAeEAfYA=</DigestValue> 
  </Reference>
  </SignedInfo>
  <SignatureValue>GMzAtGW4PKZZE3/USBGp+ckrRAk39dR02DFMY67XVSzeUiAF2LhsEg==</SignatureValue> 
</Signature>
En fin, espero pueda ponerme un poco al día con todo esto, jejeje.

Saludos.
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:08.