Sdílet prostřednictvím


CipherData Třída

Definice

<CipherData> Představuje prvek v šifrování XML. Tuto třídu nelze zdě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í <EncryptedData> elementu, který obsahuje <CipherData> element, a pak 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> prvek v šifrování XML. Jedná se o povinný prvek, který poskytuje šifrovaná data. Musí obsahovat šifrovaná data jako text s kódováním base64 elementu <CipherValue> nebo poskytnout odkaz na externí umístění obsahující šifrovaná data pomocí elementu <CipherReference> .

V mnoha případech nemusíte přímo vytvářet novou instanci CipherData třídy. Třídy EncryptedXmla , EncryptedDatavytvářejí EncryptedKey instance za vás.

Poznámka:

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

Konstruktory

Name Description
CipherData()

Inicializuje novou instanci CipherData třídy.

CipherData(Byte[])

Inicializuje novou instanci CipherData třídy pomocí bajtového pole jako CipherValue hodnota.

CipherData(CipherReference)

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

Vlastnosti

Name Description
CipherReference

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

CipherValue

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

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Získá Type aktuální instance.

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

Získá hodnoty XML pro CipherData objekt.

LoadXml(XmlElement)

Načte data XML z objektu XmlElementCipherData .

MemberwiseClone()

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

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

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

(Zděděno od Object)

Platí pro