DataObject Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İmzalanacak verileri tutan xml imzasının nesne öğesini temsil eder.
public ref class DataObject
public class DataObject
type DataObject = class
Public Class DataObject
- Devralma
-
DataObject
Örnekler
Aşağıdaki kod örneği, bir zarflama XML imzası oluşturmayı gösterir.
#using <System.dll>
#using <System.Xml.dll>
#using <System.Security.dll>
using namespace System;
using namespace System::IO;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::Xml;
using namespace System::Xml;
int main()
{
// Create example data to sign.
XmlDocument^ document = gcnew 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{0}\n", document->OuterXml );
// Create the SignedXml message.
SignedXml^ signedXml = gcnew SignedXml;
RSA^ key = RSA::Create();
signedXml->SigningKey = key;
// Create a data object to hold the data to sign.
DataObject^ dataObject = gcnew 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 = gcnew Reference;
reference->Uri = "#MyObjectId";
// Add it to the message.
signedXml->AddReference( reference );
// Add a KeyInfo.
KeyInfo^ keyInfo = gcnew KeyInfo;
keyInfo->AddClause( gcnew 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 );
}
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
Aşağıdaki kod örneği xml imzasını denetlemeyi gösterir.
#using <System.dll>
#using <System.Security.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::Xml;
using namespace System::IO;
using namespace System::Xml;
int main()
{
array<String^>^args = System::Environment::GetCommandLineArgs();
Console::WriteLine( "Verifying {0}...", args[ 1 ] );
// Create a SignedXml.
SignedXml^ signedXml = gcnew SignedXml;
// Load the XML.
XmlDocument^ xmlDocument = gcnew XmlDocument;
xmlDocument->PreserveWhitespace = true;
xmlDocument->Load( gcnew XmlTextReader( args[ 1 ] ) );
XmlNodeList^ nodeList = xmlDocument->GetElementsByTagName( "Signature" );
signedXml->LoadXml( safe_cast<XmlElement^>(nodeList[ 0 ]) );
if ( signedXml->CheckSignature() )
{
Console::WriteLine( "Signature check OK" );
}
else
{
Console::WriteLine( "Signature check FAILED" );
}
}
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
Açıklamalar
DataObject Bilgileri veya meta verileri doğrudan bir XML imzasında depolamak için sınıfını kullanın. Örneğin, imza oluşturma tarihini veya imzalayanın kimliğini depolayabilirsiniz. DataObject Sınıfı XML imzası kapsamında olabilir veya olmayabilir.
sınıfı, XML İmzaları için <Object>
World Wide Web Consortium (W3C) belirtimindeki öğesine karşılık gelir. W3C belirtimi hakkında daha fazla bilgi için bkz https://www.w3.org/TR/xmldsig-core/. .
Oluşturucular
DataObject() |
DataObject sınıfının yeni bir örneğini başlatır. |
DataObject(String, String, String, XmlElement) |
Belirtilen kimlik, MIME türü, kodlama ve verilerle sınıfının yeni bir örneğini DataObject başlatır. |
Özellikler
Data |
Geçerli DataObject nesnenin veri değerini alır veya ayarlar. |
Encoding |
Geçerli DataObject nesnenin kodlamasını alır veya ayarlar. |
Id |
Geçerli DataObject nesnenin kimliğini alır veya ayarlar. |
MimeType |
Geçerli DataObject nesnenin MIME türünü alır veya ayarlar. |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
GetXml() |
Nesnenin XML gösterimini DataObject döndürür. |
LoadXml(XmlElement) |
XML öğesinden bir DataObject durumu yükler. |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |