Sdílet prostřednictvím


CipherData Třída

Definice

<CipherData> Představuje prvek v šifrování XML. Tato třída se nemůže dědit.

public ref class CipherData sealed
public sealed class CipherData
type CipherData = class
Public NotInheritable Class CipherData
Dědičnost
CipherData

Příklady

Následující příklad kódu používá EncryptedData třídu k vytvoření elementu <EncryptedData> , který obsahuje <CipherData> element, a poté zapíše XML do souboru 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

Poznámky

Třída CipherData představuje <CipherData> element v šifrování XML. Jedná se o povinný prvek, který poskytuje šifrovaná data. Musí buď obsahovat šifrovaná data jako text zakódovaný jako base64 elementu <CipherValue> , nebo poskytnout odkaz na externí umístění obsahující šifrovaná data pomocí elementu <CipherReference> .

V mnoha případech není nutné přímo vytvářet novou instanci CipherData třídy . Třídy EncryptedXml, EncryptedDataa EncryptedKey vytvoří instance za vás.

Poznámka

Objekt CipherData může mít buď CipherReference vlastnost, nebo CipherValue vlastnost, ale ne obojí. Je CryptographicException vyvolán, pokud jsou oba přiřazeny k objektu CipherData .

Konstruktory

CipherData()

Inicializuje novou instanci CipherData třídy .

CipherData(Byte[])

Inicializuje novou instanci CipherData třídy pomocí pole bajtů jako CipherValue hodnotu.

CipherData(CipherReference)

Inicializuje novou instanci CipherData třídy pomocí objektu CipherReference .

Vlastnosti

CipherReference

Získá nebo nastaví <CipherReference> element.

CipherValue

Získá nebo nastaví <CipherValue> element.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
GetXml()

Získá xml hodnoty pro CipherData objekt.

LoadXml(XmlElement)

Načte data XML z objektu XmlElement do objektu CipherData .

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro