C# - InternalsVisibleTo 属性的安全问题

标签 c# .net security internalsvisibleto public-key

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

最佳答案

这与加密无关。 InternalsVisibleTo 程序集的强名称是一项硬性要求。它所证明的是,无论谁创建了该程序集,都可以像您一样访问相同的 secret 。私钥。有一个非常有力的保证,即任何修改程序集或尝试创建模拟程序集的人都无法提供相同的证明。如果无法访问该私钥,他们就无法以相同的方式对其进行签名。

这足以保证信任。前提是您保管好私钥。

关于C# - InternalsVisibleTo 属性的安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027877/

相关文章:

.net - 处置 Microsoft.Owin.Hosting.WebApp 抛出 'System.ObjectDisposedException'

http - Web 安全——如果在域外,HTTP-Location = HTTP-Referrer?为什么?

java - 重定向到 https 的不同域

c# - 我应该如何比较这些 double 以获得所需的结果?

c# - 基类库与.NET Standard 的关系

c# - 从嵌入式资源加载 Crystal Report

c# - 如何绑定(bind)到 .NET 中的编程属性?

python - 允许用户在 python 的 format() 中输入是否存在安全风险?

c# - 通过 SOS 调查 CLR

c# - WeakEventManager RemoveHandler 在异步调用时并不总是有效