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

Produkt Verze
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10