Ler em inglês

Compartilhar via


SignedXml.AddObject(DataObject) Método

Definição

Adiciona um objeto DataObject à lista de objetos a serem assinados.

C#
public void AddObject(System.Security.Cryptography.Xml.DataObject dataObject);

Parâmetros

dataObject
DataObject

O objeto DataObject a ser adicionado à lista de objetos a serem assinados.

Exemplos

O exemplo de código a seguir calcula e a assinatura XML.

C#
using System;
using System.IO;
using System.Security.Cryptography;
using System.Security.Cryptography.Xml;
using System.Xml;

public class XMLdsigsample1 
{

    static void Main(String[] args)
    {
        try
        {
            // Create example data to sign.
            XmlDocument document = new XmlDocument();
            XmlNode node = document.CreateNode(XmlNodeType.Element, "", "MyElement", "samples");
            node.InnerText = "This is some text";
            document.AppendChild(node);
            Console.WriteLine("Data to sign:\n" + document.OuterXml + "\n");
 
            // Create the SignedXml message.
            SignedXml signedXml = new SignedXml();
            RSA key = RSA.Create();
            signedXml.SigningKey = key;
 
            // Create a data object to hold the data to sign.
            DataObject dataObject = new DataObject();
            dataObject.Data = document.ChildNodes;
            dataObject.Id = "MyObjectId";

            // Add the data object to the signature.
            signedXml.AddObject(dataObject);
 
            // Create a reference to be able to package everything into the
            // message.
            Reference reference = new Reference();
            reference.Uri = "#MyObjectId";
 
            // Add the reference to the message.
            signedXml.AddReference(reference);

            // Add a KeyInfo.
            KeyInfo keyInfo = new KeyInfo();
            keyInfo.AddClause(new RSAKeyValue(key));
            signedXml.KeyInfo = keyInfo;

            // Compute the signature.
            signedXml.ComputeSignature();

            Console.WriteLine("The data was signed.");
        }
        catch(CryptographicException e)
        {
            Console.WriteLine(e.Message);
        }
    }
}

Comentários

O AddObject método adiciona um <Object> elemento que representa um objeto a ser assinado ao <Signature> elemento de uma assinatura digital XML.

O AddObject método chama internamente o AddObject método do Signature objeto encapsulado pelo SignedXml objeto . Você também pode adicionar um DataObject objeto chamando diretamente o AddObject método da Signature propriedade .

Para obter mais informações sobre assinaturas digitais XML, consulte a especificação XMLDSIG.

Aplica-se a

Produto Versões
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10