EncryptedXml.AddKeyNameMapping メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > EncryptedXml.AddKeyNameMapping メソッドの意味・解説 

EncryptedXml.AddKeyNameMapping メソッド

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

キー名と共通キーまたは非対称キーとの間のマップ定義します

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

Public Sub AddKeyNameMapping ( _
    keyName As String, _
    keyObject As Object _
)
Dim instance As EncryptedXml
Dim keyName As String
Dim keyObject As Object

instance.AddKeyNameMapping(keyName, keyObject)
public void AddKeyNameMapping (
    string keyName,
    Object keyObject
)
public:
void AddKeyNameMapping (
    String^ keyName, 
    Object^ keyObject
)
public void AddKeyNameMapping (
    String keyName, 
    Object keyObject
)
public function AddKeyNameMapping (
    keyName : String, 
    keyObject : Object
)

パラメータ

keyName

keyObjectマップする名前。

keyObject

keyNameマップする共通キー

例外例外
例外種類条件

ArgumentNullException

keyName パラメータの値が null 参照 (Visual Basic では Nothing) です。

または

keyObject パラメータの値が null 参照 (Visual Basic では Nothing) です。

CryptographicException

keyObject パラメータの値が RSA アルゴリズムまたは共通キーではありません。

解説解説

AddKeyNameMapping メソッド使用すると、共通キーまたは非対称キー文字列名にマップできます。このメソッドは、keyName パラメータおよび keyObject パラメータの値を有効なキーマップテーブル追加します

キーマップ テーブルクリアするには、ClearKeyNameMappings メソッド使用します

使用例使用例

共通キー使用してXML ドキュメント暗号化するコード例次に示します。この例では、暗号化された XML ドキュメント対し復号化処理が適切な復号化キー検索するために使用するキー名を埋め込みます。

Imports System
Imports System.Xml
Imports System.Security.Cryptography
Imports System.Security.Cryptography.Xml



