CipherReferenceとは? わかりやすく解説

CipherReference クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

XML 暗号化<CipherReference> 要素表します。このクラス継承できません。

名前空間: System.Security.Cryptography.Xml
アセンブリ: System.Security (system.security.dll 内)
構文構文

Public NotInheritable Class
 CipherReference
    Inherits EncryptedReference
Dim instance As CipherReference
public sealed class CipherReference : EncryptedReference
public ref class CipherReference sealed : public
 EncryptedReference
public final class CipherReference extends
 EncryptedReference
public final class CipherReference extends
 EncryptedReference
解説解説

このクラスは、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 がスローさます。

復号化ようとしているドキュメント信頼できることが確実にわかっている場合は、次のコード使用して、完全に信頼されアプリケーション動作変更できます

        Evidence ev = new Evidence();
        ev.AddHost (new Zone(SecurityZone.MyComputer));
        EncryptedXml exml = new EncryptedXml(doc, ev);
使用例使用例

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.Object
   System.Security.Cryptography.Xml.EncryptedReference
    System.Security.Cryptography.Xml.CipherReference
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CipherReference メンバ
System.Security.Cryptography.Xml 名前空間

CipherReference コンストラクタ ()

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

CipherReference クラス新しインスタンス初期化します。

名前空間: System.Security.Cryptography.Xml
アセンブリ: System.Security (system.security.dll 内)
構文構文

Dim instance As New CipherReference
public CipherReference ()
public:
CipherReference ()
public CipherReference ()
public function CipherReference ()
解説解説
使用例使用例

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
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CipherReference クラス
CipherReference メンバ
System.Security.Cryptography.Xml 名前空間

CipherReference コンストラクタ (String)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

指定した URI (Uniform Resource Identifier) を使用して、CipherReference クラス新しインスタンス初期化します。

名前空間: System.Security.Cryptography.Xml
アセンブリ: System.Security (system.security.dll 内)
構文構文

public CipherReference (
    string uri
)
public:
CipherReference (
    String^ uri
)
public CipherReference (
    String uri
)
public function CipherReference (
    uri : String
)

パラメータ

uri

暗号化されたデータを指す URI (Uniform Resource Identifier)。

解説解説

このコンストラクタは、暗号化されたデータを指す 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'>

<! -- Form data here -->

</MyForm>

<MyForm Id='Form2'>

<! -- Form data here -->

</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
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CipherReference クラス
CipherReference メンバ
System.Security.Cryptography.Xml 名前空間

CipherReference コンストラクタ (String, TransformChain)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

指定した URI (Uniform Resource Identifier) および変換チェーン情報使用して、CipherReference クラス新しインスタンス初期化します。

名前空間: System.Security.Cryptography.Xml
アセンブリ: System.Security (system.security.dll 内)
構文構文

Public Sub New ( _
    uri As String, _
    transformChain As TransformChain _
)
Dim uri As String
Dim transformChain As TransformChain

Dim instance As New CipherReference(uri,
 transformChain)
public CipherReference (
    string uri,
    TransformChain transformChain
)
public:
CipherReference (
    String^ uri, 
    TransformChain^ transformChain
)
public CipherReference (
    String uri, 
    TransformChain transformChain
)
public function CipherReference (
    uri : String, 
    transformChain : TransformChain
)

パラメータ

uri

暗号化されたデータを指す URI (Uniform Resource Identifier)。

transformChain

暗号化されたデータに対して適用する変換記述する TransformChain オブジェクト

解説解説
使用例使用例

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
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CipherReference クラス
CipherReference メンバ
System.Security.Cryptography.Xml 名前空間

CipherReference コンストラクタ

CipherReference クラス新しインスタンス初期化します。

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


オーバーロードの一覧オーバーロードの一覧
参照参照

関連項目

CipherReference クラス
CipherReference メンバ
System.Security.Cryptography.Xml 名前空間

CipherReference プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ TransformChain  EncryptedReference オブジェクトの変換チェーン取得または設定します。 ( EncryptedReference から継承されます。)
パブリック プロパティ Uri  EncryptedReference オブジェクトURI (Uniform Resource Identifier) を取得または設定します。 ( EncryptedReference から継承されます。)
参照参照

関連項目

CipherReference クラス
System.Security.Cryptography.Xml 名前空間

CipherReference メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

CipherReference クラス
System.Security.Cryptography.Xml 名前空間

CipherReference メンバ

XML 暗号化<CipherReference> 要素表します。このクラス継承できません。

CipherReference データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ TransformChain  EncryptedReference オブジェクトの変換チェーン取得または設定します。(EncryptedReference から継承されます。)
パブリック プロパティ Uri  EncryptedReference オブジェクトURI (Uniform Resource Identifier) を取得または設定します。(EncryptedReference から継承されます。)
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

CipherReference クラス
System.Security.Cryptography.Xml 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「CipherReference」の関連用語

CipherReferenceのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CipherReferenceのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS