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

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

KeyContainerPermissionAttribute クラス

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

宣言セキュリティ使用して、KeyContainerPermission のセキュリティ アクションコード適用できるようにします。このクラス継承できません。

名前空間: System.Security.Permissions
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<AttributeUsageAttribute(AttributeTargets.Assembly Or AttributeTargets.Class
 Or AttributeTargets.Struct Or AttributeTargets.Constructor
 Or AttributeTargets.Method, AllowMultiple:=True, Inherited:=False)> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 KeyContainerPermissionAttribute
    Inherits CodeAccessSecurityAttribute
Dim instance As KeyContainerPermissionAttribute
[SerializableAttribute] 
[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method,
 AllowMultiple=true, Inherited=false)] 
[ComVisibleAttribute(true)] 
public sealed class KeyContainerPermissionAttribute
 : CodeAccessSecurityAttribute
[SerializableAttribute] 
[AttributeUsageAttribute(AttributeTargets::Assembly|AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Constructor|AttributeTargets::Method,
 AllowMultiple=true, Inherited=false)] 
[ComVisibleAttribute(true)] 
public ref class KeyContainerPermissionAttribute
 sealed : public CodeAccessSecurityAttribute
/** @attribute SerializableAttribute() */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method,
 AllowMultiple=true, Inherited=false) */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class KeyContainerPermissionAttribute
 extends CodeAccessSecurityAttribute
SerializableAttribute 
AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method,
 AllowMultiple=true, Inherited=false) 
ComVisibleAttribute(true) 
public final class KeyContainerPermissionAttribute
 extends CodeAccessSecurityAttribute
解説解説
使用例使用例

KeyContainerPermissionAttribute クラスメンバ使用する方法次のコード例示します

' The following commented code should be compiled as a console application.
  The application 
' executes the class library code example showing the use of the KeyContainerPermissionAttribute.
'Imports System
'Imports System.Security
'Imports System.Security.Permissions
'Imports System.Security.Cryptography
'Imports KeyContainerPermissionAttributeDemo


'Class AttributeTest

'    ' Tests the KeyContainerPermissionAttribute.
'    <STAThread()> _
'    Shared Sub Main()
'        Dim cspParams As New CspParameters()
'        cspParams.KeyContainerName = "MyKeyContainer"
'        Dim rsa As New RSACryptoServiceProvider(cspParams)

'        ' Display the key information to the console.
'        Console.WriteLine("Key added to container: " + vbLf
 + "  {0}", rsa.ToXmlString(True))
'        Dim keyCU As New KeyContainerUtil()
'        ' The following call creates a key container with the specified
 name if one doesn't exist.
'        ' In this case the key container does exist.
'        keyCU.GenKey_SaveInContainer("MyKeyContainer")
'        ' The following call deletes the key container.
'        keyCU.DeleteKeyFromContainer("MyKeyContainer")
'        ' The next call to create a key container fails because the
 library
'        ' routine does not have the permissions to create a key container.
'        keyCU.GenKey_SaveInContainer("MyKeyContainer")
'        Console.WriteLine("Press the Enter key to exit.")
'        Console.ReadKey()

'    End Sub 'Main 
'End Class 'AttributeTest

Imports System
Imports System.Security
Imports System.Security.Permissions
Imports System.Security.Cryptography


' Prohibit the creation of a new key container.

