CipherData 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
XML 암호화의 <CipherData>
요소를 나타냅니다. 이 클래스는 상속될 수 없습니다.
public ref class CipherData sealed
public sealed class CipherData
type CipherData = class
Public NotInheritable Class CipherData
- 상속
-
CipherData
예제
다음 코드 예제에서는 클래스를 EncryptedData 사용 하 여 요소를 포함 <CipherData>
하는 요소를 만든 <EncryptedData>
다음 XML 파일에 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
설명
합니다 CipherData 나타내는 클래스를 <CipherData>
XML 암호화의 요소입니다. 암호화 된 데이터를 제공 하는 필수 요소입니다. 하거나 암호화 된 데이터의 base64로 인코딩된 텍스트를 포함 해야 합니다는 <CipherValue>
요소를 사용 하 여 암호화 된 데이터를 포함 하는 외부 위치에 대 한 참조를 제공 하거나는 <CipherReference>
요소입니다.
대부분의 경우 직접의 새 인스턴스를 만들 필요가 CipherData 클래스입니다. 합니다 EncryptedXml, EncryptedData, 및 EncryptedKey 클래스 인스턴스를 만들 수도 있습니다.
참고
CipherData 개체 중 하나를 가질 수는 CipherReference 속성 또는 CipherValue 속성, 하지만 둘 다. A CryptographicException 둘 다에 할당 된 경우 throw 되는 CipherData 개체입니다.
생성자
CipherData() |
CipherData 클래스의 새 인스턴스를 초기화합니다. |
CipherData(Byte[]) |
바이트 배열을 CipherData 값으로 사용하여 CipherValue 클래스의 새 인스턴스를 초기화합니다. |
CipherData(CipherReference) |
CipherData 개체를 사용하여 CipherReference 클래스의 새 인스턴스를 초기화합니다. |
속성
CipherReference |
|
CipherValue |
|
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
GetXml() |
CipherData 개체의 XML 값을 가져옵니다. |
LoadXml(XmlElement) |
XmlElement의 XML 데이터를 CipherData 개체로 로드합니다. |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
.NET