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 コンストラクタ ()
アセンブリ: 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 コンストラクタのページへのリンク