CipherData クラスとは? わかりやすく解説

CipherData クラス

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

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

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

Public NotInheritable Class
 CipherData
public sealed class CipherData
public final class CipherData
解説解説

CipherData クラスは、XML 暗号化<CipherData> 要素表します。これは、暗号化されたデータ提供する必須の要素です。この要素は、暗号化されたデータ<CipherValue> 要素base64エンコードされたテキストとして格納するか、または暗号化されたデータ格納する外部の場所の参照<CipherReference> 要素使用して提供する必要があります

多く場合は、CipherData クラス新しインスタンス直接作成する要はありません。EncryptedXml クラス、EncryptedData クラス、および EncryptedKey クラスによってインスタンス作成されます。

メモメモ

CipherData オブジェクトは、CipherReference または CipherValue のどちらかプロパティを持つことができます両方プロパティを持つことはできません。両方CipherData オブジェクト割り当てられている場合は、CryptographicException がスローさます。

使用例使用例

EncryptedData クラス使用して <CipherData> 要素を含む <EncryptedData> 要素作成した後、XMLXML ファイル書き込むコード例次に示します

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.
Module EncryptedDataSample1

    Sub Main()
        ' Create a new CipherData object.
        Dim cd As New CipherData
        ' Assign a byte array to the CipherValue.
        cd.CipherValue = New Byte(7) {}
        ' Create a new EncryptedData object.
        Dim ed As New EncryptedData
        'Add an encryption method to the object.
        ed.Id = "ED"
        ed.EncryptionMethod = New EncryptionMethod("http://www.w3.org/2001/04/xmlenc#aes128-cbc")
        ed.CipherData = cd

        'Add key information to the object.
        Dim ki As New KeyInfo
        ki.AddClause(New KeyInfoRetrievalMethod("#EK",
 "http://www.w3.org/2001/04/xmlenc#EncryptedKey"))
        ed.KeyInfo = ki

        ' Create new XML document and put encrypted data into it.
        Dim doc As New XmlDocument
        Dim encryptionPropertyElement As XmlElement
 = CType(doc.CreateElement("EncryptionProperty",
 EncryptedXml.XmlEncNamespaceUrl), XmlElement)
        Dim ep As New EncryptionProperty(encryptionPropertyElement)
        ed.AddProperty(ep)

        ' Output the resulting XML information into a file.
        Dim path As String
 = "c:\test\MyTest.xml"
        File.WriteAllText(path, ed.GetXml().OuterXml)
        'End Sub 'Main 'Console.WriteLine(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 a EncryptedData
 element
/// and write it to an XML file.
namespace EncryptedDataSample
{
    class Sample1
    {
        [STAThread]
        static void Main(string[]
 args)
        {
            // Create a new CipherData object.
            CipherData cd = new CipherData();
            // Assign a byte array to be the CipherValue. This is a
 byte array representing encrypted data.
            cd.CipherValue = new byte[8];
            // Create a new EncryptedData object.
            EncryptedData ed = new EncryptedData();
            //Add an encryption method to the object.
            ed.Id = "ED";
            ed.EncryptionMethod = new EncryptionMethod("http://www.w3.org/2001/04/xmlenc#aes128-cbc");
            ed.CipherData = cd;

            //Add key information to the object.
            KeyInfo ki = new KeyInfo();
            ki.AddClause(new KeyInfoRetrievalMethod("#EK",
 "http://www.w3.org/2001/04/xmlenc#EncryptedKey"));
            ed.KeyInfo = ki;

            // Create new XML document and put encrypted data into it.
            XmlDocument doc = new XmlDocument();
            XmlElement encryptionPropertyElement = (XmlElement)doc.CreateElement("EncryptionProperty",
 EncryptedXml.XmlEncNamespaceUrl);
            EncryptionProperty ep = new EncryptionProperty(encryptionPropertyElement);
            ed.AddProperty(ep);

            // Output the resulting XML information into a file.
            string path = @"c:\test\MyTest.xml";
            File.WriteAllText(path,ed.GetXml().OuterXml);
            //Console.WriteLine(ed.GetXml().OuterXml);

        }
    }
}
#using <System.Xml.dll>
#using <System.Security.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::Xml;
using namespace System::IO;

/// This sample used the EncryptedData class to create a EncryptedData
 element
/// and write it to an XML file.
int main()
{
    // Create a new CipherData object.
    CipherData^ cipher = gcnew CipherData();
    // Assign a byte array to be the CipherValue. This is a
    // byte array representing encrypted data.
    cipher->CipherValue = gcnew array<Byte>(8);
    // Create a new EncryptedData object.
    EncryptedData^ encryptionRoot = gcnew EncryptedData();
    //Add an encryption method to the object.
    encryptionRoot->Id = "ED";
    encryptionRoot->EncryptionMethod = gcnew EncryptionMethod(
        "http://www.w3.org/2001/04/xmlenc#aes128-cbc");
    encryptionRoot->CipherData = cipher;

    //Add key information to the object.
    KeyInfo^ keyDetails = gcnew KeyInfo();
    keyDetails->AddClause(gcnew KeyInfoRetrievalMethod("#EK",
        "http://www.w3.org/2001/04/xmlenc#EncryptedKey"));
    encryptionRoot->KeyInfo = keyDetails;

    // Create new XML document and put encrypted data into it.
    XmlDocument^ doc = gcnew XmlDocument();
    XmlElement^ encryptionPropertyElement =
        doc->CreateElement("EncryptionProperty", 
        EncryptedXml::XmlEncNamespaceUrl);
    EncryptionProperty^ property = gcnew EncryptionProperty(
        encryptionPropertyElement);
    encryptionRoot->AddProperty(property);

    // Output the resulting XML information into a file.
    String^ path = "test.xml";
    try
    {
        File::WriteAllText(path, encryptionRoot->GetXml()->OuterXml);
    }
    catch (IOException^ ex)
    {
        Console::WriteLine("There was an error writing to {0}", path);
        Console::WriteLine(ex->Message);
    }
    //Console.WriteLine(ed.GetXml().OuterXml);
}

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



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

辞書ショートカット

すべての辞書の索引

「CipherData クラス」の関連用語

CipherData クラスのお隣キーワード
検索ランキング

   

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



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

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

©2025 GRAS Group, Inc.RSS