DataObject 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 DataObject 类的新实例。
重载
| 名称 | 说明 |
|---|---|
| DataObject() |
初始化 DataObject 类的新实例。 |
| DataObject(String, String, String, XmlElement) |
使用指定的标识、MIME 类型、编码和数据初始化类的新实例 DataObject 。 |
DataObject()
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
初始化 DataObject 类的新实例。
public:
DataObject();
public DataObject();
Public Sub New ()
示例
下面的代码示例演示如何生成包围 XML 签名。
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)
{
// 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.Error.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 it 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();
// Get the XML representation of the signature.
XmlElement xmlSignature = signedXml.GetXml();
Console.WriteLine(xmlSignature.OuterXml);
}
}
Imports System.IO
Imports System.Security.Cryptography
Imports System.Security.Cryptography.Xml
Imports System.Xml
_
Public Class XMLdsigsample1
Shared Sub Main(args() As [String])
' Create example data to sign.
Dim document As New XmlDocument()
Dim node As XmlNode = document.CreateNode(XmlNodeType.Element, "", "MyElement", "samples")
node.InnerText = "This is some text"
document.AppendChild(node)
Console.Error.WriteLine("Data to sign:")
Console.Error.WriteLine()
Console.Error.WriteLine(document.OuterXml)
Console.Error.WriteLine()
' Create the SignedXml message.
Dim signedXml As New SignedXml()
Dim key As RSA = RSA.Create()
signedXml.SigningKey = key
' Create a data object to hold the data to sign.
Dim dataObject As 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.
Dim reference As New Reference()
reference.Uri = "#MyObjectId"
' Add it to the message.
signedXml.AddReference(reference)
' Add a KeyInfo.
Dim keyInfo As New KeyInfo()
keyInfo.AddClause(New RSAKeyValue(key))
signedXml.KeyInfo = keyInfo
' Compute the signature.
signedXml.ComputeSignature()
' Get the XML representation of the signature.
Dim xmlSignature As XmlElement = signedXml.GetXml()
Console.WriteLine(xmlSignature.OuterXml)
End Sub
End Class
下面的代码示例演示如何检查 XML 签名。
using System;
using System.Security.Cryptography;
using System.Security.Cryptography.Xml;
using System.IO;
using System.Xml;
public class Verify {
public static void Main(String[] args)
{
Console.WriteLine("Verifying " + args[0] + "...");
// Create a SignedXml.
SignedXml signedXml = new SignedXml();
// Load the XML.
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.PreserveWhitespace = true;
xmlDocument.Load(new XmlTextReader(args[0]));
XmlNodeList nodeList = xmlDocument.GetElementsByTagName("Signature");
signedXml.LoadXml((XmlElement)nodeList[0]);
if (signedXml.CheckSignature()) {
Console.WriteLine("Signature check OK");
} else {
Console.WriteLine("Signature check FAILED");
}
}
}
Imports System.Security.Cryptography
Imports System.Security.Cryptography.Xml
Imports System.IO
Imports System.Xml
_
Public Class Verify
Public Shared Sub Main(args() As [String])
Console.WriteLine(("Verifying " + args(0) + "..."))
' Create a SignedXml.
Dim signedXml As New SignedXml()
' Load the XML.
Dim xmlDocument As New XmlDocument()
xmlDocument.PreserveWhitespace = True
xmlDocument.Load(New XmlTextReader(args(0)))
Dim nodeList As XmlNodeList = xmlDocument.GetElementsByTagName("Signature")
signedXml.LoadXml(CType(nodeList(0), XmlElement))
If signedXml.CheckSignature() Then
Console.WriteLine("Signature check OK")
Else
Console.WriteLine("Signature check FAILED")
End If
End Sub
End Class
注解
该 DataObject 类与 XML 签名一起使用。 初始化 DataObject后,可以分配 Data 和 Id 属性。
适用于
DataObject(String, String, String, XmlElement)
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
- Source:
- DataObject.cs
使用指定的标识、MIME 类型、编码和数据初始化类的新实例 DataObject 。
public:
DataObject(System::String ^ id, System::String ^ mimeType, System::String ^ encoding, System::Xml::XmlElement ^ data);
public DataObject(string id, string mimeType, string encoding, System.Xml.XmlElement data);
new System.Security.Cryptography.Xml.DataObject : string * string * string * System.Xml.XmlElement -> System.Security.Cryptography.Xml.DataObject
Public Sub New (id As String, mimeType As String, encoding As String, data As XmlElement)
参数
- id
- String
要初始化其新实例的 DataObject 标识。
- mimeType
- String
用于初始化新实例的 DataObject数据的 MIME 类型。
- encoding
- String
用于初始化新实例的数据的 DataObject编码。
- data
- XmlElement
要初始化其新实例 DataObject 的数据。
例外
参数 data 为 null.
注解
该 DataObject 类与 XML 签名一起使用。 该 id 参数引用包含要使用的数据的元素的名称。 该 data 参数引用包含参数元素的 id XML 节点列表。