XmlDsigEnvelopedSignatureTransform 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
XmlDsigEnvelopedSignatureTransform 클래스의 새 인스턴스를 초기화합니다.
오버로드
XmlDsigEnvelopedSignatureTransform() |
XmlDsigEnvelopedSignatureTransform 클래스의 새 인스턴스를 초기화합니다. |
XmlDsigEnvelopedSignatureTransform(Boolean) |
지정된 경우 설명이 있는 XmlDsigEnvelopedSignatureTransform 클래스의 새 인스턴스를 초기화합니다. |
XmlDsigEnvelopedSignatureTransform()
XmlDsigEnvelopedSignatureTransform 클래스의 새 인스턴스를 초기화합니다.
public:
XmlDsigEnvelopedSignatureTransform();
public XmlDsigEnvelopedSignatureTransform ();
Public Sub New ()
예제
다음 코드 예제에서는 멤버를 사용 하는 방법에 설명 합니다 XmlDsigEnvelopedSignatureTransform 클래스입니다.
// Sign an XML file and save the signature in a new file.
void SignXmlFile( String^ FileName, String^ SignedFileName, RSA^ Key )
{
// Create a new XML document.
XmlDocument^ doc = gcnew XmlDocument;
// Format the document to ignore white spaces.
doc->PreserveWhitespace = false;
// Load the passed XML file using its name.
doc->Load( gcnew XmlTextReader( FileName ) );
// Create a SignedXml object.
SignedXml^ signedXml = gcnew SignedXml( doc );
// Add the key to the SignedXml document.
signedXml->SigningKey = Key;
// Create a reference to be signed.
Reference^ reference = gcnew Reference;
reference->Uri = "";
// Add an enveloped transformation to the reference.
XmlDsigEnvelopedSignatureTransform^ env = gcnew XmlDsigEnvelopedSignatureTransform;
reference->AddTransform( env );
// Add the reference to the SignedXml object.
signedXml->AddReference( reference );
// Add an RSAKeyValue KeyInfo (optional; helps recipient find key to validate).
KeyInfo^ keyInfo = gcnew KeyInfo;
keyInfo->AddClause( gcnew RSAKeyValue( safe_cast<RSA^>(Key) ) );
signedXml->KeyInfo = keyInfo;
// Compute the signature.
signedXml->ComputeSignature();
// Get the XML representation of the signature and save
// it to an XmlElement object.
XmlElement^ xmlDigitalSignature = signedXml->GetXml();
// Append the element to the XML document.
doc->DocumentElement->AppendChild( doc->ImportNode( xmlDigitalSignature, true ) );
if ( (doc->FirstChild)->GetType() == XmlDeclaration::typeid )
{
doc->RemoveChild( doc->FirstChild );
}
// Save the signed XML document to a file specified
// using the passed string.
XmlTextWriter^ xmltw = gcnew XmlTextWriter( SignedFileName,gcnew UTF8Encoding( false ) );
doc->WriteTo( xmltw );
xmltw->Close();
}
// Sign an XML file and save the signature in a new file.
public static void SignXmlFile(string FileName, string SignedFileName, RSA Key)
{
// Create a new XML document.
XmlDocument doc = new XmlDocument();
// Format the document to ignore white spaces.
doc.PreserveWhitespace = false;
// Load the passed XML file using it's name.
doc.Load(new XmlTextReader(FileName));
// Create a SignedXml object.
SignedXml signedXml = new SignedXml(doc);
// Add the key to the SignedXml document.
signedXml.SigningKey = Key;
// Create a reference to be signed.
Reference reference = new Reference();
reference.Uri = "";
// Add an enveloped transformation to the reference.
XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform();
reference.AddTransform(env);
// Add the reference to the SignedXml object.
signedXml.AddReference(reference);
// Add an RSAKeyValue KeyInfo (optional; helps recipient find key to validate).
KeyInfo keyInfo = new KeyInfo();
keyInfo.AddClause(new RSAKeyValue((RSA)Key));
signedXml.KeyInfo = keyInfo;
// Compute the signature.
signedXml.ComputeSignature();
// Get the XML representation of the signature and save
// it to an XmlElement object.
XmlElement xmlDigitalSignature = signedXml.GetXml();
// Append the element to the XML document.
doc.DocumentElement.AppendChild(doc.ImportNode(xmlDigitalSignature, true));
if (doc.FirstChild is XmlDeclaration)
{
doc.RemoveChild(doc.FirstChild);
}
// Save the signed XML document to a file specified
// using the passed string.
XmlTextWriter xmltw = new XmlTextWriter(SignedFileName, new UTF8Encoding(false));
doc.WriteTo(xmltw);
xmltw.Close();
}
' Sign an XML file and save the signature in a new file.
Public Shared Sub SignXmlFile(FileName As String, SignedFileName As String, Key As RSA)
' Create a new XML document.
Dim doc As New XmlDocument()
' Format the document to ignore white spaces.
doc.PreserveWhitespace = False
' Load the passed XML file using it's name.
doc.Load(New XmlTextReader(FileName))
' Create a SignedXml object.
Dim signedXml As New SignedXml(doc)
' Add the key to the SignedXml document.
signedXml.SigningKey = Key
' Create a reference to be signed.
Dim reference As New Reference()
reference.Uri = ""
' Add an enveloped transformation to the reference.
Dim env As New XmlDsigEnvelopedSignatureTransform()
reference.AddTransform(env)
' Add the reference to the SignedXml object.
signedXml.AddReference(reference)
' Add an RSAKeyValue KeyInfo (optional; helps recipient find key to validate).
Dim keyInfo As New KeyInfo()
keyInfo.AddClause(New RSAKeyValue(CType(Key, RSA)))
signedXml.KeyInfo = keyInfo
' Compute the signature.
signedXml.ComputeSignature()
' Get the XML representation of the signature and save
' it to an XmlElement object.
Dim xmlDigitalSignature As XmlElement = signedXml.GetXml()
' Append the element to the XML document.
doc.DocumentElement.AppendChild(doc.ImportNode(xmlDigitalSignature, True))
If TypeOf doc.FirstChild Is XmlDeclaration Then
doc.RemoveChild(doc.FirstChild)
End If
' Save the signed XML document to a file specified
' using the passed string.
Dim xmltw As New XmlTextWriter(SignedFileName, New UTF8Encoding(False))
doc.WriteTo(xmltw)
xmltw.Close()
End Sub
적용 대상
XmlDsigEnvelopedSignatureTransform(Boolean)
지정된 경우 설명이 있는 XmlDsigEnvelopedSignatureTransform 클래스의 새 인스턴스를 초기화합니다.
public:
XmlDsigEnvelopedSignatureTransform(bool includeComments);
public XmlDsigEnvelopedSignatureTransform (bool includeComments);
new System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransform : bool -> System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransform
Public Sub New (includeComments As Boolean)
매개 변수
- includeComments
- Boolean
설명을 포함하려면 true
이고, 그렇지 않으면 false
입니다.
예제
다음 코드 예제에서는 주석을 포함 하는 값 true
으로 Boolean 생성자를 사용 XmlDsigEnvelopedSignatureTransform 하는 방법을 보여 줍니다. 이 코드 예제는에 대해 제공 된 큰 예제의 일부는 XmlDsigEnvelopedSignatureTransform 클래스입니다.
bool IncludeComments = true;
// This transform is created for demonstration purposes.
XmlDsigEnvelopedSignatureTransform^ secondTransform =
gcnew XmlDsigEnvelopedSignatureTransform(IncludeComments);
bool IncludeComments = true;
// This transform is created for demonstration purposes.
XmlDsigEnvelopedSignatureTransform secondTransform =
new XmlDsigEnvelopedSignatureTransform(IncludeComments);
Dim IncludeComments As Boolean = True
' This transform is created for demonstration purposes.
Dim secondTransform As _
New XmlDsigEnvelopedSignatureTransform(IncludeComments)