Číst v angličtině

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 sealed 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);
        }
    }
}

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