Поделиться через


CipherData Конструкторы

Определение

Инициализирует новый экземпляр класса CipherData.

Перегрузки

CipherData()

Инициализирует новый экземпляр класса CipherData.

CipherData(Byte[])

Инициализирует новый экземпляр класса CipherData массивом байтов в виде значения свойства CipherValue.

CipherData(CipherReference)

Инициализирует новый экземпляр класса CipherData с помощью объекта CipherReference.

CipherData()

Исходный код:
CipherData.cs
Исходный код:
CipherData.cs

Инициализирует новый экземпляр класса CipherData.

public:
 CipherData();
public CipherData ();
Public Sub New ()

Примеры

В следующем примере кода демонстрируется создание нового экземпляра класса CipherData. Весь пример можно найти в разделе класса CipherData .

// 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 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 CipherData object.
Dim cd As New CipherData
' Assign a byte array to the CipherValue.
cd.CipherValue = New Byte(7) {}

Комментарии

Этот конструктор создает CipherData объект , представляющий <CipherData> элемент в xml-шифровании. Элемент <CipherData> является обязательным элементом в xml-шифровании.

Применяется к

CipherData(Byte[])

Исходный код:
CipherData.cs
Исходный код:
CipherData.cs

Инициализирует новый экземпляр класса CipherData массивом байтов в виде значения свойства CipherValue.

public:
 CipherData(cli::array <System::Byte> ^ cipherValue);
public CipherData (byte[] cipherValue);
new System.Security.Cryptography.Xml.CipherData : byte[] -> System.Security.Cryptography.Xml.CipherData
Public Sub New (cipherValue As Byte())

Параметры

cipherValue
Byte[]

Зашифрованные данные, используемые для элемента <CipherValue>.

Исключения

Параметр cipherValue имеет значение null.

Свойство CipherValue уже задано.

Примеры

В следующем примере кода демонстрируется создание нового экземпляра класса CipherData.

// Create a new CipherData object using a byte array to represent encrypted data.
array<Byte>^sampledata = gcnew array<Byte>(8);
CipherData ^ cd = gcnew CipherData( sampledata );
// Create a new CipherData object using a byte array to represent encrypted data.
Byte[] sampledata = new byte[8];
CipherData cd = new CipherData(sampledata);

    ' Create a new CipherData object using a byte array to represent encrypted data.
Dim sampledata(7) As Byte
    Dim cd As New CipherData(sampledata)

Комментарии

Этот конструктор создает CipherData объект , представляющий <CipherData> элемент в xml-шифровании. Конструктор присваивает cipherValue значение свойству в CipherValue качестве фактических зашифрованных данных.

Примечание

Элемент <CipherData> может иметь либо дочерний CipherReference элемент, либо дочерний CipherValue элемент, но не оба элемента. Если CryptographicException объекту CipherData назначены оба объекта, возникает исключение .

Применяется к

CipherData(CipherReference)

Исходный код:
CipherData.cs
Исходный код:
CipherData.cs

Инициализирует новый экземпляр класса CipherData с помощью объекта CipherReference.

public:
 CipherData(System::Security::Cryptography::Xml::CipherReference ^ cipherReference);
public CipherData (System.Security.Cryptography.Xml.CipherReference cipherReference);
new System.Security.Cryptography.Xml.CipherData : System.Security.Cryptography.Xml.CipherReference -> System.Security.Cryptography.Xml.CipherData
Public Sub New (cipherReference As CipherReference)

Параметры

cipherReference
CipherReference

Используемый объект CipherReference.

Исключения

Параметр cipherValue имеет значение null.

Свойство CipherValue уже задано.

Примеры

В следующем примере кода показано, как создать новый экземпляр класса с помощью CipherReference сведенийCipherData.

#using <System.Xml.dll>
#using <System.Security.dll>
#using <System.dll>

using namespace System;
using namespace System::Security::Cryptography::Xml;
using namespace System::Xml;
using namespace 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.

[STAThread]
int main()
{
   
   //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 = gcnew XmlDsigBase64Transform;
   
   //Create a transform chain and add the transform to it.
   TransformChain^ tc = gcnew TransformChain;
   tc->Add( base64 );
   
   //Create <CipherReference> information.
   CipherReference ^ reference = gcnew 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 = gcnew CipherData( reference );
   
   // Create a new EncryptedData object.
   EncryptedData^ ed = gcnew EncryptedData;
   
   //Add an encryption method to the object.
   ed->Id = "ED";
   ed->EncryptionMethod = gcnew EncryptionMethod( "http://www.w3.org/2001/04/xmlenc#aes128-cbc" );
   ed->CipherData = cd;
   
   //Add key information to the object.
   KeyInfo^ ki = gcnew KeyInfo;
   ki->AddClause( gcnew 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 = gcnew XmlDocument;
   XmlElement^ encryptionPropertyElement = dynamic_cast<XmlElement^>(doc->CreateElement( "EncryptionProperty", EncryptedXml::XmlEncNamespaceUrl ));
   EncryptionProperty ^ ep = gcnew 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 );
   }

}
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);
            }
        }
    }
}
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. It demonstrates the use of CipherReference.
Module Module1

    Sub Main()
        ' Create a URI string.
        Dim uri As String = "http://www.woodgrovebank.com/document.xml"
        ' Create a Base64 transform. The input content retrieved from the
        ' URI should be Base64-decoded before other processing.
        Dim base64 As Transform = New XmlDsigBase64Transform
        Dim tc As New TransformChain
        tc.Add(base64)
        ' Create <CipherReference> information.
        Dim reference As CipherReference = New CipherReference(uri, tc)

        ' Create a new CipherData object.
        ' Note that you cannot assign both a CipherReference and a CipherValue
        ' to a CipherData object.
        Dim cd As CipherData = New CipherData(Reference)

        ' 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 Module

Комментарии

Этот конструктор создает CipherData объект , представляющий <CipherData> элемент в XML-шифровании, и присваивает cipherReference значение свойству CipherReference . Объект CipherReference представляет <CipherReference> элемент , который предоставляет расположение зашифрованных данных.

Примечание

Объект CipherData может иметь либо свойство, CipherReference либо CipherValue свойство, но не оба свойства. Если CryptographicException объекту CipherData назначены оба объекта, возникает исключение .

Применяется к