<Assembly: KeyContainerPermission(SecurityAction.RequestRefuse, _
    Flags:=KeyContainerPermissionFlags.Create, KeyContainerName:="MyKeyContainer",
 _
        KeyStore:="User", ProviderName:="Microsoft
 Strong Cryptographic Provider")> 
Namespace KeyContainerPermissionAttributeDemo
    Public Class KeyContainerUtil

        Public Sub New()

        End Sub 'New

        ' The following method throws an exception if the containerName
 parameter identifies a 
        ' new container.  Otherwise the method executes correctly.
        Public Sub GenKey_SaveInContainer(ByVal
 containerName As String)
            Try
                ' Create the CspParameters object and set the name of
 the key  
                ' container used to store the RSA key pair.
                Dim cspParams As New
 CspParameters()
                cspParams.KeyContainerName = containerName
                ' Create a new instance of RSACryptoServiceProvider
 that accesses
                ' the key container specified by the containerName parameter.
                Dim rsa As New
 RSACryptoServiceProvider(cspParams)

                ' Display the key information to the console.
                Console.WriteLine("Key added to container: "
 + vbLf + _
                    "  {0}", rsa.ToXmlString(True))
            Catch e As Exception
                Console.WriteLine("Exception thrown: "
 + e.Message)
            End Try

        End Sub 'GenKey_SaveInContainer

        Public Sub DeleteKeyFromContainer(ByVal
 containerName As String)
            Try
                ' Create the CspParameters object and set the name of
 the key container 
                ' used to store the RSA key pair, then delete the key
 entry in the container.
                Dim cspParams As New
 CspParameters()
                cspParams.KeyContainerName = containerName
                ' Create a new instance of RSACryptoServiceProvider
 that accesses
                ' the key container MyKeycontainerName.
                Dim rsa As New
 RSACryptoServiceProvider(cspParams)
                ' The following statement causes the key to be deleted
 by not persisting the key.
                rsa.PersistKeyInCsp = False

                ' Call Clear to release resources, deleting the key
 container.
                rsa.Clear()
                Console.WriteLine("Key and container deleted.")
            Catch e As Exception
                Console.WriteLine("Exception thrown when deleting
 key: " + e.Message)
            End Try

        End Sub 'DeleteKeyFromContainer
    End Class 'KeyContainerUtil
End Namespace
// The following commented code should be compiled as a console application.
  The application 
// executes the class library code example showing the use of the KeyContainerPermissionAttribute.
//using System;
//using System.Security;
//using System.Security.Permissions;
//using System.Security.Cryptography;
//using KeyContainerPermissionAttributeDemo;
//namespace KeyContainerPermissionAttributeTest
//{
//  class AttributeTest
//  {
//       // Tests the KeyContainerPermissionAttribute.
//        [STAThread]
//        static void Main()
//        {
//            CspParameters cspParams = new CspParameters();
//            cspParams.KeyContainerName = "MyKeyContainer";
//            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cspParams);
//            
//            // Display the key information to the console.
//            Console.WriteLine("Key added to container: \n  {0}",
 rsa.ToXmlString(true));
//            KeyContainerUtil keyCU = new KeyContainerUtil();
//            // The following call creates a key container with the
 specified name if one doesn't exist.
//            // In this case the key container does exist.
//            keyCU.GenKey_SaveInContainer("MyKeyContainer");
//            // The following call deletes the key container.
//            keyCU.DeleteKeyFromContainer("MyKeyContainer");
//            // The next call to create a key container fails because
 the library
//            // routine does not have the permissions to create a key
 container.
//            keyCU.GenKey_SaveInContainer("MyKeyContainer");
//            Console.WriteLine("Press the Enter key to exit.");
//            Console.ReadKey();
//
//        }
//    }
//}

using System;
using System.Security;
using System.Security.Permissions;
using System.Security.Cryptography;

// Prohibit the creation of a new key container.
[assembly :KeyContainerPermission(SecurityAction.RequestRefuse, Flags = KeyContainerPermissionFlags.Create
,
                KeyContainerName = "MyKeyContainer", KeyStore = "User",
 
                ProviderName = "Microsoft Strong Cryptographic Provider")]
namespace KeyContainerPermissionAttributeDemo
{
    public class KeyContainerUtil
    {
        public KeyContainerUtil()
        {    
        }
        // The following method throws an exception if the containerName
 parameter identifies a 
        // new container.  Otherwise the method executes correctly.
        public void GenKey_SaveInContainer(string
 containerName)
        {
            try
            {
                // Create the CspParameters object and set the name
 of the key  
                // container used to store the RSA key pair.
                CspParameters cspParams = new CspParameters();
                cspParams.KeyContainerName = containerName;
                // Create a new instance of RSACryptoServiceProvider
 that accesses
                // the key container specified by the containerName
 parameter.
                RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cspParams);

                // Display the key information to the console.
                Console.WriteLine("Key added to container: \n  {0}", rsa.ToXmlString(true));
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception thrown: " + e.Message);
            }
        }
        public void DeleteKeyFromContainer(string
 containerName)
        {
            try
            {
                // Create the CspParameters object and set the name
 of the key container 
                // used to store the RSA key pair, then delete the key
 entry in the container.
                CspParameters cspParams = new CspParameters();
                cspParams.KeyContainerName = containerName;
                // Create a new instance of RSACryptoServiceProvider
 that accesses
                // the key container MyKeycontainerName.
                RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cspParams);
                // The following statement causes the key to be deleted
 by not persisting the key.
                rsa.PersistKeyInCsp = false;

                // Call Clear to release resources, deleting the key
 container.
                rsa.Clear();
                Console.WriteLine("Key and container deleted.");
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception thrown when deleting key: "
 + e.Message);
            }
        }
    }
}
// The following commented code should be compiled as a console application.
  The application 
