CipherReference Kelas

Definisi

<CipherReference> Mewakili elemen dalam enkripsi XML. Kelas ini tidak dapat diwariskan.

public sealed class CipherReference : System.Security.Cryptography.Xml.EncryptedReference
Warisan
CipherReference

Contoh

Contoh kode berikut membuat instans baru .CipherReference

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

/// This sample used the EncryptedData class to create an encrypted data element
/// and write it to an XML file. It demonstrates the use of CipherReference.
namespace EncryptedDataSample
{
    class Example
    {
        [STAThread]
        static void Main(string[] args)
        {
            //Create a URI string.
            String uri = "http://www.woodgrovebank.com/document.xml";
            // Create a Base64 transform. The input content retrieved from the
            // URI should be Base64-decoded before other processing.
            Transform base64 = new XmlDsigBase64Transform();
            //Create a transform chain and add the transform to it.
            TransformChain tc = new TransformChain();
            tc.Add(base64);
            //Create <CipherReference> information.
            CipherReference reference = new CipherReference(uri, tc);

            // Create a new CipherData object using the CipherReference information.
            // Note that you cannot assign both a CipherReference and a CipherValue
            // to a CipherData object.
            CipherData cd = new CipherData(reference);

            // 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.
            try
            {
                string path = @"c:\test\MyTest.xml";

                File.WriteAllText(path, ed.GetXml().OuterXml);
            }
            catch (IOException e)
            {
                Console.WriteLine("File IO error. {0}", e);
            }
        }
    }
}

Keterangan

Kelas ini mewakili <CipherReference> elemen dalam enkripsi XML. Ini mengidentifikasi sumber yang, ketika diproses, menghasilkan data terenkripsi.

Data terenkripsi aktual yang <CipherReference> direferensikan oleh diperoleh oleh proses berikut. Properti <CipherReference> URI berisi Pengidentifikasi Sumber Daya Seragam (URI) yang didereferensikan. <CipherReference> Jika elemen juga berisi rantai transformasi, data yang dihasilkan dari dereferensi URI diubah sebagaimana ditentukan untuk menghasilkan data terenkripsi. Misalnya, jika data terenkripsi dikodekan base64 dalam dokumen XML, transformasi akan menentukan ekspresi JalurX diikuti dengan pendekodean base64 sehingga data terenkripsi dapat diekstrak.

Sintaks URI dan transformasi mirip dengan tanda tangan digital XML. Namun, dalam tanda tangan digital XML, pemrosesan pembuatan dan validasi dimulai dengan data sumber yang sama dan melakukan transformasi tersebut dalam urutan yang sama. Dalam enkripsi XML, aplikasi dekripsi hanya memiliki data terenkripsi dan transformasi yang ditentukan. Transformasi dijumlahkan dalam urutan yang diperlukan untuk mendapatkan data terenkripsi.

Catatan Secara default, Anda tidak dapat mendereferensikan referensi cipher dari dokumen dengan sumber yang tidak diketahui, seperti file dari situs Web, karena DocumentEvidence properti null. Misalnya, ketika Anda mencoba mendekripsi file yang berisi elemen yang mereferensikan <CipherReference> file di Web, SecurityException dilemparkan, bahkan jika permintaan dibuat oleh rakitan yang sepenuhnya tepercaya.

Jika Anda yakin dokumen yang Anda dekripsi dapat dipercaya, Anda dapat mengubah perilaku ini untuk aplikasi yang sepenuhnya tepercaya dengan menggunakan kode berikut:

Evidence ev = new Evidence();  
ev.AddHost (new Zone(SecurityZone.MyComputer));  
EncryptedXml exml = new EncryptedXml(doc, ev);  

Konstruktor

CipherReference()

Menginisialisasi instans baru kelas CipherReference.

CipherReference(String)

Menginisialisasi instans CipherReference baru kelas menggunakan Pengidentifikasi Sumber Daya Seragam (URI) yang ditentukan.

CipherReference(String, TransformChain)

Menginisialisasi instans CipherReference baru kelas menggunakan Pengidentifikasi Sumber Daya Seragam (URI) yang ditentukan dan mengubah informasi rantai.

Properti

CacheValid

Mendapatkan nilai yang menunjukkan apakah cache valid.

(Diperoleh dari EncryptedReference)
ReferenceType

Mendapatkan atau mengatur jenis referensi.

(Diperoleh dari EncryptedReference)
TransformChain

Mendapatkan atau mengatur rantai EncryptedReference transformasi objek.

(Diperoleh dari EncryptedReference)
Uri

Mendapatkan atau mengatur Pengidentifikasi Sumber Daya Seragam (URI) objek EncryptedReference .

(Diperoleh dari EncryptedReference)

Metode

AddTransform(Transform)

Transform Menambahkan objek ke rantai EncryptedReference transformasi objek saat ini.

(Diperoleh dari EncryptedReference)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
GetXml()

Mengembalikan representasi XML objek CipherReference .

LoadXml(XmlElement)

Memuat informasi XML ke <CipherReference> dalam elemen dalam enkripsi XML.

MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Produk Versi
.NET 6, 7, 8, 9
.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
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9