宣言セキュリティを使用して、 StrongNameIdentityPermission のセキュリティ アクションをコードに適用できるようにします。このクラスは継承できません。
この型のすべてのメンバの一覧については、StrongNameIdentityPermissionAttribute メンバ を参照してください。
System.Object
System.Attribute
System.Security.Permissions.SecurityAttribute
System.Security.Permissions.CodeAccessSecurityAttribute
System.Security.Permissions.StrongNameIdentityPermissionAttribute
<AttributeUsage(AttributeTargets.Assembly Or AttributeTargets.Class _
Or AttributeTargets.Struct Or AttributeTargets.Constructor Or _
AttributeTargets.Method)>
<Serializable>
NotInheritable Public Class StrongNameIdentityPermissionAttribute Inherits CodeAccessSecurityAttribute
[C#]
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class
| AttributeTargets.Struct | AttributeTargets.Constructor |
AttributeTargets.Method)]
[Serializable]
public sealed class StrongNameIdentityPermissionAttribute : CodeAccessSecurityAttribute
[C++]
[AttributeUsage(AttributeTargets::Assembly |
AttributeTargets::Class | AttributeTargets::Struct |
AttributeTargets::Constructor | AttributeTargets::Method)]
[Serializable]
public __gc __sealed class StrongNameIdentityPermissionAttribute : public CodeAccessSecurityAttribute
[JScript]
public
AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class |
AttributeTargets.Struct | AttributeTargets.Constructor |
AttributeTargets.Method)
Serializable
class StrongNameIdentityPermissionAttribute extends CodeAccessSecurityAttribute
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
宣言の許容スコープは、使用する SecurityAction によって異なります。
この属性のキー文字列は、secutil.exe を実行することによって取得できます。詳細については、「 Secutil ツール (Secutil.exe) 」を参照してください。
セキュリティ属性によって宣言されたセキュリティ情報は、属性ターゲットのメタデータに格納され、実行時にシステムによってアクセスされます。セキュリティ属性は宣言セキュリティにだけ使用されます。強制セキュリティの場合は、対応するアクセス許可クラスを使用します。
使用例
[Visual Basic, C#, 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.
[C#]
[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.
[C++]
[assembly:StrongNameIdentityPermissionAttribute(SecurityAction::RequestMinimum,
PublicKey=S"00240000048000009400000006020000002400005253413100040000010001005"
S"38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5"
S"1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684"
S"5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4"
S"957a4f6e6ab36b9715ec57625904c6")];
//In C++, you must specify that you are using the assembly scope when making a request.
[Visual Basic, C#, C++] リンク時に呼び出し元のコードに StrongNameIdentityPermission を要求する方法を次の例に示します。コードは、指定した公開キーに対応する秘密キーを使用して、厳密な名前で署名されている場合にだけ実行されます。
<StrongNameIdentityPermissionAttribute(SecurityAction.Demand, _
PublicKey := "00240000048000009400000006020000002400005253413100040000010" & _
"00100538a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0" & _
"073c6bde51fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b" & _
"71ad39df36845b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142e" & _
"f714bfe604c41a4957a4f6e6ab36b9715ec57625904c6")> Public Class SampleClass
[C#]
[StrongNameIdentityPermissionAttribute(SecurityAction.Demand,
PublicKey="00240000048000009400000006020000002400005253413100040000010001005" +
"38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" +
"1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684" +
"5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" +
"957a4f6e6ab36b9715ec57625904c6")]
[C++]
[StrongNameIdentityPermissionAttribute(SecurityAction::Demand,
PublicKey=S"00240000048000009400000006020000002400005253413100040000010001005"
S"38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5"
S"1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684"
S"5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4"
S"957a4f6e6ab36b9715ec57625904c6")]
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Security.Permissions
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: Mscorlib (Mscorlib.dll 内)
参照
StrongNameIdentityPermissionAttribute メンバ | System.Security.Permissions 名前空間 | 属性を使用したメタデータの拡張 | StrongNameIdentityPermission | StrongNamePublicKeyBlob | StrongName | StrongNameMembershipCondition