// executes the class library code example showing the use of the KeyContainerPermissionAttribute.
//#using <mscorlib.dll>
//using namespace System;
//using namespace System::Security;
//using namespace System::Security::Permissions;
//using namespace System::Security::Cryptography;
//#using <KeyContainerPermissionAttribute.dll>
//
//// Tests the KeyContainerPermissionAttribute.
//[STAThread]
//int main()
//{
//    CspParameters* cspParams = new CspParameters();
//    cspParams->KeyContainerName = S"MyKeyContainer";
//    RSACryptoServiceProvider* rsa = new RSACryptoServiceProvider(cspParams);
//
//    // Display the key information to the console.
//    Console::WriteLine(S"Key added to container: \n  {0}",
 rsa->ToXmlString(true));
//    KeyContainerUtil* keyCU = new KeyContainerUtil();
//    // The following call creates a key container with the specified
 name if one doesn't exist.
//    // In this case the key container does exist.
//    keyCU->GenKey_SaveInContainer(S"MyKeyContainer");
//    // The following call deletes the key container.
//    keyCU->DeleteKeyFromContainer(S"MyKeyContainer");
//    // The next call to create a key container fails because the library
//    // routine does not have the permissions to create a key container.
//    keyCU->GenKey_SaveInContainer(S"MyKeyContainer");
//    Console::WriteLine(S"Press the Enter key to exit.");
//    Console::ReadKey();
//
//}
#using <System.dll>

using namespace System;
using namespace System::Security;
using namespace System::Security::Permissions;
using namespace System::Security::Cryptography;

// Prohibit the creation of a new key container.
[assembly:KeyContainerPermissionAttribute(SecurityAction::RequestRefuse,Flags=KeyContainerPermissionFlags::Create
,
KeyContainerName="MyKeyContainer",KeyStore="User",
ProviderName="Microsoft Strong Cryptographic Provider")];

public ref class KeyContainerUtil
{
public:
   KeyContainerUtil(){}


   // The following method throws an exception if the containerName
 parameter identifies a 
   // new container.  Otherwise the method executes correctly.
   void GenKey_SaveInContainer( String^ containerName )
   {
      try
      {
         
         // Create the CspParameters object and set the name of the
 key  
         // container used to store the RSA key pair.
         CspParameters^ cspParams = gcnew CspParameters;
         cspParams->KeyContainerName = containerName;
         
         // Create a new instance of RSACryptoServiceProvider that accesses
         // the key container specified by the containerName parameter.
         RSACryptoServiceProvider^ rsa = gcnew RSACryptoServiceProvider( cspParams
 );
         
         // Display the key information to the console.
         Console::WriteLine( "Key added to container: \n  {0}", rsa->ToXmlString(
 true ) );
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( "Exception thrown: {0}", e->Message );
      }

   }

   void DeleteKeyFromContainer( String^ containerName )
   {
      try
      {
         
         // Create the CspParameters object and set the name of the
 key container 
         // used to store the RSA key pair, then delete the key entry
 in the container.
         CspParameters^ cspParams = gcnew CspParameters;
         cspParams->KeyContainerName = containerName;
         
         // Create a new instance of RSACryptoServiceProvider that accesses
         // the key container MyKeycontainerName.
         RSACryptoServiceProvider^ rsa = gcnew RSACryptoServiceProvider( cspParams
 );
         
         // The following statement causes the key to be deleted by
 not persisting the key.
         rsa->PersistKeyInCsp = false;
         
         // Call Clear to release resources, deleting the key container.
         rsa->Clear();
         Console::WriteLine( "Key and container deleted." );
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( "Exception thrown when deleting key: {0}",
 e->Message );
      }

   }

};

package KeyContainerPermissionAttributeDemo ; 
// The following commented code should be compiled as a console application.
  
// The application executes the class library code example showing the
 
