CipherData Constructors
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Initializes a new instance of the CipherData class.
Overloads
CipherData() |
Initializes a new instance of the CipherData class. |
CipherData(Byte[]) |
Initializes a new instance of the CipherData class using a byte array as the CipherValue value. |
CipherData(CipherReference) |
Initializes a new instance of the CipherData class using a CipherReference object. |
CipherData()
- Source:
- CipherData.cs
- Source:
- CipherData.cs
Initializes a new instance of the CipherData class.
public:
CipherData();
public CipherData ();
Public Sub New ()
Examples
The following code example shows how to create a new instance of the CipherData class. The entire sample can be found in the CipherData class topic.
// 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) {}
Remarks
This constructor creates a CipherData object that represents the <CipherData>
element in XML encryption. The <CipherData>
element is a required element in XML encryption.
Applies to
CipherData(Byte[])
- Source:
- CipherData.cs
- Source:
- CipherData.cs
Initializes a new instance of the CipherData class using a byte array as the CipherValue value.
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())
Parameters
- cipherValue
- Byte[]
The encrypted data to use for the <CipherValue>
element.
Exceptions
The cipherValue
parameter is null
.
The CipherValue property has already been set.
Examples
The following code example shows how to create a new instance of the CipherData class.
// 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)
Remarks
This constructor creates a CipherData object that represents the <CipherData>
element in XML encryption. The constructor assigns the cipherValue
value to the CipherValue property as the actual encrypted data.
Note
The <CipherData>
element can have either a CipherReference or a CipherValue child element, but not both. A CryptographicException is thrown if both are assigned to a CipherData object.
Applies to
CipherData(CipherReference)
- Source:
- CipherData.cs
- Source:
- CipherData.cs
Initializes a new instance of the CipherData class using a CipherReference object.
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)
Parameters
- cipherReference
- CipherReference
The CipherReference object to use.
Exceptions
The cipherValue
parameter is null
.
The CipherValue property has already been set.
Examples
The following code example shows how to create a new instance of the CipherData class using CipherReference information.
#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
Remarks
This constructor creates a CipherData object that represents the <CipherData>
element in XML encryption and assigns the cipherReference
value to the CipherReference property. The CipherReference object represents the <CipherReference>
element, which provides the location of the encrypted data.
Note
A CipherData object can have either a CipherReference property or a CipherValue property, but not both. A CryptographicException is thrown if both are assigned to a CipherData object.