CipherData Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
<CipherData>
Reprezentuje element w szyfrowaniu XML. Klasa ta nie może być dziedziczona.
public ref class CipherData sealed
public sealed class CipherData
type CipherData = class
Public NotInheritable Class CipherData
- Dziedziczenie
-
CipherData
Przykłady
Poniższy przykład kodu używa EncryptedData klasy do utworzenia <EncryptedData>
elementu zawierającego <CipherData>
element, a następnie zapisuje kod XML w pliku XML.
#using <System.Xml.dll>
#using <System.Security.dll>
using namespace System;
using namespace System::Xml;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::Xml;
using namespace System::IO;
/// This sample used the EncryptedData class to create a EncryptedData element
/// and write it to an XML file.
int main()
{
// Create a new CipherData object.
CipherData^ cipher = gcnew CipherData();
// Assign a byte array to be the CipherValue. This is a
// byte array representing encrypted data.
cipher->CipherValue = gcnew array<Byte>(8);
// Create a new EncryptedData object.
EncryptedData^ encryptionRoot = gcnew EncryptedData();
//Add an encryption method to the object.
encryptionRoot->Id = "ED";
encryptionRoot->EncryptionMethod = gcnew EncryptionMethod(
"http://www.w3.org/2001/04/xmlenc#aes128-cbc");
encryptionRoot->CipherData = cipher;
//Add key information to the object.
KeyInfo^ keyDetails = gcnew KeyInfo();
keyDetails->AddClause(gcnew KeyInfoRetrievalMethod("#EK",
"http://www.w3.org/2001/04/xmlenc#EncryptedKey"));
encryptionRoot->KeyInfo = keyDetails;
// Create new XML document and put encrypted data into it.
XmlDocument^ doc = gcnew XmlDocument();
XmlElement^ encryptionPropertyElement =
doc->CreateElement("EncryptionProperty",
EncryptedXml::XmlEncNamespaceUrl);
EncryptionProperty^ property = gcnew EncryptionProperty(
encryptionPropertyElement);
encryptionRoot->AddProperty(property);
// Output the resulting XML information into a file.
String^ path = "test.xml";
try
{
File::WriteAllText(path, encryptionRoot->GetXml()->OuterXml);
}
catch (IOException^ ex)
{
Console::WriteLine("There was an error writing to {0}", path);
Console::WriteLine(ex->Message);
}
//Console.WriteLine(ed.GetXml().OuterXml);
}
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
Uwagi
Klasa CipherData reprezentuje <CipherData>
element w szyfrowaniu XML. Jest to wymagany element, który dostarcza zaszyfrowane dane. Musi zawierać zaszyfrowane dane jako tekst <CipherValue>
zakodowany w formacie base64 elementu lub podać odwołanie do lokalizacji zewnętrznej zawierającej zaszyfrowane dane przy użyciu <CipherReference>
elementu .
W wielu przypadkach nie trzeba bezpośrednio tworzyć nowego wystąpienia CipherData klasy. Klasy EncryptedXml, EncryptedDatai EncryptedKey tworzą dla Ciebie wystąpienia.
Uwaga
Obiekt CipherData może mieć CipherReference właściwość lub CipherValue właściwość, ale nie obie. Obiekt CryptographicException jest zgłaszany, jeśli oba są przypisane do CipherData obiektu.
Konstruktory
CipherData() |
Inicjuje nowe wystąpienie klasy CipherData. |
CipherData(Byte[]) |
Inicjuje CipherData nowe wystąpienie klasy przy użyciu tablicy bajtów jako CipherValue wartości. |
CipherData(CipherReference) |
Inicjuje CipherData nowe wystąpienie klasy przy użyciu CipherReference obiektu . |
Właściwości
CipherReference |
Pobiera lub ustawia |
CipherValue |
Pobiera lub ustawia |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
GetXml() |
Pobiera wartości XML dla CipherData obiektu. |
LoadXml(XmlElement) |
Ładuje dane XML z obiektu XmlElement do CipherData obiektu . |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |