CipherReference クラス
アセンブリ: System.Security (system.security.dll 内)


このクラスは、XML 暗号化の <CipherReference> 要素を表します。このクラスは、暗号化されたデータの生成元のソースを識別します。
<CipherReference> によって参照される実際の暗号化されたデータは、次のプロセスによって取得されます。<CipherReference> URI プロパティは、逆参照される URI (Uniform Resource Identifier) を格納します。<CipherReference> 要素に変換チェーンも格納される場合、URI を逆参照した結果のデータが指定に従って変換されて、暗号化されたデータが生成されます。たとえば、暗号化されたデータが XML ドキュメント内で base64 でエンコードされている場合、変換では、暗号化されたデータを抽出するために、XPath 式に続けて base64 でのデコードを指定します。
URI および変換の構文は、XML デジタル署名の構文に似ています。ただし、XML デジタル署名では、生成プロセスと検証プロセスはどちらも同じソース データで開始され、同じ順序で変換を実行します。XML 暗号化では、復号化アプリケーションは、暗号化されたデータと指定された変換を持つだけです。これらの変換は、暗号化されたデータを取得するために必要な順序で列挙されます。
メモ 既定では、Web サイトからのファイルなどの、ソースが不明なドキュメントから暗号参照を逆参照することはできません。これは、DocumentEvidence プロパティが null だからです。たとえば、Web 上のファイルを参照する <CipherReference> 要素を含んでいるファイルを復号化しようとすると、完全に信頼されたアセンブリからその要求を出した場合であっても SecurityException がスローされます。
復号化しようとしているドキュメントを信頼できることが確実にわかっている場合は、次のコードを使用して、完全に信頼されたアプリケーションの動作を変更できます。

CipherReference の新しいインスタンスを作成するコード例を次に示します。
Imports System 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
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 Sample1 { [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); } } } }
#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 ); } }
package EncryptedDataSample; import System.*; import System.Security.Cryptography.Xml.*; import System.Xml.*; import 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. class Sample1 { /** @attribute STAThread() */ public 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.set_Id("ED"); ed.set_EncryptionMethod(new EncryptionMethod( "http://www.w3.org/2001/04/xmlenc#aes128-cbc")); ed.set_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.set_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().get_OuterXml()); } catch (IOException e) { Console.WriteLine("File IO error. {0}", e); } } //main } //Sample1

System.Security.Cryptography.Xml.EncryptedReference
System.Security.Cryptography.Xml.CipherReference


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CipherReference コンストラクタ ()
アセンブリ: System.Security (system.security.dll 内)



CipherReference の新しいインスタンスを作成するコード例を次に示します。
Imports System 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
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 Sample1 { [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); } } } }
#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 ); } }
package EncryptedDataSample; import System.*; import System.Security.Cryptography.Xml.*; import System.Xml.*; import 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. class Sample1 { /** @attribute STAThread() */ public 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.set_Id("ED"); ed.set_EncryptionMethod(new EncryptionMethod( "http://www.w3.org/2001/04/xmlenc#aes128-cbc")); ed.set_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.set_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().get_OuterXml()); } catch (IOException e) { Console.WriteLine("File IO error. {0}", e); } } //main } //Sample1

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CipherReference コンストラクタ (String)
アセンブリ: System.Security (system.security.dll 内)


このコンストラクタは、暗号化されたデータを指す URI (Uniform Resource Identifier) を使用して、CipherReference オブジェクトを作成します。このオブジェクトは、CipherData オブジェクトの参照情報を提供するために使用されます。
URI を使用して、暗号化されたデータを格納している XML ファイルを指定できます。次に例を示します。
String uri = "http://www.woodgrovebank.com/document.xml";
また、部分的な URI を使用すると、XML ドキュメントの一部だけを暗号化することを指定できます。たとえば次の XML コード例に示すように、document.xml という名前の XML ドキュメントに 2 つの MyForm 要素が含まれているとします。
<MyForm Id='Form1'>
</MyForm>
<MyForm Id='Form2'>
</MyForm>
次のような URI を使用する場合は、Form2 の内容だけを暗号化できます。
String uri = "http://www.woodgrovebank.com/document.xml#Form2";