Module Program

    Sub Main(ByVal args() As
 String)

        ' Create an XmlDocument object.
        Dim xmlDoc As New
 XmlDocument()

        ' Load an XML file into the XmlDocument object.
        Try
            xmlDoc.PreserveWhitespace = True
            xmlDoc.Load("test.xml")
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try

        ' Create a new TripleDES key. 
        Dim tDESkey As New
 TripleDESCryptoServiceProvider()


        Try
            ' Encrypt the "creditcard" element.
            Encrypt(xmlDoc, "creditcard", tDESkey,
 "tDesKey")

            ' Display the encrypted XML to the console.
            Console.WriteLine("Encrypted XML:")
            Console.WriteLine()
            Console.WriteLine(xmlDoc.OuterXml)

            ' Decrypt the "creditcard" element.
            Decrypt(xmlDoc, tDESkey, "tDesKey")

            ' Display the encrypted XML to the console.
            Console.WriteLine()
            Console.WriteLine("Decrypted XML:")
            Console.WriteLine()
            Console.WriteLine(xmlDoc.OuterXml)
        Catch e As Exception
            Console.WriteLine(e.Message)
        Finally
            ' Clear the TripleDES key.
            tDESkey.Clear()
        End Try

    End Sub 'Main


    Sub Encrypt(ByVal Doc As
 XmlDocument, ByVal ElementToEncrypt As String,
 ByVal Alg As SymmetricAlgorithm, ByVal KeyName As String)
        ' Check the arguments.  
        If Doc Is Nothing
 Then
            Throw New ArgumentNullException("Doc")
        End If
        If ElementToEncrypt Is Nothing
 Then
            Throw New ArgumentNullException("ElementToEncrypt")
        End If
        If Alg Is Nothing
 Then
            Throw New ArgumentNullException("Alg")
        End If
        '''''''''''''''''''''''''''''''''''''''''''''''''''
        ' Find the specified element in the XmlDocument
        ' object and create a new XmlElemnt object.
        '''''''''''''''''''''''''''''''''''''''''''''''''''
        Dim elementEncrypt As XmlElement =
 Doc.GetElementsByTagName(ElementToEncrypt)(0) 


        ' Throw an XmlException if the element was not found.
        If ElementToEncrypt Is Nothing
 Then
            Throw New XmlException("The
 specified element was not found")
        End If

        '''''''''''''''''''''''''''''''''''''''''''''''''''
        ' Create a new instance of the EncryptedXml class 
        ' and use it to encrypt the XmlElement with the 
        ' symmetric key.
        '''''''''''''''''''''''''''''''''''''''''''''''''''
        Dim eXml As New
 EncryptedXml()

        ' Add the key mapping.
        eXml.AddKeyNameMapping(KeyName, Alg)

        ' Encrypt the element.
        Dim edElement As EncryptedData = eXml.Encrypt(elementEncrypt,
 KeyName)


        '''''''''''''''''''''''''''''''''''''''''''''''''''
        ' Replace the element from the original XmlDocument
        ' object with the EncryptedData element.
        '''''''''''''''''''''''''''''''''''''''''''''''''''
        EncryptedXml.ReplaceElement(elementEncrypt, edElement, False)

    End Sub 'Encrypt


    Sub Decrypt(ByVal Doc As
 XmlDocument, ByVal Alg As SymmetricAlgorithm,
 ByVal KeyName As String)
        ' Check the arguments.  
        If Doc Is Nothing
 Then
            Throw New ArgumentNullException("Doc")
        End If
        If Alg Is Nothing
 Then
            Throw New ArgumentNullException("Alg")
        End If
        If KeyName Is Nothing
 Then
            Throw New ArgumentNullException("KeyName")
        End If
        ' Create a new EncryptedXml object.
        Dim exml As New
 EncryptedXml(Doc)

        ' Add the key name mapping.
        exml.AddKeyNameMapping(KeyName, Alg)

        ' Decrypt the XML document.
        exml.DecryptDocument()

    End Sub
End Module

using System;
using System.Xml;
using System.Security.Cryptography;
using System.Security.Cryptography.Xml;

class Program
{
    static void Main(string[]
 args)
    {

        // Create an XmlDocument object.
        XmlDocument xmlDoc = new XmlDocument();

        // Load an XML file into the XmlDocument object.
        try
        {
            xmlDoc.PreserveWhitespace = true;
            xmlDoc.Load("test.xml");
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }

        // Create a new TripleDES key. 
        TripleDESCryptoServiceProvider tDESkey = new TripleDESCryptoServiceProvider();


        try
        {
            // Encrypt the "creditcard" element.
            Encrypt(xmlDoc, "creditcard", tDESkey, "tDesKey");

            // Display the encrypted XML to the console.
            Console.WriteLine("Encrypted XML:");
            Console.WriteLine();
            Console.WriteLine(xmlDoc.OuterXml);

            // Decrypt the "creditcard" element.
            Decrypt(xmlDoc, tDESkey, "tDesKey");

            // Display the encrypted XML to the console.
            Console.WriteLine();
            Console.WriteLine("Decrypted XML:");
            Console.WriteLine();
            Console.WriteLine(xmlDoc.OuterXml);
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
        finally
        {
            // Clear the TripleDES key.
            tDESkey.Clear();
        }

    }

    public static void Encrypt(XmlDocument
 Doc, string ElementToEncrypt, SymmetricAlgorithm Alg, string
 KeyName)
    {
        // Check the arguments.  
        if (Doc == null)
            throw new ArgumentNullException("Doc");
        if (ElementToEncrypt == null)
            throw new ArgumentNullException("ElementToEncrypt");
        if (Alg == null)
            throw new ArgumentNullException("Alg");

        ////////////////////////////////////////////////
        // Find the specified element in the XmlDocument
        // object and create a new XmlElemnt object.
        ////////////////////////////////////////////////

        XmlElement elementToEncrypt = Doc.GetElementsByTagName(ElementToEncrypt)[0]
 as XmlElement;

        // Throw an XmlException if the element was not found.
        if (elementToEncrypt == null)
        {
            throw new XmlException("The specified element
 was not found");

        }

        //////////////////////////////////////////////////
        // Create a new instance of the EncryptedXml class 
        // and use it to encrypt the XmlElement with the 
        // symmetric key.
        //////////////////////////////////////////////////

        EncryptedXml eXml = new EncryptedXml();

        // Add the key mapping.
        eXml.AddKeyNameMapping(KeyName, Alg);

        // Encrypt the element.
        EncryptedData edElement = eXml.Encrypt(elementToEncrypt, KeyName);


        ////////////////////////////////////////////////////
        // Replace the element from the original XmlDocument
        // object with the EncryptedData element.
        ////////////////////////////////////////////////////

        EncryptedXml.ReplaceElement(elementToEncrypt, edElement, false);

    }

    public static void Decrypt(XmlDocument
 Doc, SymmetricAlgorithm Alg, string KeyName)
    {
        // Check the arguments.  
        if (Doc == null)
            throw new ArgumentNullException("Doc");
        if (Alg == null)
            throw new ArgumentNullException("Alg");
        if (KeyName == null)
            throw new ArgumentNullException("KeyName");

        // Create a new EncryptedXml object.
        EncryptedXml exml = new EncryptedXml(Doc);

        // Add the key name mapping.
        exml.AddKeyNameMapping(KeyName, Alg);

        // Decrypt the XML document.
        exml.DecryptDocument();

    }


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

using namespace System;
using namespace System::Xml;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::Xml;
static void Encrypt( XmlDocument^ Doc, String^
 ElementToEncrypt, SymmetricAlgorithm^ Alg, String^ KeyName )
{
   
   // Check the arguments.  
   if ( Doc == nullptr )
      throw gcnew ArgumentNullException( L"Doc" );

   if ( ElementToEncrypt == nullptr )
      throw gcnew ArgumentNullException( L"ElementToEncrypt" );

   if ( Alg == nullptr )
      throw gcnew ArgumentNullException( L"Alg" );

   
   ////////////////////////////////////////////////
   // Find the specified element in the XmlDocument
   // object and create a new XmlElemnt object.
   ////////////////////////////////////////////////
   XmlElement^ elementToEncrypt = dynamic_cast<XmlElement^>(Doc->GetElementsByTagName(
 ElementToEncrypt )->Item( 0 ));
   
   // Throw an XmlException if the element was not found.
   if ( elementToEncrypt == nullptr )
   {
      throw gcnew XmlException( L"The specified element was not found"
 );
   }

   
   //////////////////////////////////////////////////
   // Create a new instance of the EncryptedXml class 
   // and use it to encrypt the XmlElement with the 
   // symmetric key.
   //////////////////////////////////////////////////
   EncryptedXml^ eXml = gcnew EncryptedXml;
   
   // Add the key mapping.
   eXml->AddKeyNameMapping( KeyName, Alg );
   
   // Encrypt the element.
   EncryptedData^ edElement = eXml->Encrypt( elementToEncrypt, KeyName );
   
   ////////////////////////////////////////////////////
   // Replace the element from the original XmlDocument
   // object with the EncryptedData element.
   ////////////////////////////////////////////////////
   EncryptedXml::ReplaceElement( elementToEncrypt, edElement, false
 );
}

static void Decrypt( XmlDocument^ Doc, SymmetricAlgorithm^
 Alg, String^ KeyName )
{
   
   // Check the arguments.  
   if ( Doc == nullptr )
      throw gcnew ArgumentNullException( L"Doc" );

   if ( Alg == nullptr )
      throw gcnew ArgumentNullException( L"Alg" );

   if ( KeyName == nullptr )
      throw gcnew ArgumentNullException( L"KeyName" );

   
   // Create a new EncryptedXml object.
   EncryptedXml^ exml = gcnew EncryptedXml( Doc );
   
   // Add the key name mapping.
   exml->AddKeyNameMapping( KeyName, Alg );
   
   // Decrypt the XML document.
   exml->DecryptDocument();
}

int main()
{
   
   // Create an XmlDocument object.
   XmlDocument^ xmlDoc = gcnew XmlDocument;
   
   // Load an XML file into the XmlDocument object.
   try
   {
      xmlDoc->PreserveWhitespace = true;
      xmlDoc->Load( L"test.xml" );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( e->Message );
   }

   
   // Create a new TripleDES key. 
   TripleDESCryptoServiceProvider^ tDESkey = gcnew TripleDESCryptoServiceProvider;
   try
   {
      
      // Encrypt the "creditcard" element.
      Encrypt( xmlDoc, L"creditcard", tDESkey, L"tDesKey" );
      
      // Display the encrypted XML to the console.
      Console::WriteLine( L"Encrypted XML:" );
      Console::WriteLine();
      Console::WriteLine( xmlDoc->OuterXml );
      
      // Decrypt the "creditcard" element.
      Decrypt( xmlDoc, tDESkey, L"tDesKey" );
      
      // Display the encrypted XML to the console.
      Console::WriteLine();
      Console::WriteLine( L"Decrypted XML:" );
      Console::WriteLine();
      Console::WriteLine( xmlDoc->OuterXml );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( e->Message );
   }
   finally
   {
      
      // Clear the TripleDES key.
      tDESkey->Clear();
   }

}

import System.*;
import System.Xml.*;
import System.Security.Cryptography.*;
import System.Security.Cryptography.Xml.*;

class Program
{
    public static void main(String[]
 args)
    {
        // Create an XmlDocument object.
        XmlDocument xmlDoc = new XmlDocument();
        // Load an XML file into the XmlDocument object.
        try {
            xmlDoc.set_PreserveWhitespace(true);
            xmlDoc.Load("test.xml");
        }
        catch (System.Exception e) {
            Console.WriteLine(e.get_Message());
        }
        // Create a new TripleDES key. 
        TripleDESCryptoServiceProvider tDESkey = 
            new TripleDESCryptoServiceProvider();
        try {
            // Encrypt the "creditcard" element.
            Encrypt(xmlDoc, "creditcard", tDESkey, "tDesKey");

            // Display the encrypted XML to the console.
            Console.WriteLine("Encrypted XML:");
            Console.WriteLine();
            Console.WriteLine(xmlDoc.get_OuterXml());

            // Decrypt the "creditcard" element.
            Decrypt(xmlDoc, tDESkey, "tDesKey");

            // Display the encrypted XML to the console.
            Console.WriteLine();
            Console.WriteLine("Decrypted XML:");
            Console.WriteLine();
            Console.WriteLine(xmlDoc.get_OuterXml());
        }
        catch (System.Exception e) {
            Console.WriteLine(e.get_Message());
        }
        finally {
            // Clear the TripleDES key.
            tDESkey.Clear();
        }
    } //main

    public static void Encrypt(XmlDocument
 doc, String elementToEncrypt,
        SymmetricAlgorithm alg, String keyName) throws XmlException
    {
        // Check the arguments.  
        if (doc == null) {
            throw new ArgumentNullException("doc");
        }
        if (elementToEncrypt == null) {
            throw new ArgumentNullException("elementToEncrypt");
        }
        if (alg == null) {
            throw new ArgumentNullException("alg");
        }
        ////////////////////////////////////////////////
        // Find the specified element in the XmlDocument
        // object and create a new XmlElemnt object.
        ////////////////////////////////////////////////
        XmlElement elementToEncrypt1 = (XmlElement)doc.GetElementsByTagName(
            elementToEncrypt).get_ItemOf(0);

        // Throw an XmlException if the element was not found.
        if (elementToEncrypt1 == null) {
            throw new XmlException("The specified element
 was not found");
        }
        //////////////////////////////////////////////////
        // Create a new instance of the EncryptedXml class 
        // and use it to encrypt the XmlElement with the 
        // symmetric key.
        //////////////////////////////////////////////////
        EncryptedXml eXml = new EncryptedXml();

        // Add the key mapping.
        eXml.AddKeyNameMapping(keyName, alg);

        // Encrypt the element.
        EncryptedData edElement = eXml.Encrypt(elementToEncrypt1, keyName);
        ////////////////////////////////////////////////////
        // Replace the element from the original XmlDocument
        // object with the EncryptedData element.
        ////////////////////////////////////////////////////
        EncryptedXml.ReplaceElement(elementToEncrypt1, edElement, false);
    } //Encrypt

    public static void Decrypt(XmlDocument
 doc, SymmetricAlgorithm alg,
        String keyName)
    {
        // Check the arguments.  
        if (doc == null) {
            throw new ArgumentNullException("doc");
        }
        if (alg == null) {
            throw new ArgumentNullException("Alg");
        }
        if (keyName == null) {
            throw new ArgumentNullException("keyName");
        }
        // Create a new EncryptedXml object.
        EncryptedXml eXml = new EncryptedXml(doc);

        // Add the key name mapping.
        eXml.AddKeyNameMapping(keyName, alg);

        // Decrypt the XML document.
        eXml.DecryptDocument();
    } //Decrypt 
} //Program
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
EncryptedXml クラス
EncryptedXml メンバ
System.Security.Cryptography.Xml 名前空間



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

辞書ショートカット

すべての辞書の索引

EncryptedXml.AddKeyNameMapping メソッドのお隣キーワード
検索ランキング

   

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



EncryptedXml.AddKeyNameMapping メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS