C# - InternalsVisibleTo属性的安全问题

时间:2011-08-11 14:42:59

标签: c# .net security internalsvisibleto public-key

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

1 个答案:

答案 0 :(得分:4)

它与加密无关。 InternalsVisibleTo组件的强名称是一项艰难的要求。所有它证明的是,任何创建程序集的人都可以访问与您相同的秘密。私钥。有一个非常强大的保证,无论是谁修改组件或试图创建一个冒充组件,都无法提供相同的证据。如果没有访问该私钥,他们就无法以相同的方式签名。

这足以保证信任。如果您保护私钥。