CipherReference の新しいインスタンスを作成するコード例を次に示します。
Imports System 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
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 Sample1 { [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); } } } }
#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 ); } }
package EncryptedDataSample; import System.*; import System.Security.Cryptography.Xml.*; import System.Xml.*; import 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. class Sample1 { /** @attribute STAThread() */ public 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.set_Id("ED"); ed.set_EncryptionMethod(new EncryptionMethod( "http://www.w3.org/2001/04/xmlenc#aes128-cbc")); ed.set_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.set_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().get_OuterXml()); } catch (IOException e) { Console.WriteLine("File IO error. {0}", e); } } //main } //Sample1

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CipherReference コンストラクタ (String, TransformChain)
アセンブリ: System.Security (system.security.dll 内)

Dim uri As String Dim transformChain As TransformChain Dim instance As New CipherReference(uri, transformChain)
- uri
暗号化されたデータを指す URI (Uniform Resource Identifier)。

このコンストラクタは、暗号化されたデータを示す URI (Uniform Resource Identifier) および変換チェーンを使用して、CipherReference オブジェクトを作成します。このオブジェクトは、CipherData オブジェクトの参照情報を提供するために使用されます。

CipherReference の新しいインスタンスを作成するコード例を次に示します。
Imports System 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
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 Sample1 { [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); } } } }
#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 ); } }
package EncryptedDataSample; import System.*; import System.Security.Cryptography.Xml.*; import System.Xml.*; import 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. class Sample1 { /** @attribute STAThread() */ public 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.set_Id("ED"); ed.set_EncryptionMethod(new EncryptionMethod( "http://www.w3.org/2001/04/xmlenc#aes128-cbc")); ed.set_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.set_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().get_OuterXml()); } catch (IOException e) { Console.WriteLine("File IO error. {0}", e); } } //main } //Sample1

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CipherReference コンストラクタ
このコンストラクタは、CipherData オブジェクトの参照情報を提供する CipherReference オブジェクトを作成します。参照情報では、暗号化されたデータの場所が提供されます。

名前 | 説明 |
---|---|
CipherReference () | CipherReference クラスの新しいインスタンスを初期化します。 |
CipherReference (String) | 指定した URI (Uniform Resource Identifier) を使用して、CipherReference クラスの新しいインスタンスを初期化します。 |
CipherReference (String, TransformChain) | 指定した URI (Uniform Resource Identifier) および変換チェーン情報を使用して、CipherReference クラスの新しいインスタンスを初期化します。 |

CipherReference プロパティ

名前 | 説明 | |
---|---|---|
![]() | TransformChain | EncryptedReference オブジェクトの変換チェーンを取得または設定します。 ( EncryptedReference から継承されます。) |
![]() | Uri | EncryptedReference オブジェクトの URI (Uniform Resource Identifier) を取得または設定します。 ( EncryptedReference から継承されます。) |

CipherReference メソッド

名前 | 説明 | |
---|---|---|
![]() | AddTransform | EncryptedReference オブジェクトの現在の変換チェーンに Transform オブジェクトを追加します。 ( EncryptedReference から継承されます。) |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | GetXml | オーバーライドされます。 CipherReference オブジェクトの XML 表現を返します。 |
![]() | LoadXml | オーバーライドされます。 XML 情報を XML 暗号化の <CipherReference> 要素に読み込みます。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

CipherReference メンバ
XML 暗号化の <CipherReference> 要素を表します。このクラスは継承できません。
CipherReference データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | TransformChain | EncryptedReference オブジェクトの変換チェーンを取得または設定します。(EncryptedReference から継承されます。) |
![]() | Uri | EncryptedReference オブジェクトの URI (Uniform Resource Identifier) を取得または設定します。(EncryptedReference から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | AddTransform | EncryptedReference オブジェクトの現在の変換チェーンに Transform オブジェクトを追加します。 (EncryptedReference から継承されます。) |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | GetXml | オーバーライドされます。 CipherReference オブジェクトの XML 表現を返します。 |
![]() | LoadXml | オーバーライドされます。 XML 情報を XML 暗号化の <CipherReference> 要素に読み込みます。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

Weblioに収録されているすべての辞書からCipherReferenceを検索する場合は、下記のリンクをクリックしてください。

- CipherReferenceのページへのリンク