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.XmlDsigEnvelopedSignatureTransformPublic Sub New (includeComments As Boolean)参数
- includeComments
- Boolean
如果包含注释,则为 true;否则为 false。
示例
下面的代码示例演示如何使用XmlDsigEnvelopedSignatureTransform值为 的true构造函数Boolean来包含注释。 此代码示例是为 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)