StorePermission クラス
アセンブリ: System (system.dll 内)

<SerializableAttribute> _ Public NotInheritable Class StorePermission Inherits CodeAccessPermission Implements IUnrestrictedPermission
[SerializableAttribute] public sealed class StorePermission : CodeAccessPermission, IUnrestrictedPermission
[SerializableAttribute] public ref class StorePermission sealed : public CodeAccessPermission, IUnrestrictedPermission


StorePermission クラスのメンバを使用する方法を次のコード例に示します。
Imports System Imports System.Security.Permissions Imports System.Security.Cryptography Imports System.Security.Cryptography.X509Certificates Imports System.Security Imports System.IO <Assembly: StorePermissionAttribute(SecurityAction.RequestMinimum, Flags:=StorePermissionFlags.DeleteStore)> Public Class X509store2 Public Shared Sub Main(ByVal args() As String) Console.WriteLine("Creating a permission with Flags = OpenStore.") Dim sp As New System.Security.Permissions.StorePermission(StorePermissionFlags.OpenStore) 'Create a new X509 store named teststore from the local certificate store. 'You must put in a valid path to a certificate in the following constructor. Dim certificate As New X509Certificate2("c:\certificates\*****.cer") ' Deny the permission to open a store. sp.Deny() ' The following code results in an exception due to an attempt to open a store. AddToStore(certificate) ' Remove the deny for opening a store. CodeAccessPermission.RevertDeny() ' The following code results in an exception due to an attempt to add a certificate. ' The exception is thrown due to a StorePermissionAttribute on the method denying AddToStore permission. AddToStore(certificate) ' The current code is not affected by the attribute in the previously called method, so the following ' intructions execute without an exception. Dim store As New X509Store("teststore", StoreLocation.CurrentUser) store.Open(OpenFlags.ReadWrite) store.Add(certificate) ' Demonstrate the behavior of the class members. ShowMembers() Console.WriteLine("Press the Enter key to exit.") Console.ReadKey() Return End Sub 'Main 'Deny the permission the ability to add to a store. <StorePermission(SecurityAction.Deny, Flags:=StorePermissionFlags.AddToStore)> _ Private Shared Sub AddToStore(ByVal cert As X509Certificate2) Try Dim store As New X509Store("teststore", StoreLocation.CurrentUser) store.Open(OpenFlags.ReadWrite) ' The following attempt to add a certificate results in an exception being thrown. store.Add(cert) Return Catch e As SecurityException Console.WriteLine("Security exception thrown when attempting: " + _ CType(e.FirstPermissionThatFailed, System.Security.Permissions.StorePermission).Flags) Return End Try End Sub 'AddToStore ' The following method is intended to demonstrate only the behavior of ' StorePermission class members,and not their practical usage. Most properties ' and methods in this class are used for the resolution and enforcement of ' security policy by the security infrastructure code. Private Shared Sub ShowMembers() Console.WriteLine("Creating first permission with Flags = OpenStore.") Dim sp1 As New System.Security.Permissions.StorePermission(StorePermissionFlags.OpenStore) Console.WriteLine("Creating second permission with Flags = AllFlags.") Dim sp2 As New System.Security.Permissions.StorePermission(StorePermissionFlags.AllFlags) Console.WriteLine("Creating third permission as Unrestricted.") Dim sp3 As New System.Security.Permissions.StorePermission(PermissionState.Unrestricted) Console.WriteLine("Creating fourth permission with a permission state of none.") Dim sp4 As New System.Security.Permissions.StorePermission(PermissionState.None) Dim rc As Boolean = sp2.IsSubsetOf(sp3) Console.WriteLine("Is the permission with complete store access (AllFlags) a subset of " + _ vbLf + vbTab + "the permission with an Unrestricted permission state? " + _ IIf(rc, "Yes", "No")) rc = sp1.IsSubsetOf(sp2) Console.WriteLine("Is the permission with OpenStore access a subset of the permission with " + _ vbLf + vbTab + "complete store access (AllFlags)? " + IIf(rc, "Yes", "No")) rc = sp3.IsUnrestricted() Console.WriteLine("Is the third permission unrestricted? " + IIf(rc, "Yes", "No")) Console.WriteLine("Copying the second permission to the fourth permission.") sp4 = CType(sp2.Copy(), System.Security.Permissions.StorePermission) rc = sp4.Equals(sp2) Console.WriteLine("Is the fourth permission equal to the second permission? " + _ IIf(rc, "Yes", "No")) Console.WriteLine("Creating the intersection of the second and first permissions.") sp4 = CType(sp2.Intersect(sp1), System.Security.Permissions.StorePermission) Console.WriteLine("Value of the Flags property is: " + sp4.Flags.ToString()) Console.WriteLine("Creating the union of the second and first permissions.") sp4 = CType(sp2.Union(sp1), System.Security.Permissions.StorePermission) Console.WriteLine("Result of the union of the second permission with the first: " + _ sp4.Flags) Console.WriteLine("Using an XML roundtrip to reset the fourth permission.") sp4.FromXml(sp2.ToXml()) rc = sp4.Equals(sp2) Console.WriteLine("Does the XML roundtrip result equal the original permission? " + _ IIf(rc, "Yes", "No")) End Sub End Class 'X509store2
using System; using System.Security.Permissions; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.Security; using System.IO; [assembly: StorePermission(SecurityAction.RequestMinimum, Flags = StorePermissionFlags.DeleteStore)] public class X509store2 { public static void Main(string[] args) { Console.WriteLine("Creating a permission with Flags = OpenStore."); StorePermission sp = new StorePermission(StorePermissionFlags.OpenStore); //Create a new X509 store named teststore from the local certificate store. //You must put in a valid path to a certificate in the following constructor. X509Certificate2 certificate = new X509Certificate2("c:\\certificates\\*****.cer"); // Deny the permission to open a store. sp.Deny(); // The following code results in an exception due to an attempt to open a store. AddToStore(certificate); // Remove the deny for opening a store. CodeAccessPermission.RevertDeny(); // The following code results in an exception due to an attempt to add a certificate. // The exception is thrown due to a StorePermissionAttribute on the method denying AddToStore permission. AddToStore(certificate); // The current code is not affected by the attribute in the previously called method, so the following // intructions execute without an exception. X509Store store = new X509Store("teststore" , StoreLocation.CurrentUser); store.Open(OpenFlags.ReadWrite); store.Add(certificate); // Demonstrate the behavior of the class members. ShowMembers(); Console.WriteLine("Press the Enter key to exit."); Console.ReadKey(); return; } //Deny the permission the ability to add to a store. [StorePermission(SecurityAction.Deny, Flags = StorePermissionFlags.AddToStore)] private static void AddToStore(X509Certificate2 cert) { try { X509Store store = new X509Store("teststore" , StoreLocation.CurrentUser); store.Open(OpenFlags.ReadWrite); // The following attempt to add a certificate results in an exception being thrown. store.Add(cert); return; } catch (SecurityException e) { Console.WriteLine("Security exception thrown when attempting: " + ((StorePermission)e.FirstPermissionThatFailed).Flags); return; } } // The following method is intended to demonstrate only the behavior of // StorePermission class members,and not their practical usage. Most properties // and methods in this class are used for the resolution and enforcement of // security policy by the security infrastructure code. private static void ShowMembers() { Console.WriteLine("Creating first permission with Flags = OpenStore."); StorePermission sp1 = new StorePermission(StorePermissionFlags.OpenStore); Console.WriteLine("Creating second permission with Flags = AllFlags."); StorePermission sp2 = new StorePermission(StorePermissionFlags.AllFlags); Console.WriteLine("Creating third permission as Unrestricted."); StorePermission sp3 = new StorePermission(PermissionState.Unrestricted); Console.WriteLine("Creating fourth permission with a permission state of none."); StorePermission sp4 = new StorePermission(PermissionState.None); bool rc = sp2.IsSubsetOf(sp3); Console.WriteLine("Is the permission with complete store access (AllFlags) a subset of \n" + "\tthe permission with an Unrestricted permission state? " + (rc ? "Yes" : "No")); rc = sp1.IsSubsetOf(sp2); Console.WriteLine("Is the permission with OpenStore access a subset of the permission with \n" + "\tcomplete store access (AllFlags)? " + (rc ? "Yes" : "No")); rc = sp3.IsUnrestricted(); Console.WriteLine("Is the third permission unrestricted? " + (rc ? "Yes" : "No")); Console.WriteLine("Copying the second permission to the fourth permission."); sp4 = (StorePermission)sp2.Copy(); rc = sp4.Equals(sp2); Console.WriteLine("Is the fourth permission equal to the second permission? " + (rc ? "Yes" : "No")); Console.WriteLine("Creating the intersection of the second and first permissions."); sp4 = (StorePermission)sp2.Intersect(sp1); Console.WriteLine("Value of the Flags property is: " + sp4.Flags.ToString()); Console.WriteLine("Creating the union of the second and first permissions."); sp4 = (StorePermission)sp2.Union(sp1); Console.WriteLine("Result of the union of the second permission with the first: " + sp4.Flags); Console.WriteLine("Using an XML roundtrip to reset the fourth permission."); sp4.FromXml(sp2.ToXml()); rc = sp4.Equals(sp2); Console.WriteLine("Does the XML roundtrip result equal the original permission? " + (rc ? "Yes" : "No")); } }
import System.*; import System.Security.Permissions.*; import System.Security.Cryptography.*; import System.Security.Cryptography.X509Certificates.*; import System.Security.*; import System.IO.*; /** @assembly StorePermission(SecurityAction.RequestMinimum, Flags = StorePermissionFlags.DeleteStore) */ public class X509store2 { public static void main(String[] args) { Console.WriteLine("Creating a permission with Flags = OpenStore."); StorePermission sp = new StorePermission(StorePermissionFlags.OpenStore); //Create a new X509 store named teststore from the local certificate // store. //You must put in a valid path to a certificate in the following // constructor. X509Certificate2 certificate = new X509Certificate2("c:\\certificates\\*****.cer"); // Deny the permission to open a store. sp.Deny(); // The following code results in an exception due to an attempt // to open a store. AddToStore(certificate); // Remove the deny for opening a store. CodeAccessPermission.RevertDeny(); // The following code results in an exception due to an attempt to // add a certificate. // The exception is thrown due to a StorePermissionAttribute // on the method denying AddToStore permission. AddToStore(certificate); // The current code is not affected by the attribute in the // previously called method, so the following // intructions execute without an exception. X509Store store = new X509Store("teststore" , StoreLocation.CurrentUser); store.Open(OpenFlags.ReadWrite); store.Add(certificate); // Demonstrate the behavior of the class members. ShowMembers(); Console.WriteLine("Press the Enter key to exit."); Console.ReadKey(); return; } //main //Deny the permission the ability to add to a store. /** @attribute StorePermission(SecurityAction.Deny, Flags = StorePermissionFlags.AddToStore) */ private static void AddToStore(X509Certificate2 cert) { try { X509Store store = new X509Store("teststore" , StoreLocation.CurrentUser); store.Open(OpenFlags.ReadWrite); // The following attempt to add a certificate results in // an exception being thrown. store.Add(cert); return; } catch (System.Security.SecurityException e) { Console.WriteLine("Security exception thrown when attempting: " + ((StorePermission)e.get_FirstPermissionThatFailed()).get_Flags()); return; } } //AddToStore // The following method is intended to demonstrate only the behavior of // StorePermission class members,and not their practical usage. // Most properties // and methods in this class are used for the resolution and enforcement // of security policy by the security infrastructure code. private static void ShowMembers() { Console.WriteLine("Creating first permission with Flags = OpenStore."); StorePermission sp1 = new StorePermission(StorePermissionFlags. OpenStore); Console.WriteLine("Creating second permission with Flags = AllFlags."); StorePermission sp2 = new StorePermission(StorePermissionFlags.AllFlags); Console.WriteLine("Creating third permission as Unrestricted."); StorePermission sp3 = new StorePermission(PermissionState.Unrestricted); Console.WriteLine("Creating fourth permission with a permission " + "state of none."); StorePermission sp4 = new StorePermission(PermissionState.None); boolean rc = sp2.IsSubsetOf(sp3); Console.WriteLine("Is the permission with complete store access " + "(AllFlags) a subset of \n" + "\tthe permission with an Unrestricted permission state? " + ((rc) ? "Yes" : "No")); rc = sp1.IsSubsetOf(sp2); Console.WriteLine("Is the permission with OpenStore access " + "a subset of the permission with \n" + "\tcomplete store access (AllFlags)? " + ((rc) ? "Yes" : "No")); rc = sp3.IsUnrestricted(); Console.WriteLine("Is the third permission unrestricted? " + ((rc) ? "Yes" : "No")); Console.WriteLine("Copying the second permission to the fourth " + "permission."); sp4 = (StorePermission)sp2.Copy(); rc = sp4.Equals(sp2); Console.WriteLine("Is the fourth permission equal to the second " + "permission? " + ((rc) ? "Yes" : "No")); Console.WriteLine("Creating the intersection of the second and " + "first permissions."); sp4 = (StorePermission)sp2.Intersect(sp1); Console.WriteLine("Value of the Flags property is: " + sp4.get_Flags().ToString()); Console.WriteLine("Creating the union of the second and first " + "permissions."); sp4 = (StorePermission)sp2.Union(sp1); Console.WriteLine("Result of the union of the second permission " + "with the first: " + sp4.get_Flags()); Console.WriteLine("Using an XML roundtrip to reset the fourth " + "permission."); sp4.FromXml(sp2.ToXml()); rc = sp4.Equals(sp2); Console.WriteLine("Does the XML roundtrip result equal the original " + "permission? " + ((rc) ? "Yes" : "No")); } //ShowMembers } //X509store2

System.Security.CodeAccessPermission
System.Security.Permissions.StorePermission


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StorePermission コンストラクタ (StorePermissionFlags)
アセンブリ: System (system.dll 内)



flag パラメータでは、X.509 ストアに対して許可されているアクセス権を指定します。許可されているアクセス権を指定すると、この指定はすべてのストアに適用されます。個別のストアにアクセス権を指定することはできません。

StorePermission コンストラクタと StorePermissionFlags パラメータを使用するコード例を次に示します。このコード例は、StorePermission クラスのトピックで取り上げているコード例の一部分です。
Console.WriteLine("Creating a permission with Flags = OpenStore.") Dim sp As New System.Security.Permissions.StorePermission(StorePermissionFlags.OpenStore)
Console.WriteLine("Creating a permission with Flags = OpenStore."); StorePermission sp = new StorePermission(StorePermissionFlags.OpenStore);
Console.WriteLine("Creating a permission with Flags = OpenStore."); StorePermission sp = new StorePermission(StorePermissionFlags.OpenStore);

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StorePermission コンストラクタ (PermissionState)
アセンブリ: System (system.dll 内)



アクセス許可オブジェクトでは、X.509 ストアに対して、完全に制限されたアクセス許可 (None) または無制限のアクセス許可 (Unrestricted) を指定します。アクセス許可が完全に制限されている (None) 場合、Flags プロパティを設定して、許可するアクセス権の型を指定できます。

StorePermission コンストラクタと PermissionState パラメータを使用するコード例を次に示します。このコード例は、StorePermission クラスのトピックで取り上げているコード例の一部分です。

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StorePermission コンストラクタ

名前 | 説明 |
---|---|
StorePermission (PermissionState) | 完全に制限されたアクセス許可状態か無制限のアクセス許可状態のいずれかを指定して、StorePermission クラスの新しいインスタンスを初期化します。 |
StorePermission (StorePermissionFlags) | アクセス権を指定して、StorePermission クラスの新しいインスタンスを初期化します。 |

StorePermission プロパティ
StorePermission メソッド


名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

StorePermission メンバ
X.509 証明書を格納しているストアへのアクセス権を制御します。このクラスは継承できません。
StorePermission データ型で公開されるメンバを以下の表に示します。




名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- StorePermissionのページへのリンク