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

Firmar XML para la LOPD.

Estas en el tema de Firmar XML para la LOPD. en el foro de .NET en Foros del Web. Hola a todos. Antes de nada, decir que nunca he trabajado con firmas, así que soy muy novato. Necesito firmar un XML para la AESPD. ...
  #1 (permalink)  
Antiguo 27/04/2010, 02:22
Avatar de Fanathur  
Fecha de Ingreso: noviembre-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Firmar XML para la LOPD.

Hola a todos. Antes de nada, decir que nunca he trabajado con firmas, así que soy muy novato.

Necesito firmar un XML para la AESPD. Tengo el XML, lo he "firmado" con .NET, con xxxx, pero no lo hace "bien". El código lo saque de la MSDN.

Resulta que no incluye los prefijos "ds:". No me preocupa, porque luego sustituyo la cadena. (¿se debe hacer esto con un XML firmado?¿Afecta a la firma?)

El caso es que la segunda parte, que es opcional, la del KEY, no la genera, y no sé porqué.

Os dejo el código. A mi me parece que le falta algo:

Sub SignXml(ByVal Doc As XmlDocument, ByVal Key As RSA)
' Check arguments.
If Doc Is Nothing Then
Throw New ArgumentException("Doc")
End If
If Key Is Nothing Then
Throw New ArgumentException("Key")
End If
Dim signedXml As New SignedXml(Doc)
signedXml.SigningKey = Key
Dim reference As New Reference()
reference.Uri = ""
Dim env As New XmlDsigEnvelopedSignatureTransform()
reference.AddTransform(env)
signedXml.AddReference(reference)
signedXml.ComputeSignature()
Dim xmlDigitalSignature As XmlElement = signedXml.GetXml()
Doc.DocumentElement.AppendChild(Doc.ImportNode(xml DigitalSignature, True))
End Sub

Etiquetas: lopd, xml
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 13:49.