CipherData 构造函数

定义

初始化 CipherData 类的新实例。

重载

CipherData()

初始化 CipherData 类的新实例。

CipherData(Byte[])

通过使用一个字节数组作为 CipherValue 值来初始化 CipherData 类的新实例。

CipherData(CipherReference)

使用 CipherReference 对象初始化 CipherData 类的新实例。

CipherData()

Source:
CipherData.cs
Source:
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[])

Source:
CipherData.cs
Source:
CipherData.cs

通过使用一个字节数组作为 CipherValue 值来初始化 CipherData 类的新实例。

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 加密中的 元素。 构造函数将 cipherValueCipherValue 作为实际加密数据分配给 属性。

注意

元素 <CipherData> 可以具有 CipherReferenceCipherValue 子元素,但不能同时具有两者。 CryptographicException如果两者都分配给 对象CipherData,则会引发 。

适用于

CipherData(CipherReference)

Source:
CipherData.cs
Source:
CipherData.cs

使用 CipherReference 对象初始化 CipherData 类的新实例。

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,则会引发 。

适用于