// use of the KeyContainerPermissionAttribute.
//    import System.*;
//    import System.Security.*;
//    import System.Security.Permissions.*;
//    import System.Security.Cryptography.*;
//    import KeyContainerPermissionAttributeDemo.*;
//    class AttributeTest
//    {
//        //Tests the KeyContainerPermissionAttribute.
//        /** @attribute STAThread()
//         */
//        static void main(String[] args)
//        {
//            CspParameters cspParams =  new CspParameters();
//            cspParams.keyContainerName = "MyKeyContainer";
//            RSACryptoServiceProvider rsa =  
//                new RSACryptoServiceProvider(cspParams);
//            // Display the key information to the console.
//            Console.WriteLine("Key added to container: \n  {0}",
 
//                rsa.ToXmlString(true));
//            KeyContainerUtil keyCU =  new KeyContainerUtil();
//            // The following call creates a key container with the
 specified 
//            // name if one doesn't exist.
//            // In this case the key container does exist.
//            keyCU.GenKey_SaveInContainer("MyKeyContainer");
//            // The following call deletes the key container.
//            keyCU.DeleteKeyFromContainer("MyKeyContainer");
//            // The next call to create a key container fails because
 the 
//            // library routine does not have the permissions to create
 a key 
//            // container.
//            keyCU.GenKey_SaveInContainer("MyKeyContainer");
//            Console.WriteLine("Press the Enter key to exit.");
//            Console.ReadKey();
//        } //main 
//    } //AttributeTest

import System.*;
import System.Security.*;
import System.Security.Permissions.*;
import System.Security.Cryptography.*;

// Prohibit the creation of a new key container.
/** @assembly.class KeyContainerPermission(SecurityAction.RequestRefuse,
 
    Flags = KeyContainerPermissionFlags.Create, 
    KeyContainerName = "MyKeyContainer", 
    KeyStore = "User", ProviderName = "Microsoft Strong Cryptographic
 Provider")
 */
public class KeyContainerUtil
{
    public KeyContainerUtil()
    {
    } //KeyContainerUtil

    // The following method throws an exception if the containerName
 
    // parameter identifies a new container.  
    // Otherwise the method executes correctly.
    public void GenKey_SaveInContainer(String
 containerName)
    {
        try {
            // Create the CspParameters object and set the name of the
 key  
            // container used to store the RSA key pair.
            CspParameters cspParams = new CspParameters();
            cspParams.KeyContainerName = containerName;

            // Create a new instance of RSACryptoServiceProvider that
 accesses
            // the key container specified by the containerName parameter.
            RSACryptoServiceProvider rsa = 
                new RSACryptoServiceProvider(cspParams);

            // Display the key information to the console.
            Console.WriteLine("Key added to container: \n  {0}", 
                rsa.ToXmlString(true));
        }
        catch (System.Exception e) {
            Console.WriteLine(("Exception thrown: " + e.get_Message()));
        }
    } //GenKey_SaveInContainer

    public void DeleteKeyFromContainer(String
 containerName)
    {
        try {
            // Create the CspParameters object and set the name of the
 
            // key container used to store the RSA key pair, then delete
 
            // the key entry in the container.
            CspParameters cspParams = new CspParameters();
            cspParams.KeyContainerName = containerName;

            // Create a new instance of RSACryptoServiceProvider that
 accesses
            // the key container MyKeycontainerName.
            RSACryptoServiceProvider rsa = 
                new RSACryptoServiceProvider(cspParams);

            // The following statement causes the key to be deleted
 by 
            // not persisting the key.
            rsa.set_PersistKeyInCsp(false);

            // Call Clear to release resources, deleting the key container.
            rsa.Clear();
            Console.WriteLine("Key and container deleted.");
        }
        catch (System.Exception e) {
            Console.WriteLine(("Exception thrown when deleting key: " 
                + e.get_Message()));
        }
    } //DeleteKeyFromContainer
} //KeyContainerUtil   
継承階層継承階層
System.Object
   System.Attribute
     System.Security.Permissions.SecurityAttribute
       System.Security.Permissions.CodeAccessSecurityAttribute
        System.Security.Permissions.KeyContainerPermissionAttribute
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
KeyContainerPermissionAttribute メンバ
System.Security.Permissions 名前空間
KeyContainerPermission クラス
KeyContainerPermissionAccessEntry クラス
その他の技術情報
属性使用したメタデータ拡張



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

辞書ショートカット

すべての辞書の索引

「KeyContainerPermissionAttribute クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS