Desde a sua normalização pelo W3C, a linguagem XML tem vindo a ser adoptada por um número crescente de produtores de software como formato base para os documentos utilizados pelas aplicações que desenvolvem. O crescendo de utilização de documentos neste formato revelou o interesse em definir mecanismos que lhes permitissem aportar as características de segurança (origem, não-repúdio e integridade) adequadas a cenários de utilização mais exigentes. Para colmatar essa lacuna, o W3C definiu posteriormente a norma XMLDSIG. Neste artigo vamos-nos debruçar essencialmente no desenvolvimento em C# de uma pequena API para assinar digitalmente documentos XML.
Introdução e Enquadramento
De acordo com o RFC2828 uma assinatura digital define-se como sendo um valor calculado com um algoritmo criptográfico e anexado ao objecto de dados de tal forma que se possa usar essa assinatura para verificar a autenticidade e integridade dos dados.