将InternalsVisibleTo 属性与强名称程序集一起使用是否存在任何安全问题?据我了解,以这种方式接收信息的程序集必须具有私钥才能解密消息,并且在 InternalsVisibleTo 属性中以明文形式指定公钥。有人是否可以更改 InternalsVisibleTo 属性中的程序集 dll 和公钥,以将内部函数共享给最初不打算共享的程序集?
最佳答案
这与加密无关。 InternalsVisibleTo 程序集的强名称是一项硬性要求。它所证明的是,无论谁创建了该程序集,都可以像您一样访问相同的 secret 。私钥。有一个非常有力的保证,即任何修改程序集或尝试创建模拟程序集的人都无法提供相同的证明。如果无法访问该私钥,他们就无法以相同的方式对其进行签名。
这足以保证信任。前提是您保管好私钥。
关于C# - InternalsVisibleTo 属性的安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027877/