CipherData Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
<CipherData> Представляет элемент в xml-шифровании. Этот класс не может быть унаследован.
public ref class CipherData sealed
public sealed class CipherData
type CipherData = class
Public NotInheritable Class CipherData
- Наследование
-
CipherData
Примеры
В следующем примере кода класс используется EncryptedData для создания <EncryptedData> элемента, содержащего <CipherData> элемент, а затем записывает XML-файл в 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
Комментарии
Класс CipherData представляет <CipherData> элемент в xml-шифровании. Это обязательный элемент, предоставляющий зашифрованные данные. Он должен содержать зашифрованные данные в виде текста <CipherValue> элемента в кодировке Base64 или предоставить ссылку на внешнее расположение, содержащее зашифрованные данные с помощью <CipherReference> элемента.
Во многих случаях не требуется напрямую создавать новый экземпляр CipherData класса. EncryptedDataКлассы EncryptedXmlи EncryptedKey классы создают экземпляры для вас.
Замечание
Объект CipherData может иметь либо свойство, либо CipherReferenceCipherValue свойство, но не оба. Вызывается, CryptographicException если оба назначены объекту CipherData .
Конструкторы
| Имя | Описание |
|---|---|
| CipherData() |
Инициализирует новый экземпляр класса CipherData. |
| CipherData(Byte[]) |
Инициализирует новый экземпляр CipherData класса с помощью массива байтов в качестве CipherValue значения. |
| CipherData(CipherReference) |
Инициализирует новый экземпляр CipherData класса с помощью CipherReference объекта. |
Свойства
| Имя | Описание |
|---|---|
| CipherReference |
Возвращает или задает |
| CipherValue |
Возвращает или задает |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| GetXml() |
Возвращает XML-значения для CipherData объекта. |
| LoadXml(XmlElement) |
Загружает XML-данные из XmlElementCipherData объекта в объект. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |