StrongNameIdentityPermissionAttribute クラス
アセンブリ: 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 StrongNameIdentityPermissionAttribute Inherits CodeAccessSecurityAttribute
[SerializableAttribute] [AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false)] [ComVisibleAttribute(true)] public sealed class StrongNameIdentityPermissionAttribute : CodeAccessSecurityAttribute
[SerializableAttribute] [AttributeUsageAttribute(AttributeTargets::Assembly|AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Constructor|AttributeTargets::Method, AllowMultiple=true, Inherited=false)] [ComVisibleAttribute(true)] public ref class StrongNameIdentityPermissionAttribute 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 StrongNameIdentityPermissionAttribute extends CodeAccessSecurityAttribute
SerializableAttribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false) ComVisibleAttribute(true) public final class StrongNameIdentityPermissionAttribute extends CodeAccessSecurityAttribute

宣言の許容スコープは、使用する SecurityAction によって異なります。
この属性のキー文字列は、secutil.exe を実行することによって取得できます。詳細については、「Secutil ツール (Secutil.exe)」を参照してください。
セキュリティ属性によって宣言されたセキュリティ情報は、属性ターゲットのメタデータに格納され、実行時にシステムによってアクセスされます。セキュリティ属性は宣言セキュリティにだけ使用されます。強制セキュリティの場合は、対応するアクセス許可クラスを使用します。
StrongNameIdentityPermissionAttribute 属性を使用すると、パブリック メンバにアクセスするための厳密な名前の要件をアセンブリ レベルで定義できます。.NET Framework Version 2.0 では、InternalsVisibleToAttribute 属性を使用して、アセンブリに含まれるパブリック以外のすべての型を、別のアセンブリに公開するように指定することもできます。詳細については、「フレンド アセンブリ (C# プログラミング ガイド)」を参照してください。

次の宣言属性の例では、StrongNameIdentityPermission を要求する正しい方法を示し、コードを実行するためには少なくともこのアクセス許可が必要であることを示します。コードは、指定した公開キーに対応する秘密キーを使用して、厳密な名前で署名されている場合にだけ実行されます。Name と Version が指定されていないため、この属性はすべての名前とバージョンに一致します。
<Assembly: StrongNameIdentityPermissionAttribute( SecurityAction.RequestMinimum, _ PublicKey := "00240000048000009400000006020000002400005253413100040000010" & _ "00100538a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0" & _ "073c6bde51fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b" & _ "71ad39df36845b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142e" & _ "f714bfe604c41a4957a4f6e6ab36b9715ec57625904c6")> 'In Visual Basic, you must specify that you are using the assembly scope when making a request.
[assembly:StrongNameIdentityPermissionAttribute(SecurityAction.RequestMinimum, PublicKey="00240000048000009400000006020000002400005253413100040000010001005" + "38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" + "1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684" + "5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" + "957a4f6e6ab36b9715ec57625904c6")] //In C#, you must specify that you are using the assembly scope when making a request.
[assembly:StrongNameIdentityPermissionAttribute(SecurityAction::RequestMinimum, PublicKey="00240000048000009400000006020000002400005253413100040000010001005" "38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" "activatede0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684" "5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" "957a4f6e6ab36b9715ec57625904c6")]; //In C++, you must specify that you are using the assembly scope when making a request.
/** @assembly StrongNameIdentityPermissionAttribute(SecurityAction. RequestMinimum, PublicKey = "00240000048000009400000006020000002400005253413100040000010001005" + "38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" + "1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684" + "5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" + "957a4f6e6ab36b9715ec57625904c6") */ // In VJ#, you must specify that you are using the assembly scope when making // a request.
呼び出し元コードに StrongNameIdentityPermission を要求する方法を次の例に示します。コードは、指定した公開キーに対応する秘密キーを使用して、厳密な名前で署名されている場合にだけ実行されます。
<StrongNameIdentityPermissionAttribute(SecurityAction.Demand, _ PublicKey := "00240000048000009400000006020000002400005253413100040000010" & _ "00100538a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0" & _ "073c6bde51fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b" & _ "71ad39df36845b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142e" & _ "f714bfe604c41a4957a4f6e6ab36b9715ec57625904c6")> Public Class SampleClass
[StrongNameIdentityPermissionAttribute(SecurityAction.Demand, PublicKey="00240000048000009400000006020000002400005253413100040000010001005" + "38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" + "1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684" + "5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" + "957a4f6e6ab36b9715ec57625904c6")]
[StrongNameIdentityPermissionAttribute(SecurityAction::Demand, PublicKey="00240000048000009400000006020000002400005253413100040000010001005" "38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" "activatede0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684" "5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" "957a4f6e6ab36b9715ec57625904c6")]
/** @attribute StrongNameIdentityPermissionAttribute(SecurityAction.Demand, PublicKey = "00240000048000009400000006020000002400005253413100040000010001005" + "38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" + "1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684" + "5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" + "957a4f6e6ab36b9715ec57625904c6") */

System.Attribute
System.Security.Permissions.SecurityAttribute
System.Security.Permissions.CodeAccessSecurityAttribute
System.Security.Permissions.StrongNameIdentityPermissionAttribute


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


- StrongNameIdentityPermissionAttribute クラスのページへのリンク