Condividi tramite


CipherData Classe

Definizione

Rappresenta l'elemento <CipherData> nella crittografia XML. Questa classe non può essere ereditata.

public ref class CipherData sealed
public sealed class CipherData
type CipherData = class
Public NotInheritable Class CipherData
Ereditarietà
CipherData

Esempio

Nell'esempio di codice seguente viene utilizzata la EncryptedData classe per creare un <EncryptedData> elemento che contiene un <CipherData> elemento e quindi scrive il codice XML in un file XML.

using System;
using System.Security.Cryptography.Xml;
using System.Xml;
using System.IO;

/// This sample used the EncryptedData class to create a EncryptedData element
/// and write it to an XML file.
namespace EncryptedDataSample
{
    class Sample1
    {
        [STAThread]
        static void Main(string[] args)
        {
            // Create a new CipherData object.
            CipherData cd = new CipherData();
            // Assign a byte array to be the CipherValue. This is a byte array representing encrypted data.
            cd.CipherValue = new byte[8];
            // Create a new EncryptedData object.
            EncryptedData ed = new EncryptedData();
            //Add an encryption method to the object.
            ed.Id = "ED";
            ed.EncryptionMethod = new EncryptionMethod("http://www.w3.org/2001/04/xmlenc#aes128-cbc");
            ed.CipherData = cd;

            //Add key information to the object.
            KeyInfo ki = new KeyInfo();
            ki.AddClause(new KeyInfoRetrievalMethod("#EK", "http://www.w3.org/2001/04/xmlenc#EncryptedKey"));
            ed.KeyInfo = ki;

            // Create new XML document and put encrypted data into it.
            XmlDocument doc = new XmlDocument();
            XmlElement encryptionPropertyElement = (XmlElement)doc.CreateElement("EncryptionProperty", EncryptedXml.XmlEncNamespaceUrl);
            EncryptionProperty ep = new EncryptionProperty(encryptionPropertyElement);
            ed.AddProperty(ep);

            // Output the resulting XML information into a file.
            string path = @"c:\test\MyTest.xml";
            File.WriteAllText(path,ed.GetXml().OuterXml);
            //Console.WriteLine(ed.GetXml().OuterXml);
        }
    }
}
Imports System.Security.Cryptography.Xml
Imports System.Xml
Imports System.IO


'/ This sample used the EncryptedData class to create a EncryptedData element
'/ and write it to an XML file.
Module EncryptedDataSample1

    Sub Main()
        ' Create a new CipherData object.
        Dim cd As New CipherData
        ' Assign a byte array to the CipherValue.
        cd.CipherValue = New Byte(7) {}
        ' Create a new EncryptedData object.
        Dim ed As New EncryptedData
        'Add an encryption method to the object.
        ed.Id = "ED"
        ed.EncryptionMethod = New EncryptionMethod("http://www.w3.org/2001/04/xmlenc#aes128-cbc")
        ed.CipherData = cd

        'Add key information to the object.
        Dim ki As New KeyInfo
        ki.AddClause(New KeyInfoRetrievalMethod("#EK", "http://www.w3.org/2001/04/xmlenc#EncryptedKey"))
        ed.KeyInfo = ki

        ' Create new XML document and put encrypted data into it.
        Dim doc As New XmlDocument
        Dim encryptionPropertyElement As XmlElement = CType(doc.CreateElement("EncryptionProperty", EncryptedXml.XmlEncNamespaceUrl), XmlElement)
        Dim ep As New EncryptionProperty(encryptionPropertyElement)
        ed.AddProperty(ep)

        ' Output the resulting XML information into a file.
        Dim path As String = "c:\test\MyTest.xml"
        File.WriteAllText(path, ed.GetXml().OuterXml)
        'End Sub
    End Sub

End Module

Commenti

La CipherData classe rappresenta l'elemento <CipherData> nella crittografia XML. È un elemento obbligatorio che fornisce i dati crittografati. Deve contenere i dati crittografati come testo con codifica base64 dell'elemento <CipherValue> oppure fornire un riferimento a una posizione esterna contenente i dati crittografati usando l'elemento <CipherReference> .

In molti casi non è necessario creare direttamente una nuova istanza della CipherData classe . Le EncryptedXmlclassi , EncryptedDatae EncryptedKey creano automaticamente istanze.

Annotazioni

Un CipherData oggetto può avere una CipherReference proprietà o una CipherValue proprietà, ma non entrambe. Viene CryptographicException generata un'eccezione se entrambi vengono assegnati a un CipherData oggetto .

Costruttori

Nome Descrizione
CipherData()

Inizializza una nuova istanza della classe CipherData.

CipherData(Byte[])

Inizializza una nuova istanza della CipherData classe utilizzando una matrice di byte come CipherValue valore.

CipherData(CipherReference)

Inizializza una nuova istanza della CipherData classe utilizzando un CipherReference oggetto .

Proprietà

Nome Descrizione
CipherReference

Ottiene o imposta l'elemento <CipherReference> .

CipherValue

Ottiene o imposta l'elemento <CipherValue> .

Metodi

Nome Descrizione
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetXml()

Ottiene i valori XML per l'oggetto CipherData .

LoadXml(XmlElement)

Carica i dati XML da un XmlElement oggetto in un CipherData oggetto .

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a