2011-08-11 35 views
2

InternalsVisibleTo属性和强命名的程序集一起使用时是否存在任何安全问题?我知道以这种方式接收信息的程序集必须有私钥才能解密消息,并且在InternalsVisibleTo属性中,您可以用明文形式指定公钥。有人可能会改变InternalsVisibleTo属性中的程序集dll和公共密钥,以将内部函数共享到最初不打算共享的程序集?C# - InternalsVisibleTo属性的安全问题

+2

你在说什么“信息”?请记住,如果有人可以修改程序集,他们可以以完全信任模式运行整个程序,无论如何他们可以做任何他们喜欢的程序...... –

+1

“解密消息”?什么信息?这与消息传递无关...... –

+1

公钥被设计为公开可见的,因此名称。 –

回答

4

它与加密无关。 InternalsVisibleTo组件的强名称是一个很难的要求。它证明的一切就是,无论是谁创造了这个集会,都可以像你一样获得同样的秘密。私钥。有一个非常有力的保证,无论谁修改程序集或试图创建一个冒充程序集的人都不能提供相同的证明。无法访问该私钥而无法以相同方式对其进行签名。

这足以保证信任。只要你保护私钥。