Partager via


DSAKeyValue Constructeurs

Définition

Initialise une nouvelle instance de la classe DSAKeyValue.

Surcharges

DSAKeyValue()

Initialise une nouvelle instance de la classe DSAKeyValue avec une nouvelle clé publique DSA générée de manière aléatoire.

DSAKeyValue(DSA)

Initialise une nouvelle instance de la classe DSAKeyValue avec la clé publique DSA spécifiée.

DSAKeyValue()

Source:
DSAKeyValue.cs
Source:
DSAKeyValue.cs
Source:
DSAKeyValue.cs
Source:
DSAKeyValue.cs
Source:
DSAKeyValue.cs

Initialise une nouvelle instance de la classe DSAKeyValue avec une nouvelle clé publique DSA générée de manière aléatoire.

public:
 DSAKeyValue();
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public DSAKeyValue ();
public DSAKeyValue ();
Public Sub New ()
Attributs

Remarques

Lors de la création d’une DSA clé, ce constructeur utilise l’implémentation par défaut de DSA telle que définie par la CryptoConfig classe .

S’applique à

DSAKeyValue(DSA)

Source:
DSAKeyValue.cs
Source:
DSAKeyValue.cs
Source:
DSAKeyValue.cs
Source:
DSAKeyValue.cs
Source:
DSAKeyValue.cs

Initialise une nouvelle instance de la classe DSAKeyValue avec la clé publique DSA spécifiée.

public:
 DSAKeyValue(System::Security::Cryptography::DSA ^ key);
public DSAKeyValue (System.Security.Cryptography.DSA key);
new System.Security.Cryptography.Xml.DSAKeyValue : System.Security.Cryptography.DSA -> System.Security.Cryptography.Xml.DSAKeyValue
Public Sub New (key As DSA)

Paramètres

key
DSA

Instance d'une implémentation de la classe DSA qui contient la clé publique.

Exemples

L’exemple de code suivant montre comment utiliser la classe dans le DSAKeyValue chiffrement XML.

// Sign an XML file and save the signature in a new file.
void SignDetachedResource( String^ URIString, String^ XmlSigFileName, DSA^ DSAKey )
{
   
   // Create a SignedXml Object*.
   SignedXml^ signedXml = gcnew SignedXml;
   
   // Assign the DSA key to the SignedXml object.
   signedXml->SigningKey = DSAKey;
   
   // Create a reference to be signed.
   Reference^ reference = gcnew Reference;
   
   // Add the passed URI to the reference object.
   reference->Uri = URIString;
   
   // Add the reference to the SignedXml object.
   signedXml->AddReference( reference );
   
   // Add a DSAKeyValue to the KeyInfo (optional; helps recipient find key to validate).
   KeyInfo^ keyInfo = gcnew KeyInfo;
   keyInfo->AddClause( gcnew DSAKeyValue( safe_cast<DSA^>(DSAKey) ) );
   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();
   
   // Save the signed XML document to a file specified
   // using the passed string.
   XmlTextWriter^ xmltw = gcnew XmlTextWriter( XmlSigFileName,gcnew UTF8Encoding( false ) );
   xmlDigitalSignature->WriteTo( xmltw );
   xmltw->Close();
}
// Sign an XML file and save the signature in a new file.
public static void SignDetachedResource(string URIString, string XmlSigFileName, DSA DSAKey)
{
    // Create a SignedXml object.
    SignedXml signedXml = new SignedXml();

    // Assign the DSA key to the SignedXml object.
    signedXml.SigningKey = DSAKey;

    // Create a reference to be signed.
    Reference reference = new Reference();

    // Add the passed URI to the reference object.
    reference.Uri = URIString;
    
    // Add the reference to the SignedXml object.
    signedXml.AddReference(reference);

    // Add a DSAKeyValue to the KeyInfo (optional; helps recipient find key to validate).
    KeyInfo keyInfo = new KeyInfo();
    keyInfo.AddClause(new DSAKeyValue((DSA)DSAKey));	
    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();

    // Save the signed XML document to a file specified
    // using the passed string.
    XmlTextWriter xmltw = new XmlTextWriter(XmlSigFileName, new UTF8Encoding(false));
    xmlDigitalSignature.WriteTo(xmltw);
    xmltw.Close();
}
' Sign an XML file and save the signature in a new file.
Public Shared Sub SignDetachedResource(URIString As String, XmlSigFileName As String, DSAKey As DSA)
   ' Create a SignedXml object.
   Dim signedXml As New SignedXml()
   
   ' Assign the DSA key to the SignedXml object.
   signedXml.SigningKey = DSAKey
   
   ' Create a reference to be signed.
   Dim reference As New Reference()
   
   ' Add the passed URI to the reference object.
   reference.Uri = URIString
   
   ' Add the reference to the SignedXml object.
   signedXml.AddReference(reference)
   
   ' Add a DSAKeyValue to the KeyInfo (optional; helps recipient find key to validate).
   Dim keyInfo As New KeyInfo()
   keyInfo.AddClause(New DSAKeyValue(CType(DSAKey, DSA)))
   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()
   
   ' Save the signed XML document to a file specified
   ' using the passed string.
   Dim xmltw As New XmlTextWriter(XmlSigFileName, New UTF8Encoding(False))
   xmlDigitalSignature.WriteTo(xmltw)
   xmltw.Close()
End Sub
// Sign an XML file and save the signature in a new file.
void SignXmlFile( String^ FileName, String^ SignedFileName, DSA^ DSAKey )
{
   
   // 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 DSA key to the SignedXml document. 
   signedXml->SigningKey = DSAKey;
   
   // Create a reference to be signed.
   Reference^ reference = gcnew Reference;
   reference->Uri = "";
   
   // Add a transformation to the reference.
   Transform^ trns = gcnew XmlDsigC14NTransform;
   reference->AddTransform( trns );
   
   // 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 a DSAKeyValue to the KeyInfo (optional; helps recipient find key to validate).
   KeyInfo^ keyInfo = gcnew KeyInfo;
   keyInfo->AddClause( gcnew DSAKeyValue( safe_cast<DSA^>(DSAKey) ) );
   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, DSA DSAKey)
{
    // 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 DSA key to the SignedXml document. 
    signedXml.SigningKey = DSAKey;

    // Create a reference to be signed.
    Reference reference = new Reference();
    reference.Uri = "";

    // Add a transformation to the reference.
    Transform trns = new XmlDsigC14NTransform();
    reference.AddTransform(trns);

    // 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 a DSAKeyValue to the KeyInfo (optional; helps recipient find key to validate).
    KeyInfo keyInfo = new KeyInfo();
    keyInfo.AddClause(new DSAKeyValue((DSA)DSAKey));
    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, DSAKey As DSA)
   ' 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 DSA key to the SignedXml document. 
   signedXml.SigningKey = DSAKey
   
   ' Create a reference to be signed.
   Dim reference As New Reference()
   reference.Uri = ""
   
   ' Add a transformation to the reference.
   Dim trns = New XmlDsigC14NTransform()
   reference.AddTransform(trns)
   
   ' 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 a DSAKeyValue to the KeyInfo (optional; helps recipient find key to validate).
   Dim keyInfo As New KeyInfo()
   keyInfo.AddClause(New DSAKeyValue(CType(DSAKey, DSA)))
   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

S’applique à