2012-12-04 11 views
6

特定のキーで署名されたアセンブリのみが使用できるようにアセンブリに制限を設ける必要があります。私は経験の浅いですが、誰がアセンブリを作成したのかを確認するのに役立ちます。したがって、このアセンブリに署名するだけで、すべての呼び出しアセンブリが署名されていることを保証することはできません。おそらく逆の場合があります。つまり、アセンブリに署名が付いている場合、それが依存するすべてのアセンブリに(同じキーによって)署名する必要があります。要件を満たす方法は何でしょうか?署名されていないアセンブリからアセンブリの使用を制限する

+1

このような意味ですか、http://blogs.msdn.com/b/shawnfa/archive/2004/06/07/150378.aspx? – V4Vendetta

答えて

4

PublisherIdentityPermissionAttributeを使用できます。

PublisherIdentityPermissionAttributeをMyClassクラスに適用すると、mycert.cer証明書で署名されたアセンブリのクラスのみがクラスを使用できます。あなたはSecurityAction.Demand

を配置する必要があり、コールスタックの上位は

使用

[PublisherIdentityPermission(SecurityAction.Demand, CertFile = "mycert.cer")] 
public class MyClass 

することができますように現在のアクセス許可オブジェクトによって指定されたアクセス権を 付与されていることが要求されるすべての発信者アセンブリレベルでも使用してアセンブリ全体を保護します(ただし、<NetFx40_LegacySecurityPolicy enabled="true"/>を設定しない限り、アセンブリレベルのセキュリティは.Net 4.0以降は機能しません)。

+0

リンクで返信しないでください。 OPの問題を解決するためにそれを使用する方法のいくつかの説明と例を挙げてください。 – Rawling

+0

@Rawling私は自分の答えを編集していました。 –

関連する問題